FIXME **This page is not fully translated, yet. Please help completing the translation.**\\ //(remove this paragraph once the translation is finished)//
===== Explanation softlinks =====
A softlink can be created at any point of a process without being considered in the modeling of the main process.\\
Unlike a subprocess a softlink does not proceed sequentially to its main process.\\
A limited sequencing can be achieved by the inclusion of a timer/actionhandler.\\
The connection is done by a process variable in the softlink which has the ID of the main process as value.\\
\\
A softlink can either be created by implementing the necessary JavaScript functions or by an [[en:software:tim:actionhandler:startsoftlinksfromprocessvariableshandler|ActionHandler]].\\
\\
A softlink has no special conditions so every runnable process can be considered as softlink. \\
\\
In order to evaluate the launched softlinks of a process, the corresponding JavaScript code must be implemented, which allows a graphical analysis in the smartform of the main process.\\
\\
=== JavaScript ===
== WebService ==
webService.ProcessVariableManager.startNewSubProcessInstanceWithSoftLink
__Parameter:__\\
- Name of the process definition to be started
- Inheritance of all process variables of the main process (true/false)
- ID of the main process
- Name of the softlink instance
- Callback function
__Example:__\\
webService.ProcessVariableManager.startNewSubProcessInstanceWithSoftLink('IAMTHEPROCESSTOBESTARTED', true, '010101', 'THATISHOWMYINSTANCESHOULDBENAMED', function(WEBSERVICEANSWER){
PROCESSING THE REPLY...
});
== Button in smartform ==
It is possible to include a button in the smartform which starts a softlink by clicking.\\
The button needs the initMethod: 'createSoftLink'.
\\
__Parameter in value (';' seperate):__\\
- Name of the process definition to be started or name of a process variable which contains the name of the process definition!!
- Inheritance of process variables of the main process (true/false)
- Name of the softlink instance or name of a process variable which contains the name!!
- Callback function OPTIONAL!!
__Example:__\\
Softlink Button
=== Evaluate softlinks ===
== Webservice ==
To find all softlinks of a process:
webService.ProcessInstanceManager.getSoftLinkedSubprocesses('IDOFTHEMAINPROCESS', function(WEBSERVICEANSWER){
PROCESSING THE REPLY...
});
To evaluate all variables of a softlink:
webService.ProcessVariableManager.getProcessContextEntity('IDOFTHESOFTLINK', function(WEBSERVICEANSWER){
PROCESSING THE REPLY...
});
For changing the variables of a softlink, the WSEntity which was received by webService.ProcessVariableManager.getProcessContextEntity must be changed and returned .
webService.GenericEntityManager.merge(WSENTITY);