You are reading the documentation for an outdated Corteza release. 2024.9 is the latest stable Corteza release.

Pages

A page lets you interact with your application to manage the system and your data.

Each page consists of a series of page blocks (blocks) that let you define pages of arbitrary complexity while keeping it responsive and mobile friendly.

A page can be thought of as a view in a relational database.

Page types

Corteza defines two page types. The main difference is the context; which the system uses. Their definition via the page builder remain the same.

Record page

Record pages are used when viewing specific records. If you wish to interact with records, you need to create a record page for that module.

List page

List pages are used when viewing aggregated data from different sources. These can be used to implement simple record lists, or complicated dashboards consisting of multiple data sources.

Create a list page

To create a list page:
  1. navigate to the Corteza Low Code page and enter the namespace you wish to edit,

  2. click on the "Admin panel" in the top right corner,

  3. navigate to the "Pages" subpage,

  4. enter the page name and press the "Create" button,

  5. provide the page handle, a description and save the changes.

You can only define permissions for existing pages.

Create/edit a record page

To create a record page:
  1. navigate to the Corteza Low Code page and enter the namespace you wish to edit,

  2. click on the "Admin panel" in the top right corner,

  3. navigate to the "Modules" subpage,

  4. click on the "page builder" next to the module list, or click on the "Record page" button on the bottom of the module editor.

Edit a page

To edit an existing page:
  1. navigate to the Corteza Low Code page and enter the namespace you wish to edit,

  2. click on the "Admin panel" in the top right corner,

  3. navigate to the "Pages" subpage,

  4. click on the edit icon next to the page you wish to edit,

  5. update the data and save the changes.

To change the structure of your page, see the page builder section.

Delete a page

To delete an existing page:
  1. navigate to the Corteza Low Code page and enter the namespace you wish to delete,

  2. click on the "Admin panel" in the top right corner,

  3. navigate to the "Pages" subpage,

  4. click on the edit icon next to the page you wish to delete,

  5. press the "Delete" button on the bottom of the page and confirm the operation.

Page builder

Each page consists of a series of page blocks (blocks) that let you define pages of arbitrary complexity while keeping it responsive and mobile friendly.

The page builder defines a grid spanning over 12 columns. Add a page block by clicking on the "Add block" button on the bottom toolbar. The page block can be moved and resized on the grid mentioned above.

The grid is not limited in height.

Page blocks differ by the type and what page type they can be used on (see the page blocks section).

To enter the page builder:
  1. navigate to the Corteza Low Code page and enter the namespace you wish to edit,

  2. click on the "Admin panel" in the top right corner,

  3. navigate to the "Pages" subpage,

  4. click on the "Page builder" next to the page you wish to edit, or from the page editor screen.

When finished, click on the "Save" or the "Save and close" button on the bottom right of the toolbar.

Discard your changes by clicking on the "Back (without saving changes)" on the bottom left of the toolbar.

Page blocks

Content

A content page block is used to contain some static content, such as an important announcement, help text, or some contact information.

Metric

Metric page blocks display some calculated number based on the data in your namespace.

You can use metric page blocks to show things like the total number of leads or the months' revenue.

Configuration options:
Label

Metric label specifies what the metric shows; this is not visible to the user.

Dimension module

Dimension module specifies what module will be used as a data source.

Dimension filter

The dimension filter allows you to filter the data source to include only the records you wish to have.

Metric field

Metric field specifies what field will be used to calculate the metric. This can be one of the numeric fields or the general record count.

Metric aggregation operation

Metric aggregation operation specifies how the value is generated. You can pick one of the count, sum, max, min, or avg functions.

Metric transform value

Metric transform value specifies how the calculated value is transformed before displayed to the user. You can implement things like rounding, and percentage calculations. See some examples.

Metric number format

Metric number format specifies how to format the final result. See Numeral.js for available number formatting options.

Metric prefix

Metric prefix specifies the prefix to be used when displaying the final result.

Metric suffix

