DATA STRUCTURES

Creating WebApps from the CLI

6min

We are using 99 as an example WebApp ID in this doc. Depending on the WebApp ID that you'd like to use, replace 99 with the correct ID. Keep in mind that if you already have WebApps in the site you are working on then then some WebApp IDs may already be reserved.

WebApps in Siteglide rely on 3 different files to work correctly.

  1. JSON Structure - Used by Siteglide Admin and front-end to define structure of the WebApp with user-friendly names, and other UI metadata.
  2. Schema - Used to define the database structure itself
  3. Form Configuration - Used when submitting WebApp items front-end

There are 2 ways to create/edit a WebApp via CLI.

  1. Safest - Create/Edit the JSON structure file (marketplace_builder/views/partials/tables/webapps/99.liquid), and then in Siteglide Admin simply click 'Save' in the Table Builder view. This will generate a matching Form Configuration and Schema file.
  2. Most flexible - Create/Edit each of the 3 files manually. However, this relies on you keeping all 3 files in sync.

JSON Structure

This is used by Siteglide Admin to output WebApp field data with user-friendly names and other UI options (order, field type, etc.)

Location: marketplace_builder/views/partials/tables/webapps/99.liquid

Contents:

JSON


Please see the Field Types document for all the relevant types.

Schema File

This is what defines the database table structure, and how data will be stored. Location: marketplace_builder/custom_model_types/webapps/webapp_99.yml

Contents:

YAML


The above are all the default fields that are needed, the last field is an example of a standard text field. Please see the Field Types document for all the relevant types.

Form Configuration

This is used when submitting a WebApp item front-end. This file was also previously used to output WebApp structure data in Siteglide Admin, but that is now the job of the JSON structure file.

Location: marketplace_builder/form_configurations/webapps/webapp_99.liquid

Contents:

YAML


After both the above files are synced you will then need to refresh Siteglide Admin and your WebApp will appear under WebApps in the sites left hand menu

Layouts

If you need layouts for your WebApp, these will be saved to:

marketplace_builder/views/partials/layouts/webapps/webapp_99/detail/default.liquid

marketplace_builder/views/partials/layouts/webapps/webapp_99/list/default.liquid

Both files contain the following layout by default: <p>{{this['name']}}</p>