Note
WebApp Builder is currently in preview and under development; some components, properties, and sub-properties in the WebApp Definition may be incomplete or subject to change.
This article serves as a reference document to work with WebApp Definition when building WebApps using both form-based UI and Advanced mode. The WebApp Definition framework follows a hierarchical configuration structure that organizes UI components and their behaviors through JSON-based definitions. This framework provides a consistent pattern for defining both simple and complex multi-component construct pages, allowing for rapid changes to layout, behavior, and datastore connections by modifying the WebApp Definition.
In the WebApp Builder, use the left navigation panel to quickly navigate to different components involved in configuring a WebApp.
Tip!
For better reading experience and quicker navigation within this article, collapse the Article Navigation panel on the left side and keep the headers in the Table of Contents panel expanded on the right side.
WebApp Component
The WebApp component (webapps: array) defines a group of related pages within the application.
This component contains the following properties:
Field/Property (Name: Type) | Description | Supported Values/Notes |
|---|---|---|
name: string | Name of the WebApp | Enter a name within length constraints. maxLength: 50 |
abbreviation: string required | WebApp’s abbreviation to be displayed in the WebApp card on the Construct Preview’s home page. | Supports up to three alphanumeric characters. maxLength: 3 |
description: string required | WebApp’s description displayed within the WebApp card on the Construct Preview’s home page. | Enter a description within length constraints. maxLength: 256 |
datastore: string | SKP Datastore Name (or id) for this webapp. Datastores are configured in the Syniti Knowledge Platform’s (SKP) Data Catalog module. Refer to Datastores for more information. | Enter the Datastore’s name. maxLength: 250 |
dictionaries: array | Allows for translating phrases like column names within pages. | Array of |
menus: array | Configuration for the navigation menu within a WebApp | Array of |
top_level_menu_name: string | Reference to the menu name as the top level menu for the WebApp | Enter the primary menu name within length constraints to organize your WebApp’s menu structure. maxLength: 50 |
webapp_groups: array | Defines the user permissions to pages within the WebApp | Array of |
pages: array | Defines the configuration for pages within a WebApp | Array of |
Dictionary Component
Dictionaries (dictionaries: array) are used to translate columns displayed on the Construct pages.
This component contains the following properties:
| Field/Property (Name: Type) | Description | Supported Values/Notes |
|---|---|---|
| dictionary: string required | Dictionary used for translating phrases. Dictionaries are configured in the SKP’s Admin module. Refer to Field Translations for more information. | Enter the Dictionary’s name. maxLength: 250 |
| ordinal: integer | Determines dictionary’s priority | Any integer default: 0 |
Menu Component
WebApp Menu (webapp_menus: array) provide a method to move around within the WebApp or access other links as needed from your WebApp and on the WebApp’s landing page card.
This component contains the following properties:
Field/Property (Name: Type) | Description | Supported Values/Notes |
|---|---|---|
sub_menu: array | Enables to create submenus | Array of |
menu_link: array | Navigation menu links | Array of |
Submenu Component
Use Submenu (sub_menu: array) to create submenus for your WebApp.
Field/Property (Name: Type) | Description | Supported Values/Notes |
|---|---|---|
ordinal: integer | Controls the display order of a menu link in the WebApp menu. | Any integer. default: 0 |
label: string | Label of the submenu that appears in the WebApp Menu. | Enter the submenu name. maxLength: 50 |
menu_links: array | Navigation menu links | Array of |
Menu Link Component
Use menu links (menu_links: array) to create links. One of "link_to_page_name" or "link_to_url" must be specified.
This component contains the following properties:
Field/Property (Name: Type) | Description | Supported Values/Notes |
|---|---|---|
ordinal: integer | Controls the display order of a menu link in the WebApp menu and on the WebApp’s landing page card. | Any integer. default: 0 |
label: string | Label of the menu link that displayed in the WebApp menu and on the WebApp’s landing page card. | Enter a name to reference the required construct page. maxLength: 50 |
is_pill: boolean | Enabling this toggle allows you to display this menu link as a pill on the WebApp’s landing page card. | true, false; default: false |
is_default_link: boolean | Enabling this toggle allows you to set this menu link as the default landing page for the WebApp. | Only one menu link can be set as a default link. true, false; default: false |
link_to_page_name: string | Page to navigate to when clicked | Enter the name of the Construct page. maxLength: 50 |
link_to_url: string | A trusted URL or a URL within the SKP to navigate to | Enter the correct URL. maxLength: 255 |
WebApp Group Component
WebApp Groups (webapp_groups: array) defines user permissions to pages within the WebApp.
This component contains the following properties:
| Field/Property (Name: Type) | Description | Supported Values/Notes |
|---|---|---|
| name: string required | Name of the webapp group | Enter a name within length constraints. maxLength: 50 |
| allow_select: boolean | Whether a user can view all pages within the WebApp by default | true, false default: false |
| allow_insert: boolean | Whether a user can add records on all pages within the WebApp by default | true, false default: false |
| allow_update: boolean | Whether a user can update records on all pages within the WebApp by default | true, false default: false |
| allow_delete: boolean | Whether a user can delete records on all pages within the WebApp by default | true, false default: false |
| security_profile: string | Users assigned to this security profile will be granted the permissions. Refer to Security Profiles for more information. | Enter the name of the security profile. maxLength: 250 |
| webapp_group_pages: array | Define permissions for users at the page level; Overrides permissions set at the WebApp level for that specific page. | Array of webapp_group_pages objectsSee WebApp Group Pages component to enter values for this property |
WebApp Group Pages Component
WebApp Group Pages (webapp_group_pages: array) defines permissions for specific pages within a WebApp group.
This component contains the following properties:
| Field/Property (Name: Type) | Description | Supported Values/Notes |
|---|---|---|
| page_name: string | Reference to the specific page that security permissions will be applied to | Enter the name of the Construct page maxLength: 50 |
| allow_select: boolean | Whether the user can view a specific page | true, false default: true |
| allow_insert: boolean | Whether the user can insert records on a specific page | true, false default: true |
| allow_update: boolean | Whether the user can update records on a specific page | true, false default: true |
| allow_delete: boolean | Whether the user can delete records on a specific page | true, false default: true |
Page Component
Pages (pages: array) define the configuration for your WebApp with multiple construct pages.
This component contains the following properties:
| Field/Property (Name: Type) | Description | Supported Values/Notes |
|---|---|---|
| name: string required | Name of the Page | Enter a name within length constraints. maxLength: 50 |
| dictionary: string | SKP dictionary used for translating phrases for this page | Enter the Dictionary’s name. maxLength: 250 |
| containers: array | Containers define the layout of the page | Array of container objects. See Container types to configure required structure for your construct page |
Container Types
A page can contain different types of containers (containers: array) that defines the structure and flow of your construct pages. A container is a base layer that holds other containers, grids, or form-style properties_cards.
This component contains the following properties:
| Field/Property (Name: Type) | Description | Notes |
|---|---|---|
| container: object | Used to specify a container for page layout | See container_base properties |
| grid: object | Displays a grid on the page | See container_base and grid properties |
| properties_card: object | Displays a properties card on the page | See container_base and properties_card properties |
| tab_container: object | Displays a tabs container on the page | See container_base |
| pie_chart: object | Displays a pie chart on the page. Changing the inner_radius value greater than zero will create a donut chart | See container_base and Pie chart properties |
| line_chart: object | Displays a line chart on the page | See container_base and Line chart properties |
| bar_chart: object | Displays a bar chart on the page | See container_base and Bar chart properties |
| card_chart: object | Displays a card chart on the page | See container_base and Card chart properties |
Container Base Properties
Both container (container: object) and tab_container (tab_container: object) have the same properties since they both inherit from Container Base without any additional properties. The difference is in their functionality - a tab_container organizes child containers (with a tab_label property) as tabs, while a regular container is a basic layout element housing grid and/or properties_card.
The following properties are general for container types mentioned above:
Field/Property (Name: Type) | Description | Supported Values/Notes |
|---|---|---|
name: string | Name of the Container | Enter a container or tab container name within length constraints using the naming convention:
maxLength: 50 |
parent_layout_container_name: string | Name of the parent container used for page layout. Allows you to link child containers to a parent container. | Any valid container name. maxLength: 50 |
ordinal: integer | Allows ordering the containers | default: 0 |
gap: number | The gap between containers or fields on a property card | minimum: 0, default: 1 |
padding: number | Adjusts the padding inside of the container | minimum: 0, default: 0 |
size_units: enum | Units that are used to compute the size of a container | * Pixels Default: GrowRatio |
size_unit_value: number | Value of the units that are used to compute the size of a container | minimum: 0, default: 1 |
layout: enum | Specifies how the containers flow within the page | * FlowHorizontal: Side-by-side display |
display_mode: enum | Configures the display mode | * Card: Displays content in a card-style layout. Default mode for Grid and Properties Card (Form). |
title: string | Label that is displayed on the top of the container | Any string within length constraints. maxLength: 50 |
alignment: enum | Controls the alignment for placing the container | * Start |
tab_label: string | Label displayed as the tab name for a container. Use this property only when a container needs to be included in a tab container. | Any string within length constraints. maxLength: 50 |
Grid Properties
These are the properties that grid (grid: object) has in addition to all container_base properties:
| Field/Property (Name: Type) | Description | Supported Values/Notes |
|---|---|---|
| parent_binding_container_name: string | Name of the parent grid/form container type for data binding. Allows you to link between grids. | Enter the name of the grid/form container. maxLength: 50 |
| display_fields_in_dataset_by_default: boolean | Displays the complete dataset columns by default | true, false default: false |
| columns: array | Controls how columns display within the grid | Array of column objects See Column component to enter values for this property |
| container_bindings: array | Controls binding between containers | Array of container binding objects See Container Binding component to enter values for this property |
| data_frame: object | Specifies the source of data; overrides page level datastore, dataset, and security information for this container | Array of data frame objects See Data Frame component to enter values for this property |
| events: array | Configure events on button clicks or when saving the WebApp to run background or foreground events | Array of event objects See Event component to enter values for this property |
Properties_Card Properties
These are the properties that Properties Card (properties_card: object) or form-style display has in addition to all container_base properties:
| Field/Property (Name: Type) | Description | Supported Values/Notes |
|---|---|---|
| parent_binding_container_name: string | Name of the parent grid/form container type for data binding. Allows you to link between grid and the properties_card. | Enter the name of the grid/form container. maxLength: 50 |
| inline: boolean | Display values next to their fields. | true, false default: false |
| display_fields_in_dataset_by_default: boolean | Displays the complete dataset columns by default | true, false default: false |
| properties: array | Controls how columns display on the form | Array of column objects See Column component to enter values for this property |
| container_bindings: array | Controls binding between grid/form containers | Array of container binding objects See Container Binding component to enter values for this property |
| data_frame: object | Specifies the source of data; overrides page level datastore, dataset, and security information for this container | Array of data frame objects See Data Frame component to enter values for this property |
| events: array | Configure events on button clicks or when saving the WebApp to run background or foreground events | Array of event objects See Event component to enter values for this property |
Charts
Chart components serve as specialized visualization containers designed to transform raw data into meaningful visual representations for enhanced data comprehension and decision-making. You can use these visualization tools to present complex datasets in accessible formats, enabling stakeholders to identify trends, patterns, and insights.
The chart component integrates seamlessly with the WebApp's dataset, allowing WebApp developers to create dynamic, interactive visualizations that respond to real-time data changes. These components facilitate the construction of dashboards, analytical reporting interfaces that meet diverse requirements.
Refer to Visualize Data Using Charts for more information.
Pie Chart Component
The pie chart component renders data as circular segments, where each segment represents a proportional part of the whole dataset, supporting customizable features including arc link labels, legends, configurable radius settings for donut chart creation, and precise angle controls for segment positioning.
This visualization type excels at communicating composition relationships and percentage-based comparisons, making complex proportional data immediately comprehensible to stakeholders.
Field/Property (Name: Type) | Description | Supported Values / Notes |
|---|---|---|
Container base properties | See container_base properties | All base container layout and display properties |
data_frame: object | Specifies the source of data for the chart | See Chart Data Frame |
label_field: string | Field from the dataset used to render the labels | maxLength: 128 |
value_field: string | Field from the dataset used to render numeric values | maxLength: 128 |
enable_arc_link_labels: boolean | Controls whether the arc link labels display on pie | default: true |
legend: boolean | Controls whether the legend displays on the chart | default: true |
value_unit: string | Unit of measure that displays next to chart values | maxLength: 20 |
inner_radius: number | Setting inner radius greater than 0 creates a donut chart | minimum: 0, maximum: 0.95, default: 0 |
start_angle: integer | Defines the starting angle of the pie chart | minimum: -180, maximum: 360, default: 0 |
end_angle: integer | Defines the ending angle of the pie chart | minimum: -360, maximum: 360, default: 360 |
pad_angle: integer | Defines padding angle between slices of pie | minimum: 0, maximum: 45, default: 1 |
columns: array | Controls how the fields on the chart will be displayed | See Chart Column properties |
link_to_page_name: string | Name of the construct page name to navigate when clicked. | maxLength: 50 |
link_to_page_new_tab: boolean | Controls whether to open the chart link in a new browser tab. | default: false |
link_to_page_bindings: array | Controls the page binding criteria for the chart | See Page Binding Component properties |
Line Chart Component
The line chart component displays data points connected by continuous lines across defined categories, enabling trend visualization over time or sequential data relationships while incorporating configurable axes titles, legend controls, and categorical grouping capabilities for multi-series data representation.
You can employ line charts to track performance metrics over time, monitor key performance indicators (KPIs), and analyze trends. This visualization type is essential for tracking trends using data quality metrics and correlation patterns within temporal datasets.
Field/Property (Name: Type) | Description | Supported Values/Notes |
|---|---|---|
Inherits from container_base | See container_base properties | All base container layout and display properties |
data_frame: object | Specifies the source of data for the chart | See Chart Data Frame properties |
category_field: string | Field from the dataset that groups the data using legends | maxLength: 128 |
label_field: string | Field from the dataset used to render x-axis labels | maxLength: 128 |
value_field: string | Field from the dataset used to render y-axis values | maxLength: 128 |
x_axis_title: string | Text to display for the x-axis title | maxLength: 100 |
y_axis_title: string | Text to display for the y-axis title | maxLength: 100 |
legend: boolean | Controls whether the legend displays on the chart | default: true |
value_unit: string | Unit of measure displayed next to the values | maxLength: 20 |
columns: array | Controls how the fields on the chart will be displayed | See Chart Column properties |
link_to_page_name: string | Name of the construct page name to navigate when clicked. | maxLength: 50 |
link_to_page_new_tab: boolean | Controls whether to open the chart link in a new browser tab. | default: false |
link_to_page_bindings: array | Controls the page binding criteria for the chart | See Page Binding Component properties |
Bar Chart Component
The bar chart component presents data through rectangular bars where length corresponds to data values, supporting both horizontal and vertical orientations while enabling categorical grouping, axis customization, and multi-series comparisons through integrated legend functionality.
You can use bar charts to compare discrete categories, benchmark quality across datasets, analyze results, and present ranking information. This visualization format facilitates immediate value comparisons and supports data-driven discussions by making quantitative differences visually apparent and easily interpretable.
Field/Property (Name: Type) | Description | Supported Values/Notes |
|---|---|---|
Inherits from container_base | See container_base properties | All base container layout and display properties |
data_frame: object | Specifies the source of data for the chart | See Chart Data Frame properties |
category_field: string | Field from the dataset that groups the data associated with a given bar on x-axis | maxLength: 128 |
label_field: string | Field from the dataset used to render the label associated with a bar segment, which appears on legends. | maxLength: 128 |
value_field: string | Field from the dataset used to render the numeric value associated with a bar segment on y-axis | maxLength: 128 |
x_axis_title: string | Text to display for the x-axis title | maxLength: 100 |
y_axis_title: string | Text to display for the y-axis title | maxLength: 100 |
legend: boolean | Controls whether the legend displays on the chart | default: true |
value_unit: string | Unit of measure that displays next to the values on the chart | maxLength: 20 |
columns: array | Controls how the fields on the chart will be displayed | See Chart Column properties |
link_to_page_name: string | Name of the construct page name to navigate when clicked. | maxLength: 50 |
link_to_page_new_tab: boolean | Controls whether to open the chart link in a new browser tab. | default: false |
link_to_page_bindings: array | Controls the page binding criteria for the chart | See Page Binding Component properties |
Card Chart Component
The card chart component displays key metrics and values in a simplified, card-based format with customizable header text, display values, and color-coded intent indicators, focusing on presenting single or limited data points with maximum visual impact.
You can use card charts to create high-level dashboard summaries, monitor critical business metrics at a glance, and establish KPI displays. This visualization type supports rapid decision-making by presenting essential information in an immediately digestible format that eliminates analytical complexity.
Field/Property (Name: Type) | Description | Supported Values/Notes |
|---|---|---|
Inherits from container_base | See container_base properties | All base container layout and display properties |
data_frame: object | Specifies the source of data for the chart | See Chart Data Frame properties |
header_text_field: string | Field from the dataset used to render the chart header text | maxLength: 128 |
display_text_field: string | Field from the dataset used to render the chart display text | maxLength: 128 |
display_text_intent: string | Controls the color of the display text | Currently supported colors:
Default: Primary |
columns: array | Controls how the fields on the chart will be displayed | See Chart Column properties |
Chart Data Frame Component
Chart Data Frame (chart_data_frame: array) is simplified and only includes basic data source configuration. It does not include operation support flags (support_delete, support_insert, support_update) since charts are read-only. It is focused specifically on providing data for visualization components.
| Field/Property (Name: Type) | Description | Supported Values/Notes |
|---|---|---|
| datastore: string | SKP Datastore Name (or id) for this container | maxLength: 250, Overrides webapp level datastore |
| dataset: string required | SKP dataset for the data used for this container | Name of the Dataset in the SKP Catalog, maxLength: 250 |
Chart Column Component
Chart Column (column: array) is much simpler with only basic identification and sorting properties. Read the following notes to remember when configuring columns or fields for charting purpose:
Does not include complex field types (list box, text field, etc.) or UI configuration options
No grid-specific properties like visibility, filtering, or resizing
No validation or interaction properties like required fields or page linking
Purely focused on data presentation and basic sorting for chart visualization
| Field/Property (Name: Type) | Description | Supported Values/Notes |
|---|---|---|
| name: string required | The field name from the dataset | maxLength: 128 |
| sort_mode: string | Used with sort_priority to configure the default column sort order | Supported Values:
|
| sort_priority: integer | Used with sort_mode to configure the default column sort order | default: 0 |
Column Component
The Column (for both columns: array and properties: array) component supports the field types below for displaying and interacting with data.
| Field/Property (Name: Type) | Description | Notes |
|---|---|---|
| list: object | Displays a list box | Dropdown selection field. See Column Base and List Box Type properties |
| date: object | Displays a date field | Date picker. See Column Base properties |
| time: object | Displays a time field | Time picker. See Column Base properties |
| datetime: object | Displays a datetime field | Date and time picker. See Column Base properties |
| text: object | Displays a text field | Text input. See Column Base and Text Type properties |
| number: object | Displays a number field | Numeric input. See Column Base and Number Type properties |
| checkbox: object | Displays a checkbox field | Boolean checkbox. See Column Base properties |
| toggle_switch: object | Displays a toggle switch | Boolean toggle. See Column Base properties |
| text_area: object | Displays a text area field | Multi-line text input. See Column Base properties |
| button: object | Displays a button field | Button control. See Column Base and Button Type properties |
Column Base Properties
All column types inherit these common properties.
Note
The following column types inherit all the properties (with no additional properties) in the table below:
Date
Time
Datetime
Checkbox
Toggle Switch
Text Area
Default
Field/Property (Name: Type) | Description | Supported Values/Notes |
|---|---|---|
name: string | The column or property name | Enter the name of the column from your dataset to display in grid/form. maxLength: 128 |
ordinal: integer | Specifies order of columns within a container | Any integer |
control_status: enum | Controls the availability of the column when switching between edit/insert mode | * Disabled - Display only, no updates |
required: boolean | Is the column required for add/update | true, false |
default_value: string | Default value when adding records | A value (matching the field’s data type) to be used as default. maxLength: 50 |
placeholder_text: string | Text displayed when column is empty | Any string within length constraints. maxLength: 255 |
is_hidden_on_grid_by_default: boolean | Controls column visibility by default | true, false |
is_key: boolean | Specifies if column is a key field | true, false |
sortable: boolean | Specifies if column is sortable | true, false |
filterable: boolean | Specifies if column is filterable | true, false |
resizable: boolean | Specifies if column is resizable | true, false |
width_flex_grow: boolean | Controls if column grows based on content | true, false |
sort_mode: enum | Configures default column sort order | * Ascending |
sort_priority: integer | Priority for sort operation. Used with Sort Mode to configure default order | Any integer |
direct_update: boolean | Allows direct updates when grid/form is in display mode | true, false |
List Box Type Properties
The List (list: object) column type inherits all column base field properties plus:
| Field/Property (Name: Type) | Description | Supported Values/Notes |
|---|---|---|
| dataset: string | Source of list box data. The source can be a table or view | Enter the dataset name or dataset ID. maxLength: 35 |
| value_field: string | List value field from dataset | Specify the dataset field used as the value behind the scenes (e.g., ID or code). maxLength: 128 Example: country_code → US, FR, DE. |
| display_field: string | List display field from dataset | Specify the dataset field shown to the user (readable and user-friendly). maxLength: 128 Example: country_name → United States, France, Germany. |
| link_to_page_name: string | Specify the Page to navigate on click | A valid page name. maxLength: 50 |
| display_text: string | Text for linked field display | Field name to view related data in a separate page. maxLength: 128 |
| link_to_page_bindings: array | Binding criteria for linking pages | Array of page_binding objectsSee Page Binding component to enter values for this property |
| filters: array | Run-time filters that constrain rows returned to the list box | Array of filter objectsSee List Filter component to enter values for this property |
List Filter Properties
List Filter (filters: array) allows you to implement dependent list fields that constrain the records returned to the required list fields. For example, you may want to restrict the values of the State and City columns based on the value of the Country column. You can also implement multiple filtering conditions using the field_value property.
| Field/Property (Name: Type) | Description | Supported Values/Notes |
|---|---|---|
| ordinal: integer | Order of the filter | Determines filter execution order. minimum: 0 |
| field_name: string | Column in the same grid or properties_card whose value will be compared | Reference column for dynamic filtering. For example, Country. maxLength: 128 |
| field_value: string | Constant value that will be compared | Static value for filtering. For example, United States. maxLength: 250 |
| list_filter_field: string | Column in the list's dataset that is being compared | Target column in the list's dataset. For example, Country. maxLength: 128 |
| comparison_operator: string | Comparison operator | Must be one of the following supported operator values:
|
Text Type Properties
The Text (text: object) column type inherits all column base field properties plus:
| Field/Property (Name: Type) | Description | Supported Values/Notes |
|---|---|---|
| link_to_page_name: string | Specify the Page to navigate on click | A valid page name. maxLength: 50 |
| display_text: string | Text for linked field display | Field name to view data related to it in a separate page. maxLength: 128 |
| link_to_page_bindings: array | Binding criteria for linking pages | Array of page_binding objectsSee Page Binding component to enter values for this property |
Number Type Properties
The Number (number: object) column type inherits all column base field properties plus:
| Field/Property (Name: Type) | Description | Supported Values/Notes |
|---|---|---|
| link_to_page_name: string | Specify the Page to navigate on click | A valid page name. maxLength: 50 |
| display_text: string | Text for linked field display | Field name to view data related to it in a separate page. maxLength: 128 |
| link_to_page_bindings: array | Binding criteria for linking pages | Array of page_binding objectsSee Page Binding component to enter values for this property |
Button Type Properties
The Button (button: object) column type inherits all column base field properties plus:
| Field/Property (Name: Type) | Description | Supported Values/Notes |
|---|---|---|
| display_text: string | Text to display on the button | Enter a button name. maxLength: 128 |
| link_to_page_name: string | Specify the Page to navigate on click | A valid page name. maxLength: 50 |
| link_to_page_bindings: array | Binding criteria for linking pages | Array of page_binding objectsSee Page Binding component to enter values for this property |
Page Binding Component
Page Binding (link_to_page_bindings: array) defines how data is passed between pages when navigating through links. Either "source_column" or "source_value" must be specified.
Note
Page bindings pass data values from the source page to the target page, allowing for filtered views or pre-populated forms when navigating between pages.
| Field/Property (Name: Type) | Description | Supported Values/Notes |
|---|---|---|
| name: string required | Specifies the unique binding name for the page link | Enter a name for binding. maxLength: 256 |
| source_column: string | Specifies the source column in the current page | Enter source column name from your dataset. maxLength: 128 |
| source_value: string | Specifies the source value in the current page | Specify the value or the actual record of the source column. maxLength: 255 |
| target_column: string required | Specifies the target column in the linked page | Enter target column name from your dataset. maxLength: 128 |
| container_name: string | Specifies the container name in the linked page | Enter the name of the grid or form container. maxLength: 50 |
Container Binding Component
Container Binding (container_bindings: array) controls the binding between two containers. Either source_column or source_value must be specified.
| Field/Property (Name: Type) | Description | Supported Values/Notes |
|---|---|---|
| source_column: string | Specifies the source column in the parent binding container | Enter source column name from your dataset. maxLength: 128 |
| source_value: string | Specifies a fixed source value | Specify the value or actual record of the source column. maxLength: 255 |
| target_column: string required | Specifies the target column in this container | Enter target column name from your dataset. maxLength: 128 |
Data Frame Component
A Data Frame (data_frame: object) specifies the source of data for containers.
| Field/Property (Name: Type) | Description | Supported Values/Notes |
|---|---|---|
| dataset: string required | SKP dataset for the data used for this container | Enter the Dataset's name. maxLength: 35 |
| datastore: string | SKP Datastore Name (or id) for this webapp. Datastores are configured in the Syniti Knowledge Platform’s (SKP) Data Catalog module. Refer to Datastores for more information. | Enter the Datastore’s name. maxLength: 250 |
| support_delete: boolean | Provides delete access to the grid/form | true, false default: true |
| support_insert: boolean | Provides add or insert access to the grid/form | true, false default: true |
| support_update: boolean | Provides edit access to the grid/form | true, false default: true |
Event Component
Construct Events (events: array) are actions that contain validation rules, business rules, or both. Validation rules run first and validate data before executing any rules. Business rules run after validation rules complete and perform an action. They can be incorporated into each page or for a specific field triggering an action or event.
| Field/Property (Name: Type) | Description | Supported Values/Notes |
|---|---|---|
| event_name: string | Name of the event | Enter a name that matches the field where this event will be linked. maxLength: 128 |
| pre_message: string | Confirmation message before running | Enter a pre-message text. maxLength: 2000 |
| post_message: string | Message after event completion | Enter a post-message text. maxLength: 2000 |
| active: boolean | Enable/disable event triggering | true, false. default: true |
| comment: string | Description or purpose of the event | Enter a comment. maxLength: 2000 |
| is_row_level_event: boolean | Whether event is tied to a single record | true, false. default: true |
| is_background_event: boolean | Whether event runs asynchronously | true, false. default: false |
| container_event_tasks: array | Tasks associated with the event | Can contain one or more of the following event task: * orchestrate_workflow * validation_stored_procedure * validation_view * business_rule_stored_procedure See Event Task component to enter values for this property |
Event Task Component
Event Tasks (container_event_tasks: array) define actions that can be performed when events are triggered. One of the task types must be specified.
Field/Property (Name: Type) | Description | Sub-Properties |
|---|---|---|
orchestrate_workflow: object | Used to execute a custom Orchestrate workflow. Refer to Workflows for more information. | See Orchestrate Workflow component to enter values for this property |
validation_view: object | A SQL view that returns records when validations fail. Refer to Validation Rules for more information. | See Validation View component to enter values for this property |
validation_stored_procedure: object | A SQL stored procedure that determines if a validation passes or fails. It has additional logic that cannot be achieved using validation views. Refer to Validation Rules for more information. | See Validation Stored Procedure component to enter values for this property |
business_rule_stored_procedure: object | Used to execute a SQL stored procedure for business logic. Refer to Business Rules for more information. | See Business Rule Stored Procedure component to enter values for this property |
Orchestrate Workflow Component
Configures a custom Orchestrate workflow (orchestrate_workflow: object) to be executed as part of an event task. Refer to Orchestrate Workflows for more information.
| Field/Property (Name: Type) | Description | Supported Values/Notes |
|---|---|---|
| orchestrate_workflow: string required | Name or id of the custom Orchestrate workflow to execute | Select or enter a custom orchestrate workflow name. maxLength: 250 |
| active: boolean | Turn off the active option to disable this event task | true, false. default: true |
| comment: string | Description or purpose of the event task | Enter a comment within length constraints. maxLength: 2000 |
Validation View Component
Configures a validation rule (validation_view: object) based on a select view statement that returns non-zero value records when validations fail. Refer to Validation Rules for more information.
Property (Name: Type) | Description | Supported Values/Notes |
|---|---|---|
name: string | Name of the SQL view validation rule | Enter the name of the validation view. maxLength: 128 |
severity: string | Severity level of validation messages | Must be one of: Error, Warning, Info |
message: string | Message shown to users when validation fails | Enter a comment within length constraints. maxLength: 2000 |
binding_field_names: array of strings | Field names used to bind against the view to limit returned records | Enter the field names. The field name in the view should match the field names in the data grid. maxLength: 128 |
dependent_tasks: array of strings | A list of task names that must be completed before running this task | Enter the name of dependent tasks. maxLength: 128 |
Validation Stored Procedure Component
Configures a validation rule based on a stored procedure (validation_stored_procedure: object) when the required validation logic cannot be achieved using a validation view. Refer to Validation Rules for more information.
Property (Name: Type) | Description | Supported Values/Notes |
|---|---|---|
name: string | Name of the SQL stored procedure validation rule | Enter the name of the validation stored procedure. maxLength: 128 |
severity: string | Severity level of validation messages | Must be one of: Error, Warning, Info |
message: string | Message shown to users when validation fails | Enter a comment within length constraints. maxLength: 2000 |
parameter_names: array of strings | List of field names that the stored procedure expects | Enter the field names. The field name in the view should match the field names in the data grid. maxLength: 128 |
dependent_tasks: array of strings | A list of task names that must be completed before running this task | Enter the name of dependent tasks. maxLength: 128 |
Business Rule Stored Procedure Component
Configures a business rule based on a stored procedure (business_rule_stored_procedure: object) that modifies data with the required business logic. Refer to Business Rules for more information.
Property (Name: Type) | Description | Supported Values/Notes |
|---|---|---|
name: string | Name of the SQL stored procedure for business logic | Enter the name of the business stored procedure. maxLength: 128 |
parameter_names: array of strings | List of field names that the stored procedure expects | Enter the field names. The field name in the view should match the field names in the data grid. maxLength: 128 |
dependent_tasks: array of strings | A list of task names that must be completed before running this task | Enter the name of dependent tasks. maxLength: 128 |