Search
/
|
|
|

Process Manager Administration

EfficiencySpring ships with a toolset called Process Manager, which can be used to configure workflow processes that include approval steps, task steps, email notifications, Data Manager forms, and multiple user roles.

Configuring a Process

Configuring a process involves four groups of activities:

  1. Naming the process and selecting its Administrative section
  2. Defining top level objects (Stages, Roles, Forms, Uploads)
  3. Defining process steps that incorporate the top level objects
  4. Laying out the steps visually, and defining the process paths between them

1. Naming the process and selecting its Administrative section

When first creating a process, you are asked to enter a name for it, as well as the Administrative section used to administrate its instances. The selected administrative section must be a deployed Process Manager section. From this section, it will be possible to create instances of the process, assign roles, and carry out other administrative tasks.

2. Defining top level objects (Stages, Roles, Forms, Uploads)

The top level objects of a process are objects that are incorporated by the steps of the process, and are somewhat independent of the process flow itself.

Stages

Stages allow you to define the various stages of a process; each one can incorporate multiple steps. Whenever a step belonging to a stage is activated within a process instance, that stage then becomes the current stage of the process instance.

It's a common practice to define a "Completed" phase and later assign it to any steps in the process with a Response Type of "End"
Roles

Roles allow you to define the various actors of a process, such as "Accountant" or "Leave Approver". When a process instance is created, a user is assigned into each one of the defined roles.

Each step within a process is assigned to a role. Whenever an instance of a step is created, only the user assigned to that role can carry out the actions and approvals that step entails.

When configuring a role, one of the settings is Can Edit Roles?. This means that the user currently assigned to the role within a process instance has the authority to define what users are assigned to the other roles. For processes with an "Administrator" role define, this is a useful setting to have available.

The Use Logged In checkbox defines whether the Role is auto-assigned to the user triggering the process. This setting is useful for processes where the initial step is performed by a "Requestor", such as with a Leave Request process.

The Group dropdown box is used to specify which pool of users a role assigner can choose from when assigning a user to a role. The Default User dropdown box is used to specify the optional default user assigned to a process role when an instance of a process is first created.

Forms

A Form object is used to map a Data Manager section to a process. Process Manager steps can then include the Form as an item that needs to be filled out for the step to be considered complete.

Uploads

An Upload object provides context for the various file uploads that may occur during a process instance. When an Upload is associated with a step, any file uploads that occur for that step are cataloged according to the name of the Upload.

3. Defining process steps that incorporate the top level objects

With the top level objects defined, the time has arrived to create the actual steps of the process.

Response Types

Each step is assigned to a Response Type, indicating the types of outcomes that can flow from the step once it has been completed. Below are the types of responses.

Response Type Description
Start Every process must contain one and only one step that is assigned to the "Start" response type; it will be the initial step that is triggered when an instance of a process is created.
End Every process must also include one or more steps with the "End" response type. These steps, when triggered, signal that the process has been completed.
Approve Steps assigned to this response type have selectable outcomes such as "Approved", "Pending", and "Denied".
Task Steps assigned to this response type have selectable outcomes such "Complete" and "Pending".
Logic Steps assigned to this response type have selectable outcomes such "Yes" and "No".
Notify Steps assigned to this response type have no selectable outcomes. They send out emails to selected process participants and then trigger the next step(s) of the process.
Decision Steps assigned to this response type run custom code to determine which outcome path(s) to pursue.
Confirm Steps assigned to this response type are used to merge two or more threads of work. Once each outcome leading to a step assigned to this response type has occured, the confirm step will trigger the next step(s) in the process.


As stated earlier, each step is also assigned to a Role and a Stage. If Anyone In Role Group Can Provide Response is checked, then anyone who can be assigned into the Role can update the step's current status, even if he or she is not directly assigned to the Role.

A step can also be assigned to an Upload or a Form. For each one, it is also selectable whether completing the Upload or Form is necessary to complete the step.


Due Dates for steps can also be configured to either be based on the # of days since the instance of the step was created or the # of days since the instance of the step itself was created.

The X Layout Position and Y Layout Position fields can be left at 100 respectfully. They will be updated when the steps are laid out visually while creating the process flow.

