Shell Flow

A shell flow is a special flow with only one page. The purpose of a shell flow is to define the shell page of an application, or of another flow. To make an application use a shell flow, you enter the id of the shell flow for the defaultPage property of the application. When you do this, the application will use the default page of the shell flow as the default page of the application:

{
  "applicationModelVersion": "18.2.3",
  "id": "flowDemo",
  "description": "An Application to demonstrate the use of flow",
  "defaultPage": "shellFlowId",
  ...
}

When using a flow for the default page, the flow id is not included in the URL. The flow id is hidden from the URL and from the path used for navigation.

Note:

Shell flows have the following limitations:

  • Only one page can be defined in a shell flow.
  • The page cannot make reference to artifacts such as variables or types defined in the shell flow metadata.

Defining the default flow of a shell

The default flow of a shell page is defined using the routerFlow property. The default flow can be defined externally by specifying a path in the defaultPage entry. This is so that the same shell flow can be re-used for multiple applications:

{
  "applicationModelVersion": "18.2.3",
  "id": "flowDemo",
  "description": "An Application to demonstrate the use of flow",
  "defaultPage": "shellFlow/crmFlow",
  ...
}

In the example above, the flow with the id "crmFlow" will be used as the default flow of the shell page.