Designing a Process

Learn how to design a process.

Before you start

Design the flow of the entire process "on paper":

  • Define the goal of the process.
  • Identify the necessary steps.
  • Define the result of each step.
  • Decide if the process should be completed in one session or if you want users to be able to exit the process and resume it at a later time.
  • If the process spans multiple user sessions, define the necessary phases.
  • If you split the process into phases, define the entry and exit criteria for each phase.
  • If using phases, define how users get from one phase to the next (automatically or by clicking on a phase)
  • Identify the necessary input arguments (e.g. a parent record) and user input for the process, the phases and steps.
  • Decide on adequate data providers: Identify the variables you need to store in the process storage. Define custom data providers instead of entering complex expressions at various point of the process (extendability, performance).
  • For each step identify the user interaction needed for step dispatching (Select, Save, custom buttons).
  • Decide on helpful metrics to display for the process and the phases.

Identify reusable configuration units:

  • Use process steps already defined in UPDATE_DEFAULT
  • If you need to create a new step, identify an existing step to copy from
  • Click on the Processes and Steps pages to display the usage of a process or step.

For processes a list of buttons and menu actions calling the process is displayed. For steps a list of processes, phases, steps and sub-steps calling the step is displayed. Click on a link to switch to the respective configuration unit.

For Multi-Phase Processes

Decide on the general flow.

You can define phases as blocks returning to an evaluation step $phase where the currently active phase is (re-)evaluated:

You can define a loop with each phase returning to a central process ask page which either allows the user to select the next phase or just displays the items relevant for the next phase:

While designing the process

  • Click on the Processes and Steps pages to display the elements and flow of a process (starting with the current step).
  • Use the Description fields of the various configuration units to document their purpose, open issues, changes etc.

For information on actually defining a process, phases and steps, see Examples.

Errors occurring during the execution of a process (syntax errors, faulty storage definition, circular dependencies between data providers etc.) are written to the client log (debug mode). Enter "+process" as filter to display only process-related entries.