The Instructions memo field is used to specify instructive text that tells the user how to complete the step. Placeholders can be used within the instructive text in case it need to contain URLs that lead to dynamic content (The table of allowed placeholders is below in the Creating Emails section).

Creating Emails

Once a step has been created, emails can be configured to trigger when an instance of the step starts, completes, or when a reminder threshold has been reached. For each email, you can specify a subject line, a message body in HTML, and a template to use. Several pieces of dynamic information can be inserted into the subjects and bodies of your emails through use of placeholders. Below is a list of all the placeholders available.

Placeholder What Will Be Inserted
#process_name# The name of the process the process instance is based on.
#process_id# The ID of the process the process instance is based on.
#instance_id# The ID of the process instance.
#instance_name# The name of the process instance.
#instance_description# The description of the process instance.
#instance_step_id# The ID of the instance of the step.
#step_id# The ID of the process step that the instance step is based on.
#step_name# The name of the step that the instance step is based on.
#stage_name# The name of the Stage that the step belongs to.
#form_id# The ID for the Form object the step is assigned to.
#form_name# The name of the Form object the step is assigned to.
#form_section_url# The URL of the Data Manager section the Form object is mapped to.
#form_section_id# The section ID of the Data Manager section the Form object is mapped to.
#form_record_id# The ID of the Data Manager record that is currently associated with the instance of the step via the Form object.
#start_date# The date the instance of the step was created.
#due_date# The date that the instance of the step must be completed by.
#response_name# The name of the current response associated with the instance of the step, a.k.a. "Pending" or "Complete", etc...
#user_id# The ID of the user assigned to the instance of the step.
#user_full_name# The full name of the user assigned to the instance of the step.
#user_name# The user name of the user assigned to the instance of the step.
#role_id# The ID of the Role the step is assigned to.
#role_name# The name of the Role the step is assigned to.
#host_section_url# For process instances that are hosted by a Data Manager record, the URL of the host section.
#host_record_id# For process instances that are hosted by a Data Manager record, the ID of the record.
#host_record_title# For process instances that are hosted by a Data Manager record, the record title of the record.
#host_record_field:fieldname# For process instances that are hosted by a Data Manager record, the formatted value of the field named in the placeholder. The field must be configured as a Report field.
#domain# The fully-qualified domain name of the EfficiencySpring installation sending out the the email.



The Execute When dropdown determines when the configured email should be sent. If "Reminder" is selected, then an option will appear where you can state when the reminder should be sent based on how many days are remaining before the due date. A negative number can be specified for configured late notifications.

The Send To Type dropdown determines who receives the email; it can be everyone in the process, everyone who can be assigned to a specific Role, or the current user that is assigned to a specific Role. For the latter two types, a Role can be selected using the next dropdown displayed.

4. Laying out the steps visually, and defining the process paths between them

Once all of the steps have been created, you may use the layout tool to visually place the steps and define connections between them. You can access this tool by clicking the Edit Step Layout link within the Steps tab.

In the visual tool, you may move steps around by double-clicking on them, moving your mouse, and then double-clicking again. Layout changes are made permanent by click the Save Layout button; this should be done often to insure layout changes are saved. The Connect Steps button can be used to connect two steps togethor. After clicking the button, click on the first step, then the second step. A popup box will appear asking for the type of outcome path you would like to use to connect the two steps togethor. The Edit Connection button can be used to edit an existing connection. After clicking the button, click on the connection you would like to update, and a popup box will appear allowing you to change the type of outcome associated with the connection. The Delete Connection button can be used to remove an outcome connecting two steps.

The Group Move button can be used to vertically move every step and connection down a certain number of pixels. After clicking the button, click the process diagram. A popup box will appear asking for the number of pixels to slide the steps downward. After entering a number, all of the steps located below the place where you clicked will be moved downward by the number of pixels specified.

 

Process Manager process configurations are stored in the following EfficiencySpring database tables:

PMS_Fillins
PMS_Outcomes
PMS_Process
PMS_Roles
PMS_Stages
PMS_Steps
PMS_Step_Emails
PMS_Uploads


Printable Version