Application tiles

Introduction

Application tiles are used to build the UI displayed to the users of an application.

Tiles

Upload file in dataset

The Upload file in dataset tile allows to modify the configuration of an Uploaded files dataset. The available interactions are:

  • Go to dataset settings: the tile gives access to the Settings tab of the selected dataset.
  • Only upload file: the tile allows to select or delete files.
  • Upload file and automatically redetect format: same as the Only upload file mode but also automatically detects the format.
  • Upload file and automatically redetect format and infer schema: same as the Upload file and automatically redetect format mode but also automatically infers the schema.

Edit dataset

The Edit dataset tile allows to modify the configuration of an Editable dataset. The tile gives access to the Edit screen of the selected dataset.

Edit dataset settings

The Edit dataset settings tile allows to modify the configuration of a dataset. The tile gives access to the Settings tab of the selected dataset.

Select dataset files

The Select dataset files tile allows to modify the configuration of a Filesystem dataset. The available interactions are:

  • Go to dataset settings: the tile gives access to the Settings tab of the selected dataset.
  • Only browse file: the tile allows to browse and select a file.
  • Browse file and automatically redetect format: same as the Only browse file mode but also automatically detects the format.
  • Browse file and automatically redetect format and infer schema: same as the Browse file and automatically redetect format mode but also automatically infers the schema.
  • Modal to browse file and automatically redetect format and infer schema: same as the Browse file and automatically redetect format and infer schema mode but the editor is displayed in a modal.

Select SQL table

The Select SQL table tile allows to modify the configuration of a SQL table dataset. The available interactions are:

  • Go to dataset settings: the tile gives access to the Settings tab of the selected dataset.
  • Only browse table: the tile allows to browse and select a file.
  • Browse table and automatically redetect schema: same as the Only browse table mode but also automatically detects the schema.
  • Modal to browse table and automatically redetect schema: same as the Browse table and automatically redetect schema mode but the editor is displayed in a modal.

Upload file in folder

The Upload file in folder tile allows to modify the configuration of a Managed folder. The available interactions are:

  • Go to folder: the tile gives access to the View tab of the selected folder.
  • Upload file: the tile allows to select or delete files.

Select folder files

The Select folder files tile allows to modify the configuration of a Managed folder. The available interactions are:

  • Go to folder settings: the tile gives access to the Settings tab of the selected folder.
  • Browser folder location: the tile allows to browse and select the folder location.
  • Modal to browse folder location: same as the Browser folder location mode but the editor is displayed in a modal.

Edit project variables

The Edit project variables tile allows to modify the project variables. See Custom variables expansion.

Runtime interactions

The available interactions are:

  • Open modal to edit: the editor is displayed in a modal.
  • Edit inline with explicit save: the editor is inlined in the tile but changes are saved upon clicking on the Save button.
  • Edit inline with auto-save: the editor is inlined in the tile and any change is saved.

Runtime form

The runtime form can either be fully generated by DSS or fully custom.

Auto-generated form

Auto-generated forms are made of Parameters:

  • The corresponding Auto-generated controls JSON editor in the application designer allows to directly edit the params field described in Parameters.
  • The corresponding project variable will be named after the name field of the parameter.
  • To configure a dynamic select using python:
    1. set getChoicesFromPython to true
    2. click on Use custom UI
    3. create a do() method in the Python helper code code editor that returns a dict with a key “choices” as described in the section Dynamic select using python of Parameters
Custom form

Custom forms are described in Custom settings UI:

  • The Python helper code code editor allows to write the do() method as described in the Fetching data for custom forms section of Custom settings UI.
  • The Custom UI HTML code editor allows to write the HTML template where the controller is defined in the Javascript code editor.
  • The Custom UI JS code editor allows to write the Javascript where the Angular controller is added to the Angular module.
  • The Angular module text input allows to specify the Angular module.
  • As described in the documentation Custom settings UI, the parameter values, i.e. the values of the project variables, should be set in the object config.

