Flowcharts

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).

Creating flowcharts

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:

  1. Regular flowchart
    These are the flowcharts that include user interaction (forms, pages, overlays, etc.). Most of the flowcharts are regular flowcharts.
  2. 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
  • Etc.

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.

Example:

In the example above we are adding a new case type, as part of a case management system. The steps:

  1. The flow always starts with the Start node;
  2. The next step is to add a new row in the Case Type list, using the List node;
  3. 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 Interaction node;
  4. 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.
  5. When the user wants to save the new Case Type, the Save database list changes node is executed, and when this node exits, the flowchart also exits by pointing to the End node;
  6. 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 End node;

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.

Node Exits

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.

Flowchart Editor

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).

Toolbar button Description
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.

Flowchart nodes

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:

Node Description
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 An end node has been reached.
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. Save or Cancel)
  • 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.

Item Description
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 Xthat appears in the upper righthand corener of the overlay.
Overlay size This specifies the size of the overlay. The options are:
Small
Medium
Large
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.

The 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!

End node

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.

Sub-flowchart node

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.

Decision node

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:

Exit Description
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.

Assignment node

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:

Item Options Description
Name This is the item for which a value is assigned. This property is set by WEM and cannot be changed.
Action Always available:
Clear value: The value of the item is set to unknown
New value: The value of the item is set to the value specified by the value property
Advanced...: The value is set to the value specified by the Operand propertyOther Action options are depending on the data type of the item.
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.

List node

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:

Item Description Exits
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
Action Add Row
This adds a new row in the specified list
Default exit
Delete current row
Deletes the current row of the list that is specified
Default exit
Delete multiple rows
This deletes multiple rows of a list. This property requires a second property:
Delete rows that match
Two possibilities:
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
Default exit
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
Two possibilities:
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 Edit order button that appears when this action is selected.
Default exit
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
Two popssibilities:
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 Edit orderbutton that appears when this action is selected.
Default exit
Not found: This exit is used when the expression that is used resultas in no applicable rows
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 Edit order button that appears when this action is selected.
Default exit
Not found: This exit is used when the expression that is used resultas in no applicable rows
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 Edit orde’ button that appears when this action is selected.
Default exit
Not found: This exit is used when the expression that is used results in no applicable rows
Reset row position
This action clears the row position, so no row is selected after this action
Default exit

Loop node

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:

Item Description
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
2. A selection of rows that match a certain condition. This condition can be specified using the WEM Expression Editor

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 Edit order’ button that appears when this action is selected. From here you can specify an expression and specify the order (ascending or descending).

A loop node has two different exits:

  • Next row
    When a new row has been reached, the node exits with the Next row exit. 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 loop exit.

Transaction save

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: Default exit.

Transaction discard

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: Default exit.

Data import

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.

Property Options Description
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 CSV or Excel format.
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:
CSV or Excel
Json
XML
Here you select the format that you will use to import the data.
Edit Mappings When you clock the Edit Mappings button, a new popup appears where you can define the mapping of the source to the target

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

The 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:

For every array, object, text field, 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:

  • The Name (you usually don’t change what the system created);
  • The Namespace of 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 Target collection
  • 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 (<catalog> or <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.

Data export

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:

Property Options Description
Name The name of the node. The name is automatically set and cannot be changed.
Format There are five options:
CSV
Excel (*.xlsx) – this is for the most recent Excel versions
Excel 97-2003 (*.xls) – this is for the older Excel versions
Json
XML
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 XMLor Jsonexports.
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 File or Text (in case of XMLor Json).
Delimiter There are four delimiters you can use:
Comma
Colon
Semicolon
Tab
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:
ASCII
Windows-1252
Latin 1
ISO 8859-1
UTF-8
UTF-16 LE
UTF-16 BE
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
Include BOM
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.
Edit Columns The Edit Columns button takes you to the Data Export Maps editor.

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.

Edit mapping

When you want to export to Json or XML, you need to specify a mapping to map the exported data to either Json or 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 Jsonor XML instead of importing data into your WEM application.

Service request

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.

HTTP request

When this node is reached, an HTTP request will be executed. The HTTP request node supports:

  • All common request methods (GET, POST, PUT, DELETE, PATCH, etc.);
  • 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.

The properties:

Item Options Description
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)
Method GET,POST, PUT, PATCH, DELETE, HEAD, TRACE, OPTIONS The HTTP request method that is used in this node
Follow Redirect Yes/No (checkbox)
Authentication – None
– 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
  • Error
    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

Property Options Description
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 Execute flowchart you must specify the flowchart that should be execute, and when you choose Navigate to, you need to select the navigation point.

Send message

Property Options Description
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

Property Options Description
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.

Authentication node

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:

Property Options Description
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
Action – SignOn
-Logout
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

Note

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

Next, let’s look at the WEM Modeler Data Model

 +31 (0)20 240 21 20       

Videos and images courtesy of WEM Modeler. © 2019. WEM Modeler.
SitemapPrivacy - Terms - Company

 +31 (0)20 240 21 20       


Videos and images courtesy of WEM Modeler.
© 2019 WEM Modeler.
SitemapPrivacy - Terms - Company