Skip to main content
In the 2018.1 release of the Thinkwise Suite we have followed up on 2017.1’s major modernization of process flows, and have introduced some more cool features.



Deep linking

As of version 2018.1, our Web GUI supports deep links. A deep link is a link which doesn’t just point to the location of an application, but also a location within that application. For instance, a deep link could direct a user to a certain subject, a certain record within that subject, and perhaps start a task or report for that record.



At this point you might be wondering what deep linking and process flows have in common. Well, we wanted our capabilities for deep linking to be rich, without making the links themselves long and complicated. We concluded that the features we wanted to be ‘deep linkable’ were exactly the same features as those offered by process flows. Because of this, our implementation of deep linking is simply being able to trigger a process flow through a link. This gives developers full control over what can and cannot be deep linked, and furthermore, everything that is possible in a process flow can now be turned into a link which you can send to someone, use in an email or in a report template.



Enable deep linking



After upgrading to version 2018.1, you can make a process flow available for deep linking by checking the ‘Deep linking allowed‘ box. However, please note that process flows that are available for deep linking can only be started by a deep link and not by a user action.







Using variables in a deep link



It’s possible to provide values for variables in the deep link, to allow more dynamic scenarios to be implemented, such as navigating to a certain record. If you want to allow a variable to be used in a deep link, simply check the ‘Available‘ box for the variable. If you want it to be mandatory in the deep link, then check the ‘Mandatory‘ box.







Preparing and validating deep links



When a deep link is started, it might be necessary to validate or prepare some things before the process flow can be started. For instance, the variable values provided by the deep link might make no sense, and you might want to notify the user of this. Or perhaps the process flow requires additional variables to be set before it can start, but these variables are sensitive in nature and you don’t want to put them in the deep link. To fulfil these requirements, you can implement the process procedure of the ‘Start’ action. Traditional process flows will never trigger the process procedure of this action, but deep links will. In the process procedure, you will receive the values of the variables in the deep link and based on these values you can set the values of other variables and determine how the process flow should continue.



Creating a deep link



Once you have configured a process flow for deep linking, you will need to create the link itself in order to send it to someone or use it in an email or report template. The format of a deep link URL is as follows:





https://rserver]/>web_application]/DeeplinkHandler.ashx?guiApplAlias=lgui_appl_alias]&processFlowID=aprocess_flow_id]&$wvariable1]=wvalue1]&$rvariable2]=lvalue2]



The template above needs to be filled out as follows:




  • needs to be replaced with the alias of the application in IAM. When starting the GUI with an SF metasource, this parameter can be removed from the URL.
  • needs to be replaced with the ID of the process flow which needs to be started by the deep link.
  • and need to be replaced by the ID of the process variable and the value it should receive. Multiple variables can be specified in the deep link. Note that the ID of the process variable needs to be preceded by a $-sign.

Using deep links without process flows



The most elaborate deep links require a process flow to be present in the application, but we wanted to avoid the need to create hundreds of identical process flows for the most common and simple use case out there; directing a person to a record in a subject.



To address this use case, we have added a feature to the GUI that allows all users to create a deep link for any record in any master or detail context, which they can share with other users to direct them to that record. This is purely a GUI-feature that does not require version 2018.1 of the SF or IAM to work, and is already available in the latest version of the GUI.

Here is how you can access this feature:







This will give the following result:

Even though deep links can only be consumed by the Web GUI, they can be produced through the ‘Share’feature by the Windows GUI as well. However, this does require the extended property ‘WebGuiUrl’ to be configured for the global settings with the URL of the Web GUI for which the deep link should be created. The value of this extended property should have the following format: https:///.



New process action Show Message



A frequently requested feature for process flows is the ability to show a dialog to the user with several options and base the continuation of the flow on the option chosen by the user. As of version 2018.1 of the Thinkwise Suite, we have introduced the process action ‘Show message’ which makes this possible.





How it works



The process action ‘Show message’ works with your existing messages in the Software Factory. When creating a process action of the type ‘Show message’, it is necessary to choose a predefined message. Messages which are used in process flows can contain parameters in their translation which correspond to the ID’s of the variables in the process flow. The GUI will replace these parameters with the current value of the corresponding variable. For example: “The value of variable_1 is: {variable_1}.”.



As of version 2018.1, it’s possible to add message options to a message. These options represent the choices a user can make when presented with the message. For example, this configuration in the Software Factory:







Will result in this dialog in the GUI:



When adding a message option to a message, you can choose between ‘Affirmative’ and ‘Negative’. An affirmative message option will be given a unique status code of zero or higher, while a negative message option will be given a unique negative status code. These response types and corresponding status codes are directly related to the green and red arrows in the Process Flow Modeler. In some cases, it might be necessary to have multiple affirmative and/or multiple negative message options which have different effects on the continuation of the process flow. To achieve this, the ‘Status code’ value of a message option will be passed as the ‘Status code’ output parameter of the process action.



Icons are optional and the order number of the message option (#) determines the order of the buttons on the dialog.



Additional changes

Aside from deep linking and the ‘Show message’ process action, a few more changes have been made.




  • The ‘Read file’ and ‘Write file’ process actions both have the new input parameter ‘Encoding’. With this input parameter, you can specify how the GUI should interpret a file or how it should write a file to disk.
  • Task output parameters will now contain the values of the output parameters after the task has been executed. This makes it possible to change the value of the output parameters inside of the task.
  • The ‘Screen output’ feature of task parameters has been removed from the GUI, because this behaviour can be implemented by using the tsf_send_message procedure (or the new ‘Show message’ process action). The ‘Screen output’ option in the Software Factory has been replaced by the new ‘Task output’ option. Turning on this option will result in the task parameters being generated as an output parameter in the stored procedure.

Be the first to reply!

Reply