Metric suffix specifies the suffix to be used when displaying the final result.

Style

The style section specifies how to style the metric when showing it to the user.

Chart

A chart page block allows you to show your charts on the page. Refer to [data-model-charts] for more details.

Social media feed

Currently, only Twitter feeds are supported.

Social media feed page blocks let you embed content from different social media platforms.

This can help you keep up with the client’s latest updates.

When you use a social media feed within a record page, the source can be defined by a module field.

Record

This page block type is only available for record pages.

Record page blocks let you access and change data related to a specific record.

You can define multiple record page blocks for a nicer field grouping.

For example, you can put contact-related information in one block, shipping-related information in another, and so on.

When selecting fields, you can rearrange these by dragging them around.

Record list

Record list page blocks display the contents of a module as a table. Record lists also provide a way of adding new, and editing or removing existing records.

You can trigger explicit automation scripts within the record list’s header. Click the "Automation" tab to select the automation scripts.

Configuration options:
Module

The module specifies what module will be used as a data source.

Hide the add record button

Hide the "Add" button; disabling the ability to add new records from this record list.

Allow inline record editing

Inline record editing is only available in record pages. It lets you edit, add, or remove records from the child record list when editing a parent record. Imagine a quote as a parent record, and a record list of quote line items as a child record list.

Prefilter records

Prefiltering allows you to filter the data source to include only the records you wish to have. See some examples.

Hide search box

Disables the search box.

Presort records

Presorting allows you to specify the initial sorting. Use standard SQL syntax. See some examples.

Hide paging

Hides the record list paging section.

Allow records export

Allow records export show an "Export" button on the record list to export your data.

Enable record selection

Enables record selection by providing a selection checkbox next to each row.

When using the search box on the record list, the system only includes the selected fields.

DevNote: move this somewhere else?

Automation

An automation page block allows your users to trigger explicit automation scripts.

When specifying what buttons to show, you are also able to set the label and the button variant.

Refer to the extensions section for details.

If you can’t see your automation scripts:
  • make sure there were no compilation errors,

  • you refreshed your page after you’ve added the scripts,

  • the trigger defined a .uiProp('app', 'compose') constraint.

Calendar

A calendar page block lets you show records on a calendar.

Supported calendar views:
  • month view,

  • week view,

  • day view,

  • agenda view.

Record event source uses a module as the data source, where each record specifies event parameters; the label, start, and end dates.

Calendar event sources enable pre-filtering.

DevNote: link QL; enable value interpolation?

Reminder event source uses your system reminders as the data source, where each reminder specifies event parameters; the label, start, and end dates.

File

A file page block is used to contain a set of files (attachments), such as TOS, schedule, or a brochure.

Record organizer

Record organizer page blocks let you define a series for columns (stages) that a record is in.

Imagine a kanban board — you can build one with record organizers.

The columns define a drag 'n drop interface.

DevNote link to QL.

IFrame

An iframe page block is used to embed some external website inside your application.

Make sure to keep any iframe embedding limitation in mind; we are no exception.

Navigation

You can freely define your page hierarchy by reordering your pages in the page tree. The page order and the nesting defines the navigation structure.

To change the navigation:
  1. navigate to the Corteza Low Code page and enter the namespace you wish to edit,

  2. click on the "Admin panel" in the top right corner,

  3. navigate to the "Pages" subpage,

  4. drag and drop your pages to define the order; the order is automatically updated

Create a subpage (nesting), by dragging the page into another page.

Permissions for all pages

Read any page

Determines if the role is allowed to see any Corteza Low Code page.

Update any page

Determines if the role is allowed to update any Corteza Low Code page.

Delete any page

Determines if the role is allowed to delete any Corteza Low Code page.

Permissions for a specific page

Read page "(page title)"

Determines if the role is allowed to access the given page of the namespace.

Update page "(page title)"

Determines if the role is allowed to update the page of the given namespace.

Delete page "(page title)"

Determines if the role is allowed to delete the page of the given namespace.