◷ Reading Time: 15 minutes
FlexRule Designer is an advanced authoring environment. This means that it provides a tabbed-document interface along with different docking-controlled windows. This ensures that you have the maximum space in your view to accomplish your goals.
The environment consists of a couple of different areas and windows:
- Login Name
- Designer Menu and Designer Toolbar
- FlexRule Notifications
- Project Explorer
- Document Area
- Property Window
- Message Window (Message List/ Output/ Breakpoints/ Backgroud Tasks)
- Debugging Window (Notifications/ Watch/ Workflow? Parameters)
- Source Control
The location of each window (e.g. Property Window) is adjustable. These standard windows and areas are what you’ll see as the default settings when using FlexRule Designer.
Once you log into FlexRule, your username will be shown at the top right corner.
Designer Menu and Designer Toolbar
The menu and toolbar contain options related to the Designer and your project:
- Create/open project
- Run / debug
- Change view
- Install / manage extensions
- Publish Packages
- Help content
You will also see the project name there.
Notifications such as new releases, help, and content updates will be displayed on the top of the Designer window.
Project Explorer shows the structure of the project. It also has options to:
- Add / remove / import folders
- Add / remove / import / duplicate / exclude / rename documents
- Change history
These are the available functions.
- Create folder
- Add an existing folder
- Add an existing file
- Create file
FlexRule Designer allows you to create and maintain rules and decisions.
Rules, decisions, validations, flows, and workflows, are collectively known as Logic in the FlexRule platform.
FlexRule Designer provides different editors for these Logic types:
- Tree-based editor
- Diagram-based editor
- XML-based editor
- Table-based editor
Each item in a document may have one or more properties. You can set and change the properties and values once they are listed in the Properties Window. It allows you to enter the conditions and values of a particular command within a rule.
The Properties Window has three main parts:
The Top Drop-down List
The top drop-down list shows the list of available objects in the opened document.
The Middle Grid
The middle grid lists the properties of a selected object. It has different tabs to change the properties and display settings of a document/ node. You can also search for a specific property using the property search option.
The first tab is to set the property settings.
The next tab is to set the event triggers.
The next tab is to set the display properties such as colors.
The last tab is to add comments/ descriptions.
The description panel gives a hint about the selected property in the middle grid.
When an item gets selected in the designer that has properties registered, then the Properties Window selects the registered object in the combo box and the property grid will show the properties name and values. When the row in the middle grid is selected, the description of that row will appear in the description panel.
The Properties Window is sensitive to active selection in the designer environment; if you change the document, or select different objects, it will be refreshed.
This window contains multiple windows for messages such as exceptions, logs, background tasks, etc.
Message List Window
Message List is the place where all of the messages related to your interaction with FlexRule Designer will be listed. These messages can be displayed in different formats (e.g., Error, Information, Warning, etc.).
The Message List has a toolbar that enables users to take action on the messages or on the Message List itself. The toolbar has two sections:
- Command section
- Filter section
The Command section will take action on the messages in the list, while the Filter section will help to filter messages based on different types.
Messages have different levels of severity:
- Log: This is a logging message that will be created based on user activities and actions in the designer application
- Information: This is an informative message that may appear in the Message List
- Warning: The rule engine may still be able to execute the rule, but it is better to fix the issue based on the warning message
- Error: The rule engine will not be able to execute a rule without fixing the error
When there is an error in the list, you can trace it to find the root of the problem. When you double-click on an error, the corresponding item will be selected.
Output Window displays logs. These logs may be related to different actions or tasks that you’ve chosen to accomplish, like running a rule, for example. It also shows different messages and feedback while the user is interacting with FlexRule Designer.
The Output Window provides different views that you can switch between. Initially, when you load the FlexRule Designer only the Storage view is shown, but as you work with FlexRule Designer more views can be added as required.
In the Output Window, there is a combo box list that allows you to switch to different views.
Here is a list of some available views:
- Storage is a live log for local/online storage with file access.
- Debugger Log has the capability to show a live execution path while executing logic documents.
- Trace shows live execution traces outputs (if available).
- Execution Log shows generated logs based on events that occur during execution.
The breakpoints window shows a list of breakpoints in the project. You can see all the breakpoints along with the document name and the node identifier where each breakpoint is located.
You have the options to:
- Enable a selected breakpoint
- Disable a selected breakpoint
- Delete a selected breakpoint
- Delete all breakpoints
The tasks that take a longer time to run (such as Azure function deployment) are listed in this window.
You have the options to:
- View results of a selected task
- Clear completed/ successful tasks
- Re-run a selected task
The Notification window shows all the user-defined notices of a mode that are generated during the runtime. Note that these are not auto-generated notifications.
For example, in a Generic Flow, if you have defined an error notification, it will be displayed here.
The watch window provides options to try expressions or check parameters after and during execution. This is very helpful to try any expression out before adding it to your business rules.
The watch window has IntelliSense. Therefore, it will suggest the available parameters. You can press
Ctrl + Space to view the complete list of available parameters/ built-in functions.
There are more options on the right side of the window,
- Add new expressions to watch
- Remove a selected expression from the watch
- Clear the watch list
- Data Viewer to see a selected expression result. You can view the results in the Viewer or as JSON/ text.
The workflow window shows the behaviors of workflow options and the user accounts.
Workflow History shows the selection history. For example, if there is a list of users that approve/ reject certain actions, you can see the list of their outcomes in this window.
Accounts show the list of available workflow simulator accounts along with the roles.
Debugging business logic (rules, decisions, flows) can be tough. You will need to have a better understanding of what is happening behind the scenes and the values that drive certain behaviors.
Once the logic is executed, there is execution content associated with it. This content holds many things and one of them is called the Variable Container. A variable container is simply a container that holds all the variables, types, functions, and parameters related to the execution. This variable container can be inspected using the Parameters Window during the debug session.
As you step into different stages of execution, the variable container will be updated and as a result, the Parameters window will automatically show you the updated results.
The Parameters window allows you to expand the values and drill down to the details of objects when required. It shows the values in a tree where each node can be expanded to view the details of each value:
The Parameters window provides a read-only list to inspect the Variable Container in the execution context.
On the right side of the window, you can see the Data Viewer. It can be used to see a selected expression result. You can view the results in
- as JSON
- as Text
- as Data
For example, let’s consider the following parameter
There are different data views.
And also Interactive Shell is link to the current context from Parameters Window. That means you can bring your parameters to the Interactive Shell by clicking on Send to Shell icon.
Once you click it, the Interactive Shell will open up with list of parameter variables in your Parameter window.
You have the option to add source control to your project.
ToolBox is a command center related to each document. When you switch between documents, the toolbox gets updated and shows related commands that are available and valid for that specific document (Decision Table, Generic Flow, Workflow, etc.).
The toolBox provides a set of different commands that can be dragged and dropped onto the rule document.
Different command groups are provided based on the type of document that is currently being edited.
This logical grouping of commands should help you find commands more easily.
Click the + or – sign to expand or collapse the group.
In the Document area, you can arrange multiple documents side-by-side. That allows the Document Area to display more than one document at the same time.
1. Click on a tab of the document and hold your mouse button down, until it grays out and shows you a middle area indicator.
2. While holding your mouse button down, drag your document to any available area on the middle indicator.
3. Release your mouse button and the document will be placed in a new location.
When multiple documents are opened in the Document Area, it becomes necessary to locate one of them back in the Project Explorer window. For this, simply right-click on the document tab, and click Find in Project Explorer.
and it will highlight the file in Project Explorer.