- Updated on 31 Jul 2020
- 7 minutes to read
The Decisions Designer Studio gives a user access to several different studios known as Designers, which are used to create Designer Elements. These Designer Elements include Flows, Forms, Rules, Reports, Pages/Dashboards, and more. Once these components are created in their respective Designer, they will function as an application that can tailor to any business needs!
Most of these Designers contain a dedicated workspace where different Components or Steps are available to choose from. The entire catalog of Components and Steps within these Designers is vast, thus a search bar was implemented to help narrow down options.
Forms in Decisions have multiple purposes; not only do they operate as a user-interface on the front-end, but they also receive user input that passes as data through Flow Steps. An important note is that Forms do not serve a logistical purpose if not contained in a Flow on the back-end. Even if a Form is configured with places for a user to enter information, the Form is not live and data is not moving unless it is called from a Step in a Flow.
Forms are comprised of Form Controls that offer several different functions. A Button or a Text Box would be considered a Form Control. In this example, you will create a Form that will consume information from a requester as part of our Purchase Request project.
Forms can be created from scratch or with one of the stock Decisions templates. Existing Forms can be copied and Components can be moved around on the copy without affecting the original. Stock Form templates are pre-built to accommodate needs for Approvals, Contact Details, Reviews, and much more. The 'Default' template for the Form Designer uses multiple Grids with ideal spacing for the average Form layout.
The Form Controls tab contains the entire collection of available Form Components that can be inserted into the Form. Click and hold on the name of a Form Component, then drag and drop it into space on the Form to the left. Form Components have settings that can be configured specific to their function, these settings are accessible in the Properties tab. Aesthetic changes like Form size, column/row size, font settings, appearances, and behaviors can be accessed in the Properties tab as well.
Select a Form Component as it appears in the Form workspace on the left to populate the Properties for that Component on the right. Click into checkered space to populate the Properties for the Form itself. Click the outermost edge of a Grid in the Form workspace to populate the Layout Properties.
A Flow is a series of visual Steps with customizable properties that connect to move, evaluate, and manipulate data. Most Steps have user-defined Inputs, Outputs, and other configurable Properties settings that exist to move the workflow along. A Flow begins with a Start and End Step. The Start Step has a line coming from it labeled Done, this line is called a Step outcome path. Steps can have one or multiple outcome paths and most of them output some kind of data.
The purpose of a Flow is to move data throughout it, following each outcome path as it performs the function of the Step it passes. Outcome path A could lead to an entirely different set of Steps than outcome path B. Step complexity ranges from very specific processes like deserializing JSON, to basic processes like adding two values.
Flow steps take data as an input, complete their respective function with the data, then pass it on as an output. Each subsequent step has access to all of the output data that was created in the steps before it. Inputs and outputs can be referenced in a variety of ways through the use of Mapping Types, which offer a range of customization for how the data is interpreted.
The Mapping Editor offers an easy-to-use dragging method of connecting and defining data for inputs and outputs alike. The alternate method of mapping data is done from the Properties panel of the selected Step. Under the Inputs and Outputs sections of the Step Properties, all available Inputs and Outputs respectively are present for mapping.
In Decisions, an excellent way to display data outside of a Form or Report is through the use of a Page. The Page Designer uses a similar layout to Form Designers and allows administrators to put multiple data-reporting pieces together to create a Dashboard. The components that can be used generally source a Report or Folder ID based on a configured Selection Bus. In order for Report data to be displayed in the form of a Pie or Graph, the Report would need to be grouped by the section that the Chart will report on. For this, it is recommended to create several different reports that are grouped on specific reporting data per each Chart.
Reports are Designer Elements that collect, filter, organize, and display data. Often, Reports are used to display data on Pages. Multiple Reports can be used on a Page to create a Dashboard with multiple perspectives on the same set of data. Reportable data can be sourced from many places: for example the system, Flows, folders, or integrated systems.
Reports can also be filtered according to the source content. Custom charts, matrices, summaries, grouping, and organization schemes can be configured in the Report Designer. Additional display and styling options can be configured within the Report Designer, the Page Designer, or at runtime.
Once the Data Source is selected, Data Fields become available that can be applied to the Report. There are Filter and View configuration options available as well. Some Data Fields have configurable Properties that alter or modify how the data is shown on the Report.
A Rule evaluates Input Data based on the conditions configured in the statement. Once the Rule evaluates the data based on the conditions, it will return a True or False result. The Rule Designer offers a space where an 'If' statement can be created and additional conditions, or 'either/or' stipulations, can be configured. The Rule takes in some sort of Data Element and evaluates it against whatever data is used, whether static or dynamic.
In a Flow, Rules create two separate outcome paths where the data is passed based on the evaluation, then steps can be placed on those outcome paths to further process the data. In a Form, Rules can determine whether or not a Form Control is shown, based on the evaluation of a button action. In a Report, Rules can manipulate how certain values are formatted.
In the screenshot below, the top line indicates a completed 'If' statement Rule while the second line shows additional condition capabilities and previews which components are used to create a Rule.
Truth Tables are Rules that compare the possible combinations of multiple inputs to evaluate for different outcomes depending on the specific combination. A Truth Table is a column layout, where conditions can be configured on the left, and the expected Output Data can be configured on the right. The plus symbol will add another condition column or Output Data column, respectively. A Truth Table can output one or many pieces of data, which is helpful when there is a single set of data that a developer may want to be analyzed in more than one way.
There are several different Truth Table Rule Types. Data Return (Single) returns a lone variable into the Flow. Action Rules pass in values and then execute a Flow from within the Rule itself. Data Return (Multiple/Composite Type) creates a new datatype based on the fields that are specified in the return. This allows the developer to dynamically create datatypes for the output of the Truth Table based on what Fields are defined. Data Return Rule (Multiple) returns multiple variables into the Flow.