BPM Tips¶
Execution in idle¶
When a process is initiated by a user interaction (e.g. after record created), it starts to execute in the web server process until the flow reaches a catching event, Send Message Task or User Task, that will switch execution to idle mode (process will continue to run by cron/daemon).
If you have script tasks that take some time to run it's reasonable to force to switch execution to idle mode. To avoid the user waiting until scripts are finished. A trick is to add Timer Intermediate Event with 0 timer value. You can add it right after a start event.
Unsetting process variables¶
All variables defined in a Script Task and Execute Formula Script action will be stored in the Process. If you don't need a specific variable to be used further in the process, it's reasonable to unset it in the end of the script.
$tempVariable = null;
Also consider to unset sensitive data immediately after usage.
Cleaning up ended processes¶
Ended Processes are not cleaned up automatically as a Process may hold information important for a business. You may utilize a scheduled Workflow rule that will handle removal of ended Processes.
Self-removal¶
You can setup a BPM process to remove itself. Add Task > Update Process Record. Add in formula: deleted = 1;
.
Displaying processes on record detail view¶
You can utilize the Report Panels feature to display all related processes on the record detail view.
- Create a List report for the Process entity type with the 'Target' runtime filter.
- Create a report panel (Administration > Report Panels) for your entity type, select the report.