Manage public pages

Creating, updating, and deleting public pages.

Create a public page

Public pages can serve various different types of content, such as PDF files, images, static HTML content, and compiled content.

To create a new public page, do the following steps:

  1. Create a state.json alongside your content, in this format:
{
  "metadata": {
    "type": "PublicPage"
  },
  "source": ".",
  "name": "my-page-name"
}
  1. Deploy with the following command:
sked artifacts public-page upsert -f state.json

This will push your public page to your skedulo tenant, and it will be available at `https://.my.skedulo.com/pages/. See below for more information on viewing these URLs

Create compiled pages

Public pages can be NodeJS projects that get processed through Skedulo’s compiler. To achieve this, the project’s package.json must support the following commands:

  • yarn bootstrap
  • yarn build

The build output must go to a dist/ directory. All files in dist/ will become the content that is served publicly.

This is useful if you wish to create richer, unauthenticated experiences. For example you could create a single page application using ReactJS and serve it from your skedulo tenant. They can be used in conjunction with public functions to read or manipulate data in your tenant, or third party APIs to provide other functionality.

When your project is ready, run:

sked artifacts public-page upsert -f state.json

where state.json looks like:

{
  "metadata": {
    "type": "PublicPage"
  },
  "source": ".",
  "name": "my-page-name",
  "requiresCompilation": true
}

Update a public page

To make changes to a public page and publish them in your public content, run an upsert command in the CLI:

sked artifacts public-page upsert -f state.json

List public pages

To view a list of public pages that have been created in your team, run the following command:

sked artifacts public-page list

A list of the public pages and the public URL for each is returned.

Delete a public page

To delete a public page, run the following command:

sked artifacts public-page delete --name my-page-name

All files related to the public page will be removed, including the source and any compiled output.