Run scenario

The Run scenario tile allows to run a selected Scenario.

Propagate schema

When changing the input datasets of a flow, columns are often changed. Either their type can change, or columns can appear or disappear. This implies that the definition recipes consuming these datasets no longer matches their inputs, and thus that the recipes may fail to run. User action is then needed to adjust the recipes, updating, adding or removing columns from their definitions. This change can be tedious when for example one column has to be added to all downstream recipes and datasets of a changed input dataset. DSS offer the Propagate schema tool on the flow in order to facilitate this chore. The Propagate schema tile of an application wraps this tool.

The tile can be set to only initiate a schema propagation, leading the application user to the flow and letting them accept each suggested change manually. The tile can also be run automatically, without user interaction. In the latter mode, the application designer can pre-define some actions to take on the recipes in the Recipe update options.

{
        "byType" : {
                "grouping" : {
                        // options for all grouping recipes
                },
                "window" : {
                        // options for all grouping recipes
                },
                "join" : {
                        // options for all join recipes
                }
        },
        "byName" : {
                "compute_some_data_by_key" : {
                        // options for the compute_some_data_by_key recipe
                },
                ...
        }
}

Update options for Group

The options available are

{
        "removeMissingAggregates" : true, // drop aggregates of columns no longer present in the input
        "removeMissingKeys" : true, // drop columns no longer present in the input from the grouping keys
        "newAggregates" : {
                "DOUBLE" : [
                        {
                                "column" : "regular expression to filter columns",
                                // if match found, add the following aggregates
                                "min" : true,
                                "avg" : true
                        },
                        ...
                ],
                "BIGINT" : [
                        // rules for added columns of type bigint
                ]
        }
}

Update options for Window

Quite similarly to the Group recipe, the options available are

{
        "removeMissingAggregates" : true, // drop aggregates of columns no longer present in the input
        "removeMissingInWindow" : true, // drop columns no longer present in the input from the partitioning and sorting keys
        "newAggregates" : {
                "DOUBLE" : [
                        {
                                "column" : "regular expression to filter columns",
                                // if match found, add the following aggregates
                                "min" : true,
                                "last" : true
                        },
                        ...
                ],
                "BIGINT" : [
                        // rules for added columns of type bigint
                ]
        }
}

Update options for Join

The options available are

{
        "removeMissingJoinConditions" : true, // drop join conditions involving columns no longer present in the input
        "removeMissingJoinValues" : true, // drop columns no longer present in the input the list of selected columns
        "newSelectedColumns" : {
                "DOUBLE" : [
                        {
                                "table" : 1, // this rule applies to the second input only
                                "name" : "regular expression to filter columns"
                                // if match found, select the column
                        },
                        {
                                "table" : -1, // this rule applies to all inputs
                                "name" : "regular expression to filter columns",
                                "alias" : "alias for the added column, with $1, $2 ... replacements from the regex"
                        },
                        ...
                ],
                "BIGINT" : [
                        // rules for added columns of type bigint
                ]
        }
}

For example, the following rule matches columns ending in _min and outputs them without the _min suffix:

{
        "table" : -1,
        "name" : "^(.*)_min$",
        "alias" : "$1"
}

View dashboard

The View dashboard tile allows to view a selected Dashboard.

View folder

The View folder tile allows to access the View tab of the selected Managed Folder.

Download dataset

The Download dataset tile allows to download the selected Dataset.

Download report

The Download report tile allows to download the selected R Markdown report.

Download file

The Download file tile allows to download the selected file or folder from the selected Managed folder.

Download dashboard

The Download dashboard tile allows to download the selected Dashboard. See Exporting dashboards to PDF or images.

Variable display

The Variable display tile allows to display variable. The display can be customized using HTML tags. As described in Custom variables expansion variables must be reference with the ${variable_name} syntax.