Modules

Modules are a way to group related pages, similar to folders, in the Skuid user interface. Every page can be linked to a single module. Pages can then be filtered by module on the Pages screen or quickly bundled into page packs for deployment.

Modules are also useful for extending Skuid applications with code, or distributing Skuid pages in an AppExchange package.

Modules are listed in a sidebar under the Modules header on the left side of the Pages screen.

Note

  • The Skuid module contains pages necessary for Skuid, the managed package, to function. It is not meant to include user-created pages. You can’t make any changes to pages within the module.
  • Modules are only available on Skuid SFX.

Creating Modules

  1. From the Skuid navigation bar, click Pages.
  2. Click add beside the Modules list.
  3. Enter a name for the module.
  4. Click Create.

Within Salesforce setup

Because modules are stored as custom picklist fields, it’s also possible to create modules within Salesforce setup:

  1. In Salesforce Setup:
    • Classic: Navigate to Create > Objects.
    • Lightning: Navigate to the Object Manager.
  2. Click the Page object label.
  3. In the Custom Fields & Relationships (Classic) or Fields & Relationships (Lightning) section, click Module.
  4. In the Values section, click New.
  5. Enter the desired module name.
  6. Click Save.

Module Details

To access a module’s details, click the module’s name in the Modules sidebar. The Pages screen updates to show all pages associated with the selected module. Filter, search, and order by options are available here.

From here it’s possible to create new pages, which are then automatically assigned the selected module. It’s also possible to add existing pages to the module.

Assigning Pages to Modules

Pages can only be assigned to one module. If you assign a page to a new module, it’ll be removed from its previous one. You can assign a page to a module within the Pages screen or within the Composer.

In the Pages screen:

  1. Click the dots-vertical More Options icon on the page’s row.
  2. Click Edit module.
  3. Select the module to assign the page to.
  4. Click Save.

In the Composer:

  1. Open the page you wish to assign in the Composer.
  2. Within Page Properties, select the module within the Module picklist.
  3. Click Save.

In a module’s detail screen:

  1. Select a module from the Modules sidebar.
  2. Click Add.
  3. Click the checkbox beside all pages you wish to add.
    • Use filters, search, and order by options if needed.
  4. Confirm by clicking Add.

Loading JavaScript and CSS Resources by Module Name

If a page is associated with a module, Skuid automatically loads JavaScript and CSS static resources that match a certain naming format and application type:

  • <ModuleName>JS with MIME type text/javascript
  • <ModuleName>CSS with MIME type text/css

This can be a useful way to package up and distribute an application’s resources without having to explicitly call those resources on each Skuid page.

Skuid will not load a resource if there is a name/MIME type mismatch or if the static resource name does not exactly match the required naming convention. Skuid also only automatically loads JavaScript and CSS resources; other types of resources will not automatically load.

Examples

Using a module named ExampleModule, you could expect the following results:

  • A JavaScript file uploaded in a static resource named ExampleModuleJS would load.
  • A plain text file (even one containing JavaScript) uploaded in a static resource named ExampleModuleJS would not load.
  • A CSS file uploaded in a static resource named ExampleModuleCSS would load.
  • A CSS file uploaded in a static resource named ExampleModule_OtherText_CSS would not load.

Deploying Modules to Other Orgs

Because modules are picklist values on Skuid’s Page object, they will not automatically transfer to a new org when you move your pages. If a page is moved to an org where its module does not exist, it will function and retain its module information. However, you’ll still need to recreate missing modules in any orgs that you deploy to.

You can recreate modules manually or by deploying those picklist values in a change set. For more information about change sets, see Salesforce documentation.

(ISVs Only) Using Module Pages in Customer Orgs

Note

This section applies only to independent software vendors (ISVs) publishing a managed package that extends Skuid.

Because extension packages cannot add additional picklist values to a picklist owned by a base package, you’ll need to manually add your module’s name as a picklist value in whatever org your package is installed into.

For ISVs using Trialforce, all you have to do is to add your module name as a picklist value in your Trialforce template.