The Flowcharts area of the WEM Modeler is where you model the way your application should work. Here you define the workflows, processes and all other functionality that makes up your application. This includes the user interaction (the forms or screens or pages).
When you look at the flowcharts of a new project, you will always find the default
Home flowchart. This is the starting point for your project.
When you create a new flowchart, you can choose between two types of flowcharts:
- Regular flowchart
These are the flowcharts that include user interaction (forms, pages, overlays, etc.). Most of the flowcharts are regular flowcharts.
- Action flowchart
When a flowchart is needed that does not require any user interaction (e.g. a calculation, some background process that needs to run, etc.), you use an action flowchart. If your action flowchart references other flowcharts there can not be any user interaction in one of the referenced flowcharts. For exposing webservice functionality you can ONLY use action flowcharts.
Flowcharts can be organized in folders. When you have a small application with just a few flowcharts this is probably not necessary. But when you have an application that consists of hundreds (or even thousands) of flowcharts, it is important to have a structure of folders to organize flowcharts. The way you want to organize flowcharts is up to you, there are no restrictions on the WEM Modeler side.
Below is an example of flowcharts that have been organized in multiple folders.
Flowchart management toolbar
At the top of the flowcharts overview, you find the flowchart management toolbar. The ‘New flowchart’ and ‘New folder’ buttons are always available. All other options become available when a flowchart is selected. These options always apply to the selected flowchart.
|Flowchart toolbar button||Description:|
|New flowchart||When you click on this option, you get a submenu where you select the type of flowchart you want to create: a regular or an action flowchart.
After selecting the specific type of flowchart you are asked to enter the flowchart name and the flowchart is created in the folder that is selected on the left hand side (in the flowchart node of the project tree). The type of flowchart cannot be changed once created.
|New folder||Create a new folder within the current selected folder.|
|Properties||Show and edit the properties of the selected flowchart.|
|Copy||Make a copy of the selected flowchart|
|Move||Move the selected flowchart to another folder. When this option is selected, the user is presented with a overview of the flowchart folder tree. Simply select the destination folder, click ‘Ok’, and the flowchart is moved.|
|Delete||Delete the selected flowchart. If this flowchart is referenced somewhere in your application, WEM Modeler will let you know that this is the case and where the reference exists. Only when there are no references to this flowchart the deletion will take place.|
|Open flowchart||This opens the selected flowchart. When a flowchart is opened, it is always opened in a new tab.
Double-clicking a flowchart also opens the flowchart.
|Preview||Preview the selected flowchart. A new browser window is opened, and the flowchart is executed here. This is an excellent way of testing a flowchart.|
|Find usages||WEM provides you with an overview of all the areas in your application where the selected flowchart is used.|
How to use flowcharts
Flowcharts are the heart of your applications. With flowcharts you model the way your application works:
- Model your business process(es)
- Model the flow of your application
- Create the User Interaction (forms, pages, overlays)
- Integrate with external systems
Creating a flowchart is pretty straightforward: You select flowchart nodes from the toolbar at the left side of the canvas and drag them onto the canvas. By connecting the various nodes you create a certain flow: you basically tell the system what should happen. Every node is used for a specific action, like showing a form or retrieving data from an external system. When a node exits, you tell the system what to do next, etc. This way you can use the WEM Modeler to graphically model your application.
In the example above we are adding a new case type, as part of a case management system. The steps:
- The flow always starts with the
- The next step is to add a new row in the Case Type list, using the
- After creation of the new row, the user is presented with a form to enter the specific Case Type information. This is done using an
- In the form the user has two options: save all the information or cancel the addition of a new Case Type. Both options are visible in the flowchart.
- When the user wants to save the new Case Type, the
Save database list changesnode is executed, and when this node exits, the flowchart also exits by pointing to the
- When the user decided to cancel the addition of a new Case Type, the
Discard all database list changesnode is executed. When this node exits, the flowchart also exits by pointing to the
The example above is a very simple flowchart that shows how the different flowchart nodes can be combined to model a certain function. In this example the addition of a new Case Type.
An important concept in flowcharts are the ‘Exits’. An exit is one of the possible ways a node can exit. E.g., a ‘Save’ button on a form is an exit of a User Interaction node: information is stored and the form is closed.
Nodes can have multiple exits, depending on what happens within that node. In the example above there are two exits for the ‘New Case Type’ Interaction Node: Save and Cancel, which both refer to buttons on the form.
When no specific exits are defined, the ‘Default exit’ is available.
An exit not only specifies how you can exit a node, but it is also used to create your workflow: every exit can be connected to another node and thus creating a certain workflow. When you model your application, but forget to specify an exit for a certain node, the application will come back with an error message because it is not clear what should happen.
When a node does not specify an exit, the application will not be able to break out of that node. The only exception is the ‘End’ node. When this node is entered, the flowchart had completed and the application returns to the spot where this flowchart started.
When you open a flowchart, you see the canvas on which you will draw the actual workflow. It contains a toolbar (top), the Nodes-toolbar (left) and the Properties and Exits panels on the right (when a node is selected).
|Preview||Starts this flowchart in preview.|
|Breakpoint||Puts a breakpoint on selected node (a condition can be added) – application will stop here in preview-mode.|
|Find usages||Find out where this flowchart is used.|
|Selection||Puts editor in ‘selection mode’ to select, move, change nodes.|
|Draw arrows||Puts editor in ‘draw arrows mode’ to make connections between nodes.|
|Cut||When one or more nodes are selected, this will cut them out of current flowchart and you can paste them on another flowchart. After paste-action, nodes will be deleted from current flowchart.|
|Copy||When one or more nodes are selected, this will copy the selection and you can paste them on the same or on another flowchart.|
|Paste||When one or more nodes are selected and Cut or Copied, this wil paste them on the current flowchart.|
|100%||This will reset the view of the flowchart to 100% and centered.|
|Zoom in||Zoom in on the flowchart (see less nodes but bigger).|
|Zoom out||Zoom out of the flowchart (see more nodes but smaller).|
|Search node by id||Search a node by id and jump to that node if it is found within the current project, in any of its flowcharts.|
Moving and Connecting the nodes
The Flowchart Editor starts in the
Selection mode. In the
Selection mode, you can select one or more nodes to move, or to cut or copy to other flowcharts.
Connections can be made when the flowchart editor is in the
Draw arrows mode by clicking one node and start dragging the mouse to the node you want to connect. When the flowchart editor is in the
Selection mode, you can make connections by holding the
Control [Ctrl] key when clicking one node and dragging to the next node. On mouse-release you select the specific exit that you want to use in this connection. Each node can have its own set of specific exits, some even provide means to create custom exits based on expressions.
On the lefthand side of the flowchart editor canvas, you find all the availble nodes that you can use to create the flowchart and functionality you need. Simple drag and drop nodes on the canvas, and draw lines between the nodes to create the flow that is needed.
The following nodes are available:
|User Interaction||The user interaction node is used wherever there is interaction with the user. These nodes translate into pages where a wide range of user interaction components can be used (forms, lists, buttons, images, charts, etc.).|
|End node||When an end node is reached it means that this flowchart has ended. The system will go back to the place where the flowchart was started. If there is no point to go back to in the flowchart-stack, a page will be displayed with the message
|Sub-flowchart||This node specifies another flowchart to be started. Very often an application consists of reusable functionality or processes. By modeling these in separate flowcharts, you can refer to these reusable functions by specifying the sub-flowchart node. This will also help to keep your flowcharts tidy.|
|Navigation node||This node is used to jump to a specific navigation point.|
|Decision node||In the decision node a certain condition is specified. This condition evaluates to a specific type and according to that type, specific exits are generated or custom exits can be created. This node is used to decide what should happen within a workflow, based on the condition specified in the node.|
|Assignment node||The assignment node is used to assign a value to an item in the project like a data field, or an input field of a webservice.|
|List node||The list node makes it possible to define an action that should take place on a list. Actions include (but are not limited to) finding, adding or deleting a row in a list.|
|Loop node||When it is necessary to loop through a list or a multi-select field, the loop node can be used. This makes it possible to apply certain functionality to every row in the list.|
|Save all database changes||When a save node is reached, all changes since the last save action will be saved to the database.|
|Discard all database changes||When a discard node is reached, all changes since the last save are discarded.|
|Data import||The import node makes it possible to import data from a file (Excel, CSV) or from a JSON stream.|
|Data export||Export data to a file (CSV, Excel).|
|Service request||When a webservice is needed, the service request node is used to specify the webservice that needs to be called. When this node is reached, the designated webservice is actually called with the input parameters (that should be set in advance using assignment nodes). When the node exits, the output of the webservice is available for further use.|
|HTTP request||The web request node can be used to execute HTTP requests. Rest/JSON services can be called using this node.|
|Process node||A process node is used to use one of the pre-defined functionalities of the processes that are activated on the project level. These functionalities include e.g. sending email, printing a document, PDF document generation and many more.|
|Realtime message node||These nodes are used to send real time messages between a sender and a listener.|
|Authentication node||The authentication node is used if you want to authenticate a user through either SAML or OAuth2. It basically means that through this node, you realize single sign-on with your enterprise network, or you authenticate a user through e.g. Facebook, Twitter or LinkedIn|
|Note||A note is not an actionable node as the ones before, but can be used to place informative remarks on the flowchart. A note does not offer any functionality, nor does it affect anything in the flowchart.|
- There is no restriction to the number of nodes you want to use in your flowchart, but it is advisable to split up your flowchart in multiple flowcharts. That way flowcharts are easier to understand and maintain.
- Not all nodes can be selected at any time. The nodes that are not available are grayed out.
Example: Action flowcharts: you cannot use interaction nodes in action flowcharts and therefore these nodes cannot be selected in these flowcharts.
- Every node has a set of properties that must be set in order for the node to work correctly. The next sections describe the nodes in a bit more detail including all the available properties.
User Interaction node
The user interaction node is used wherever there is interaction with the user. These nodes translate into forms or pages where a wide range of user interaction components can be used (forms, lists, buttons, images, charts, etc.).
When a user interaction is used, you need to specify:
- The user interaction properties
- The available exits
These are the exits that are triggered by a button in the user interaction form itself (e.g.
- The user interaction screen
This is described in a separate chapter (“the User Interaction Editor”).
The properties are accessed by selecting the node. The properties of the selected node are shown on the right hand side of the screen.
Some properties are only available when the
Show as overlay checkbox has been checked.
|Name||Enter the name of the user interaction node This name also appears beneath the node on the flowchart canvas.|
|Default button exit||This dropdown list shows al defined button exits for this user interaction. When selected, this exit will be used when ths user hits the ‘enter’ anywhere on the page.|
|Show as overlay||When this checkbox is checked, the user interaction is shown as an overlay. An overlay is a form that resides on top of you application (like a popup). You cannot access the rest of the application without closing the overlay.|
|Show close button||When this checkbox is checked, the overlay displays a close button on the overlay. This is a small
|Overlay size||This specifies the size of the overlay. The options are:
|Overlay title||Specify the title over the overlay form. If no title is specified, the title is the same as the name of the user interaction node.
To specify the title, the WEM expression editor is used. Which means you can either specify a name, or use an expression to define the overlay title. This way it is possible to access data your application to dynamically create an overlay title.
|Overlay icon||Specify an icon that you want to be displayed. This icon will appear in front of the overlay title.|
Edit template button at the bottom of the properties form works the same as double-clicking the node: it opens the user interaction node editor.
User Interaction Node Editor
The editor is where you create the form / interaction that is needed to communicate with users of the application. This editor is also sometims referred to as the “template editor”.
When the editor is open, there are four areas:
- At the top are all the user interaction components and widgets that you want to use: input fields, buttons, forms, lists, etc.
- On the top right side you will find the ‘Data’ area. Here you have access to all sorts of data that you want to use in your form: lists and list fields, queries, ontology, language dictionary, etc.
- The lower right side provides access to the properties of the component that you are working on. These properties make it possible to have control over the way the user interface components behave.
- The page itself. This is where you drag and drop the various UI components to create the user interaction that is needed in the application.
And the best thing: WEM applications are fully responsive, so everything you build with the editor can be used on mobile devices as well!
The end node signals the end of the workflow. When the end node is reached, the application will return to the spot where the current workflow was started.
There is only 1 property: the name of the node. The default name is ‘End’, but it can be changed if needed.
A sub-flowchart makes it possible to start a flowchart in a flowchart. When the sub-flowchart node in a flowchart is reached, the flowchart that is defined as sub-flowchart will start.
When a sun-flowchart is created, WEM shows a popup window where an existing flowchart can be selected: this is the flowchart that will run when the sub-flowchart node is reached.
A sub-flowchart has 1 property: the Name of the sub-flowchart. This is the nameof the flowchart that is defined as the sub-flowchart. This property cannot be changed.
A subflow-chart can have multiple exits. Every End node in a (sub-)flowchart is also an exit of that (sub-)flowchart.
When the flowchart reaches the navigation node, the application will open the specified navigation point and continue from there. There are no exits and there is only 1 property: the Name. The name is the specified Navigation Point and cannot be changed. To learn more about Navigation Points, read the specific article on Navigation.
In the decision node a certain condition is specified. When a flowchart reaches the decision node, the condition is evaluated and based on the outcome (the exit) the flowchart will take a certain route.
The condition is defined by using the WEM Expression Builder, which gives you a very powerful mechanism to define the condition that should be evaluated.
Decision nodes have a single property: the Name of the node.
Decision nodes have several exits, based on what the decision node needs to evaluate. E.g. if you use the decision node to evaluate whether a certain statement is true or false, you would have 4 exits:
|Yes||This is the exit when the condition evaluates to ‘true’|
|No||This is the exit when the condition evaluates to ‘false’|
|Unknown||This is the exit when the condition cannot be properly evaluated|
|Default exit||When none of the other exits apply, this is the exit that is used.
The Default exit is always available
However, if your decision node uses e.g. a
concept to decide what to do, it would generate an exit for every possibe concept that applies.
The assignment node is used to assign a value to an item, like a data field, or an input field of a webservice. When the flowchart reaches the assignment node that value will be set.
When the node is added to the flowchart, the following popup appears:
From this popup you select the item for which the value needs to be assigned. When this is done, the node is available in the flowchart and the value can be assigned to the selected item. This is done through the Assignment Node Properties:
The following properties are available:
|Name||This is the item for which a value is assigned. This property is set by WEM and cannot be changed.|
||The Action property is used to specify which value must be assigned to the item. This property presents a list of possible values and is dependent on the type of the item. A few options are always available, while some options are type dependent.|
|Value||Some Action property values require a value to be specified. That value is specified by the Value property.|
|Operand||Some Action property values require an expression as the value. When this is the case, the Operand property is displayed. From here the WEM expression editor is opened, so the expression can be defined.|
The list node is used to work with lists. When a list node is reached an action can be performed on the list defined by the list node.
When a list node is created, WEM presents a popup where the list for which the action should take place is selected:
The properties and exits of a list node depend on the type of action that should be performed. The property table below presents all options:
|Name||This is set to the action that is performed on the specified list. This property is set by WEM and cannot be changed.||N/A|
This adds a new row in the specified list
|Delete current row
Deletes the current row of the list that is specified
|Delete multiple rows
This deletes multiple rows of a list. This property requires a second property:
Delete rows that match
1. Delete all rows of the list (this is the default value)
2. Specify the rows to delete by building an expression with the WEM expression builder
|Goto first row…
Go to the first row that matches a certain condition. When this option is used, a second property is required:
Goto first row that matches
1. The first row that was added to the list
2. Specify the first row using an expression.
When this action is selected, there is also the possibility to create an expression that defines the order of the rows in the list. You can do this by clicking the
|Goto last row…
Go to the last row that matches a certain condition. When this option is used, a second property is required:
Goto last row that matches
1. The last row that was added to the list
2. Specify the last row using an expression
When this action is selected, there is also the possibility to create an expression that define the order of the rows in the list. You can do this by clicking the
|Goto next row…
Go to the next row that matches a certain condition. When this option is used, a second property is required:
Goto next row that matches
Specify the next row using an expression. When this action is selected, there is also the possibility to create an expression that defines the order of the rows in the list. You can do this by clicking the
|Goto previous row… Go to the previous row that matches a certain condition. When this option is used, a second property is required:
Goto previous row that matches
Specify the previous row using an expression.When this action is selected, there is also the possibility to create an expression that defines the order of the rows in the list. You can do this by clicking the
|Reset row position
This action clears the row position, so no row is selected after this action
The loop node makes it possible to loop through all the rows in a list or a multi-select field. When a loop node is dragged onto the canvas, a popup appears where you can select the list or multi-select field over which we need to loop.
When the node is selected the following properties can be specified:
|Name||This is the list or field that is used for the loop. This property is set by WEM and cannot be changed.|
|Loop over rows that match||Specify over which rows we need to loop. There are two possibilities:
1. All rows in the list or field
|Edit loop order||It is possible to create an expression that defines the order in which the application should loop over the rows. You can do this by clicking the
A loop node has two different exits:
- Next row
When a new row has been reached, the node exits with the
Next rowexit. In the flowchart the user has to make sure to return to the loop node, in order to loop over the remaining rows.
- End of loop
When all rows have been looped over, the node exits with the
End of loopexit.
When the Transaction save node is reached, all changes to all database lists that have not yet been saved, are saved.
This node has only 1 property, the Name. The value is set by WEM and cannot be changed by the user. The value is
Save all database list changes.
There is also only 1 exit:
When the Transaction discard node is reached, all changes to all database lists that have not yet been saved, are discarded.
This node has only 1 property, the Name. The value is set by WEM and cannot be changed by the user. The value is
Discard all database list changes
There is also only 1 exit:
The data import node is used to import data into a specified list. The data that is imported is either in CSV, Excel, JSON or XML format.
To use this node, simply drag it onto you flowchart. The next thing you have to do is to set the properties, to make this work.
|Name||The name of the node. This cannot be changed .|
|Target list||Here you select the list into which the data has to be imported. When you click the list button, you can select the target list. This only applies to the
|Data source||When you click the button on the right hand side, you can select either a file or a text field from which the data has to be imported. This can be a field from another list, a field you access trough OData or through a Webservice.|
|File format||There are three options:
|Here you select the format that you will use to import the data.|
|Edit Mappings||When you clock the
This node has two exits:
Error– this exit is used when the import produces an error;
Default exit– this exit is used when the data import does not produce any errors.
Edit Mappings screen is used to map fields from a source (like a CSV, Excel, Json or XML file) to fields that exist in WEM. Depending on the file format the mapping tool works differently.
Map CSV or Excel fields
The easiest way to create the mapping, is to hit the
Create mapping from example button on the right hand side of the toolbar.
You can now select the CSV or Excel file you want to import, so WEM can learn which columns exist. Once the file is selected, WEM will show a list of all columns from the source file. You can now specify per column to which target field in WEM the data should be mapped / imported. Simply double click on the target field column for the specific CSV/Excel column and WEM will bring up the popup so you can select the actual target field.
If needed you can also specify whether this should be a mandatory field and what do do when WEM encounters an invalid value in the source file.
Map Json or XML
To map Json or XML to WEM data, hit the
Create mapping from example button on the right hand side of the toolbar to open the mapping tool.
When you do this the first time you will get an emtpy screen: no mapping is available. You can create your own mapping by
adding your own entities and map these to WEM fields. But it is far easier to use some sample Json or XML and let the WEM modeler do a lot of the work for you. Click on the
Create mapping from example button in the toolbar en paste your sample Json on XML into this form. You can verify if you are using correct XML or Json and then click on
Ok to let the system create the basic mapping.
When you use Json, you get something that looks like this:
numeric field and
boolean you can now specify:
- Is this a mandatory component;
- Do you want to skip an object if the data is invalid.
You can specify this by simply clicking on the component in the tree on the left hand side. You will then see the properties on the right hand side (see ths picture above).
Te map a component to a WEM field, simply select the Json field, and in the properties area on the right click on the button of the
Map to field. You will get a popup where you can select the WEM field to which you want the map the Json component.
Once you have done this for the entire Json message, you are done with the mapping: click on
Save and your mapping is ready to use.
If you want to import XML, you get something that looks like the screen below, after you have created the mapping from an example:
The actual mapping works very similar to the Json mapping described above. The main difference is that the various XML elements can have different properties, based on the value of other properties of the same element. But in essence it works like Json mapping: you can create the entire mapping manually, or you simple import an XML example of the XML you want to import, so you can let the system create the basic mapping. Next, you go over each element and specify:
Name(you usually don’t change what the system created);
Namespaceof the XML element. If you use namespaces, you can select them here or create a new namespace;
- Is it a repeating element? If so, you will get another property:
- You can now specify the
- You can now specify the
- Specify whether the element contains:
- a single value. In this case you can specify where you want to
Map the content to. You can select a field that is defined in WEM;
- nested values (
<book>in the example above). When this element contains nested values, you can’t specify a mapping, because you should specify the mapping of the elements that are contained in this element.
- a single value. In this case you can specify where you want to
The data export node is used to export data.
When this node is dragged onto the workflow, you will automatically get a popup window where you have to select a list or list filter as the source from which you want to export the data.
Next you edit the properties, so you can control the data export. The following properties are available:
|Name||The name of the node. The name is automatically set and cannot be changed.|
|Format||There are five options:
|Select how you want to export the data|
|Source list ‘||Specify the list that is the source for the data export. This does not apply to
|Filter by||If you need to filter the data that wil be exported, you can add an expression that defines that filter.|
|Target field||Here you select the field where you want to store the exported data. This field has to be of the type
|Delimiter||There are four delimiters you can use:
|This property is only available (and needed) when the format of the export is CSV. This property defines which delimiter should be used to separate the data.|
|Encoding||You can choose between 6 different character encodings:
|This property is only available (and needed) when the format of the export is CSV. The property makes it possible to select the character encoding you want to use for the data export|
|Sort by||When you click on this button you get to the Sorting popup where you can add expressions that make it possible to sort the exported data.|
This node has two exits:
Error– this exit is used when the export produces an error;
Default exit– this exit is used when the data export does not produce any errors.
When you want to export to
XML, you need to specify a mapping to map the exported data to either
XML. This works the same as specifying the mappong for data import (see above for a description of how to create a mapping). The only difference is that the mapping will now be used to export data from your WEM application to
XML instead of importing data into your WEM application.
If your project has Webservices defined (consume and/or expose), you can access these services through the Service request node. The Service request node sends or retrieves data using a weservice. The node itself does not handle any data, so you will need e.g. assignment nodes to store and work with the data.
To use the node, you drag it onto the flowchart and a selection popup appears:
Here you select the webservice you want to use.
There are only two properties for this node:
- The Name, which is set by WEM and cannot be changed;
- The possibility to clear all input after the call to the webservice is finished. This is done through checking the checkbox for this option.
The node has a number of exits:
Error– this exit is used if an error occurs using the node;
Default exit– the regular exit when there are no errors
- Additional exits are possible if the webservice has predefined faults. If so, these are also exits for this node. And these exits help to better identify a problem if the node produces an error.
Example: when you want to call a webservice to retrieve data, you call that webservice through the node, and the data that is returned is stored in either data fields or list fields. Often a call requires input, in that case you start with one or more assignment nodes to set the input, than the service request node does the call to the webservice, and finally you use one or more assignment nodes to store the data that was retrieved using the service request node.
When this node is reached, an HTTP request will be executed. The HTTP request node supports:
- All common request methods (
- Query parameters (expressions);
- Basic authentication and Client certificate authentication;
- Custom request headers (expressions);
- Custom response headers (mapped to fields);
- If applicable, a request body (text, file or richtext);
- Response body (text, file or richtext).
The type of request, and the HTTP request details are all specified in the node’s properties. Some properties are only needed for certain request types, as is displayed in the example below.
|Name||Name of the node. This name is generated by WEM and describes the HTTP request that will be performed. The property cannot be edited by hand.|
|URL||The URL that is used for the HTTP request (the server to which the request is sent)|
||The HTTP request method that is used in this node|
|Follow Redirect||Yes/No (checkbox)|
– Basic Authentication
– Client Certificate
|Specifies if authentication is needed for the request. And if so, what type of authentication. When the ‘Basic Authentication’ is specified, a simple username/password suthentication is used. In this case the Username and Password properties are displayed. When the ‘Client Certificatie’ authentication is used, the user is asked to specify the client certificate. The certificate must be available in WEM.|
|Request Body||A custom request body can be defined|
|Response Body||A custom response body can be defined|
|Edit Query fields|
|Edit Request Headers|
|Edit Response Headers|
The Web request node can have several exits. There are two pre-defined exits:
- Default exit
This is the exit that is used when the HTTP request somehow fails.
Besides these pre-defined exits, it is possible to define an exit for every possible status code the HTTP request returns. See e.g. or for an overview of the possible status codes.
When an error status code is used to define an exit, this exit will be used instead of the default Error exit.
Exits The HTTP request node always as a
Default exit and an
Error exit. But you can add edditional exits when needed. These exits are based on the HTTP status codes: you can add an exit for every status code that you need.
(Execute) Process node
WEM comes with a large number of pre-defined processes that you can use in your workflow. These processes range from generating documents to sending email or sending data to Google Analytics. When this process node is dragged to the flowchart, a popup window appears where you select the process that you want to use. If you select a particular process you will immediately see which input parameters are availble/necessary for this proces. An example:
Note: By default, no processes are available: you need to define which processes are available through the Project settings for Processes
Once you have selected the process you need in your flowchart, the properties are availble:
The properties are similar for all processes: * Name of teh node, this is set by WEM and cannot be changed * The specific input parameters for this process. You get to the parameter by clicking on
Edit parameters; * The template that is specific for this process (e.g. the email body in case you want to send an email. You can edit the template by clicking on
Edit template. Not all processes have a template, so you will only see this button when a template is available.
An example of the input parameters for the “Send email”process:
On the left is the input parameter name, in the middle column the data type and the right column show the value when entered. On the far right is a button that takes you to the expression editor where you can enter the value for the parameter.
This node has two exits: *
Error– this exit is used when the process results in an error; *
Default exit – this exit is used when the process does not produce any errors.
Realtime message node
In WEM it is possible to generate messages, and listen to message. Based on these messages a specific action can be taken (e.g. write to a log or display popup on all user’s screens). This happens in realtime. And to use this functionlity, you need the realtime message node:
- You need a node to send a message;
- You need one or more nodes to listen to messages (“Chanels”);
- You can use a node to stop listening.
All of this is done through the realtime message node. But before you can use this node, you need to define realtime messages. Once this has been done you can use the node.
The properties of the node define how the node will behave: as a sender or a listener.
Let’s look at the various properties.
For the various node “Actions”, there is a different set of properties. Three properties are always available:
Name: the name of the node, which is set by WEM and cannot be changed;
Channel name: this is the name of the messaging channel you want to use. You are free to give it any name you want, as long as it is unique within the application. When you are listening to messages, or want to stop listening to messages, you need to specify the name of an existing channel;
Action: This property defines how the node will behave:
Start listening– the node will behave as a listener on a particular channel;
Send message– the node will now behave as a sender on a particular channel;
Stop listening– the node will stop the the listening on a particular channel.
Depening on the action, the remaining properties vary.
|Start listening to:||– Any message
– Specific message
|Listen to any message that is send on a particular channel or listen to a particular message. This distinction is only needed if more than one (1) message has been defined. When there are multiple messages, you need to select the message you want to listen to in case you are not listening to all the messages|
|Response action:||– Refresh screen
– Execute flowchart
– Navigate to
|When a message arrives, you need to tell the node which action must be executed.
When you select
|Security||When this checkbox is checked, the message is encrypted|
|Message folder||This is used to select the folder from which the message will be sent (the folders are defined when the messages are defined)|
|Stop listening at:||– All message
– A specific message
|Specify whether you want to stop listening to all messages or to a specific message (if the are multiple messages defined)|
This node has two exits: *
Error– this exit is used when the node produces an error; *
Default exit – this exit is used when there are no errors.
Using this node is the way to realize single sign-on in WEM. Let’s say the authentication provider is Microsoft Active Directory. When the user is already logged into the company network, the authentication node will recognize this and won’t ask for a username/password. If the user has not been logged in, he/she will be asked to log in. When this is done, the user is logged onto the company network, so all other applications that use Active Directoy will recognize this as well.
The authentication node can be used to authenticate a user, using a pre-defined authentication provider (how to set up authentication providers).
Using this node is simple: drag it to the workflow where the autentication needs to take place (e.g. the
Home flowchart) and make sure the workflow passes this node. Once the node has been reached, the pre-defined authentication provider does the user authentication. There are a few properties:
|Name||The name of the node. This is set by WEM and connact be changed|
|Authentication Provider||You can select the authentication provider that should be used by this node.
You can only select providers that have been previously defined
|Here you specify the action the node should pass on to the authentication provider. You can choose between signing on the user, or logging out the user|
The node has three possible exits:
- Authenticated – in this case the user is authenticated
- Not authenticated – the authentication failed or the user is logged out
- Error – the authentication resulted in an error
A note is not a node like the ones described before. a note is exactly that: a notition that you can drop on you flowchart. You could use this to explain the flow, place it behind a part of the flowchart to highlight that part, etc.
You can have multiple nots on you flowchart.
Next, let’s look at the WEM Modeler Data Model