Home > For Designers > Streams > Stream Details > Stream Definition > Subprocesses

Subprocesses

A subprocess is a process fragment that can be called from another stream process, or initiated manually by the user.

 

Invoking a Subprocess

 

There are three ways to initiate a subprocess:

 

 

Defining a Subprocess

To define a subprocess:

  1. Go to the stream definition. 
  2. Click the process selector, at the left end of the process toolbar.

     
  3. Click Add New Subprocess.
  4. Double-click the Start Process Execution step to configure the subprocess settings: 
    • Name - Give the subprocess a name.
    • Allow Manual Start - Users who have access to the record will be able to start the sub process manually from record detail page. When this open is not chosen, the sub process can be called from other processes using 'Call SubProcess' step.
    • Start Form - When an attempt is made to manually start the process, the selected form will be shown.
    • Required - The subprocess must be completed for the stream record to be completed.
  5. Define the process. 
  6. Click Save.

Use Cases

 

Subprocess are useful in following circumstances:

 

  1. A complex process can be broken down into smaller sub processes for effective management. Such subprocesses can be called using 'Call Subprocess Step' or 'Execute Subprocess' action available in 'Execute Actions Conditionally' step.
  2. Many a times some steps of certain streams are needed to be re-executed by end users after it is determined that a correction needs to be made. In those cases, sub processes can be made available for Manual Start even after a Record main process has already been completed. An example of this is 'Re-Open Bug' in a Bug Reporting system. Or 'Edit Assessment and Regenerate Print Report' in a Site Assessment system.

 In the following stream, the incident has already been marked as completed. But if it is required at a later time that a witness or employee report is needed, those processes can be started and the status of the incident will change back to 'In Process'. Such sub processes are created by marking them to be started manually. Such sub processes are available to be started multiple times.