Managing Processes

From ProcessMaker

Jump to: navigation, search

Contents

Introduction

In the following sections you will be guided through the necessary steps to design and execute a business process from scratch. Before you ever start creating a new process you must have at least the following information at hand:

  • A compliant business process diagram
  • A list of users and groups who are going to interact with the process
  • A list of forms and documents used during the process.

Once you have this information at hand you can proceed to designing the actual business process by entering the ProcessMaker Process Managing interface. The recommended steps to obtain a complete business process are the following:

  • Define the Process Map: create all tasks and define their relationships.

Before you start the process configuration, it is important to take into account the ProcessMaker Object Model. After that, in order to explain the different options of Process Managing in ProcessMaker, a sample workflow for Credit Card Application is presented.

A sample workflow: Credit Card Application Process

The process you are about to create from scratch is a Credit Card Application Process. It is intended to be used by a fictional financial institution, and it will allow its Credit Card Center to process new applications.

The Process Map is as follows:

ProcessMap for the Credit Card Application process
  • The process starts when a credit card officer receives an online application submitted by an applicant and a new case is opened (Task: Application).
  • The credit card officer needs to verify the sent information (Task: Verification). If the information in the application is not complete the officer sends the case to a call center to contact the applicant and complete the form over the phone. (Task: Complete information)
  • When all information in the application is complete, the officer registers the applicant data (Task: Database Update). After that two parallel tasks will take place, because the credit card officer sends a request for employment and credit checks.
  • In other words, on one hand the call center verifies the employment status of the applicant (Task: Employment Verification). And on the other hand the officer in charge of credit risk assessment receives the application and runs a credit check with a 3rd party (Task: Credit Check)
  • Once all parallel tasks take place, the credit officer has all the necessary information to evaluate and decide if the application should be accepted or rejected (Task: Application Evaluation):
  • If the application fulfills all requisites, the credit card application is approved and the agreement generation proceeds (Task: Generate Agreement). After that the case can be closed. Otherwise the credit card is declined and the case is closed.

In the following lessons you will be conducted through the necessary steps to create and try this fully functional process from scratch.

Creating the Process Map

Creating a new process on ProcessMaker

In the following section you will create the Credit Card Application process described in the last section. Then you will define all required tasks in order to reflect the business process.


  • Create a new process: Processes->New.


  • Fill the New Process dialog as shown below:


It is possible to create a process based on a template. The templates basically create a process base with some tasks and derivation rules.


Once you press the Save button you will be conducted to the Process Map, which is an interactive and friendly Business Process Design environment.


This interface consists of a top pane menu and an interactive design area. The latter contains a large number of contextual menus that will allow you to design and maintain business processes with ease. Now that the business process has been defined, we will proceed with creating the tasks and their relationships.



Creating Your First Task

The following section explains how to create your first task (or activity).



There should be a new task in your design area named "Task 1" .


Right-click over the newly created task and select Properties option:


Now we are going to change the properties of this very first task, as shown in this window. The other tabs on this window allow defining different options for the tasks and they will be described as following:

Defining the task properties

a.Task Assignment Rules

The task assignment rules define what user will execute the task in a given business case. ProcessMaker has tree variations:

  • Cyclical ( or Round Robin ) Assignment: use the principle to choose automatically and equally one user from the entitled user group in a rational order.
  • Manual Assignment: gives the possibility to choose manually one user from the entitled user group, in other words the user list is displayed for the assignment.
  • Value Based Assignment: is done depending on the value of a given case variable


b.Task Timing Control

Processes and therefore tasks have to be done in determined times, for this reason ProcessMaker implements timing control. It is possible to define duration time limits in calendar or working days. Such duration time limits can be expressed in mount of days, hours or minutes.

c.Permissions In some cases it will be necessary to realize Ad-hoc assignments for cases to other users, here it is possible to define if the task can use Adhoc Assignment to User/Groups Adhoc.


d.Task Case Labels

Task case labels add more flexibility for the business cases defining customized labels with the use of case variable. In this way it is possible to have a customized case title, or customized case description or status. This option is helpful when the number of business cases is large.

e.Task Notifications

ProcessMaker makes it possible to send an email notification when the case is being sent to the next task. The tab Notifications allows you to define a text for the notification. It will be sent to the email address of the user who is in charge of the next task in the workflow. It is also possible to define advanced conditional notifications

The notification text can have case variables in order to personalize the message. Last but not least it is necessary to set up the email service, in order to be able to send a notification .

Creating the Remaining Tasks

Follow the same steps to create all remaining tasks (2 through 7). Below is a summary of required settings for these tasks. All non-mentioned fields should be left to their default values.

  • Task 2 Verification: In this task, the credit officer will verify the information sent together with the application. If the information is not complete he will send the application to the call center, otherwise the application will be sent for processing.
  • Task 3 Complete Information: In this task, the call center will call the applicant and verify the observed or incomplete information.
  • Task 4 Database Update: In this task, the applicant information will be recorded in the Data Base.
  • Task 5 Credit Check: In this task, the credit officer runs a credit check on the applicant.
  • Task 6 Employment Verification: In this task, the call center verifies the current employment of the applicant.
  • Task 7 Application Evaluation: In this task, the credit officer verifies that the application fulfills the necessary requirements. As an outcome of the preceding evaluation, the credit officer takes the decision to approve or to reject the application.
  • Task 8 Generate Agreement: Description: If credit card application has been accepted, in this task the credit officer generates the corresponding Agreement.

Once you have completed the creation of these tasks, use the design area to organize them. Also add line guides and texts. The following sections explain how you can define derivation rules, starting and ending tasks.

Defining the Starting and Ending Task

In this section, you will define the starting task of this sample process.

  • Right-click over the Application task, and enter the Properties interface.
  • Now check the Starting Task checkbox.
  • Press the Save button and go back to the Process Map.

There are three possible ending points for the Credit Card Application Process: either the information is not complete, either the application is rejected, or it is approved. These outcomes have a corresponding activity in the current process design. Two of these ending points are a consequence of derivation rule (that is after tasks: Complete Information and Application Evaluation). Following sections related to derivation rules explain how you can define them.

Now you will define the ending point after Generate Agreement task:

  • Select on the derivation tool the “End of process” button. Drag and drop the button on the Generate Agreement task.

In the next section you will define different derivation rules for this sample process.

Defining derivation rules by Selection

Defining Derivation Rule by Selection

Derivation rule objects define the workflow thread, and this section gives an example of sequential derivation for the Credit Card Application process.

In the task “Complete Information” the call center will call the applicant and verify the observed or incomplete information.

  • Select on the derivation tool the “Selection” button. Drag and drop the button on the Complete Information task and connect it with the Database information task.
  • Right-click on Complete Information task and select Derivation Rules menu option. Write the description to orient the selection for the task Database information. For this example “If the information is complete” the workflow thread goes to Database Update. This description will be displayed when a business case runs.

After that press the New link and choose from the dropdown the option “End of Process” to end the workflow thread. Finally write the description to orient the selection, in this case If the information is not enough” the workflow thread ends.

Defining derivation rules by Evaluation

The thread workflow can change its course according a condition. The derivation rule by evaluation supports this feature using case variables to build conditions. This section explains how the derivation rule by evaluation works using the Credit Card Application example.

In Application Evaluation task the credit officer evaluates if the application fulfills the necessary requirements. Then he takes the decision to approve or to reject the application.

Dfining Derivation Rule by Evaluation

For this example it is necessary to define the Case Variable “DECISION” on a dynaform assigned to the task Application Evaluation. A condition in the derivation rule by evaluation will evaluate the value given to this case variable (see illustration below). To reference a case variable within the process definition, it must always be prefixed with a double “at” sign (@@), that is @@DECISION.

  • Select on the derivation tool the “Evaluation” button. Drag and drop the button on the Application Evaluation task and connect it with the Generate Agreement task.
  • Right-click on Application Evaluation task and select Derivation Rules menu option. Write the condition to lead the thread workflow course to the task Generate Agreement, that is
  If @@DECISION==”Y” – (approved)
  • Now it is necessary define where thread workflow course
  if @@DECISION==”N” – (rejected) 
  • in this case thread workflow ends. Then press the Add link and choose from the dropdown the option “End of Process” (see illustration 27). Finally write the related condition, that is:
  @@DECISION==”N”

Defining derivation rules by Parallel fork and Parallel Join

The thread workflow can take different sub-threads and start different tasks at the same time. Then when such tasks are finished the sub-threads should be joined, and the workflow can continue. In this context ProcessMaker has the derivation rules by “Parallel Fork” and “Parallel Join”. This section gives an example for both derivation rules for the credit card application.

Defining Derivation Rule by Parallel Join

Once the Database Update concludes, two parallel tasks starts i.e. Credit Check and Employment Verification.

  • Select on the derivation tool the “Parallel (fork)” button. Drag and drop the button on the Database Update task and connect it with the Credit Check task.
  • After that, select the derivation tool “Parallel (fork)” button. Drag and drop the button on the Database Update task and connect it with the Employment Verification task.
  • If you right-click on the Data Base Update task and select Derivation Rules menu option you can see the following illustration. There it is possible to define more parallel tasks.

Information is entered to build a case by using DynaForms. DynaForms are web forms, which can be easily designed with a powerful tool already embedded into ProcessMaker, the DynaForms Editor. In the following sections you will create your first DynaForm, the Application Form.

  • In order to ensure the workflow continues only when every parallel task is finished, every parallel task needs a “Parallel Join”. For this reason, drag and drop the derivation “Parallel Join” button on Credit Check Credit task and connect it to Evaluation Application. Repeat this step for the Employment verification task.

Creating Steps

In the following sections you will create DynaForms, Input Documents and Output documents. Then you will assign them to existing tasks of your business process definition.

The following sections present you a brief introduction regarding the steps creation. To run a case for the process “Credit Card Application” you can import the whole process definition using the “CreditCardAappplication.pm”.


Creating a Master-Dynaform

Master Dynaforms

In this section you will create the Application form. This form is intended to be used by an external applicant.




  • Once you enter the Process Map interface go to the DynaForms section.
  • Create a new DynaForm by clicking on the New link.
  • Fill out the New DynaForm interface and press the Save button. After that you should now be presented with the list of existing Dynaforms.
DynaForm Builder


By clicking on the Edit link, you will see the Dynaform Builder. This interface contains all required tools for dealing with DynaForms. Now you will learn how to add fields to your first DynaForm.



Field Toolbox for DynaForms

We will add one field of type Title to the Credit Card Application DynaForm.

  • From the toolbox, click on the control of type Title:




Add title

Enter the following information:



DynaForm in Preview Mode with First "Title" Control
  • After pressing Save, you will be presented with a DynaForm in Preview mode, similar to this:



Dynaform’s Field List
  • To sort the different fields, you can use the tab “Field List” and order them properly. Another option is to edit the XML definition on the respective tab.





. Credit Card Application DynaForm

Now you know how to include fields into a DynaForm. Here (link a una nueva seccion) you can find a description of the different field types.

Create all remaining fields according to this illustration.

Grid Dynaforms

With ProcessMaker it is possible to manage data grids. For that it is necessary to create a Dynaform type “Grid” that includes the data (columns) definition. To render and to manage this information, the grid should be joined to a dynaform “Master” type. This section will explain how to create a Grid-dynaform and how to join it with an existing Master-dynaform.

Field list

In order to get more detailed information about the Applicant employment information, we will create a new grid-dynaform. This grid-dynaform will be embedded the "Credit Card Application" dynaform



  • Create a new DynaForm by clicking on the New link:


  • Fill out the New DynaForm interface the Save button. This dynaform has the type “Grid”.


  • After pressing Accept, you will be presented with a DynaForm in Preview mode, similar to this:

Input Documents

Input Document

So far you have created steps in DynaForms. Such steps allow receiving information from end users who must type input data into Web forms. In this section you will create another type of steps: Input Documents. Documents required in a given activity context, they can be hard copy (impressed) or digital.


In this section you will create a sample about Additional Documentation intended to be part of the Application task.

Creating an Input-Document


  • Create a new input document by clicking on the new link





As of version 1.2-2425, it is possible to indicate what input document corresponds to a file control object in your dynaForm. For instance, if an organization has different types of input documents such card ids, receipts or contracts, in the dynaform it can be indicated which kind of document should be uploaded.

Output Documents

output document

Output Documents is another steps type. They can be either PDF (Portable Document Format) or RTF (Rich Text Format) documents automatically generated in a given activity context. An Output document can use one or more case variables and place them in a formatted output file, applying a PDF or RTF template definition.

In this section you will create a sample “Approval Letter” intended to be part of the Application Evaluation task.

  • Create a new output document by clicking on the new link

In the design area copy the following text, then save the file:

Newly Created Output Document
    @#TASK_DATE
    
    Mr./Ms.  @#APPLICANT_NAME @#APPLICANT_LAST
    @#APPLICANT_EMAIL
        
    Dear Mr./Ms.  @#APPLICANT_LAST
    After reviewing your application for a @#CARD_TYPE card, I inform you that your application 
    was  approved for a credit limit of @#CREDIT_LIMIT Dollars.  In the next few days you 
    will receive an agreement. You should sign it and return us.  Then you will receive your new
    credit card. If you need further information do not hesitate in contacting our credit card 
    center at 1-800-567-2333.
    
    Thank you for trusting our organization.
    
    Best Regards
    @#CREDIT_OFFICER
    Credit Card Center Supervisor
  • Apply appropriate formatting to this document. You can include graphic elements, such as logos.

When you save the changes, the output-document is automatically uploaded into your ProcessMaker workspace.

Triggers

Most business rules are far more than simple Boolean conditions. For this reason Triggers provide the appropriate framework to perform complex calculations, to name a few.

In this section you will create a trigger to get the actual time from the operating system which to be part of the Application task.

  • Create a new input trigger by clicking on the new link:
Creating Trigger



  • After that, fill out the form with the following information:



Now all pieces are in place to start assigning steps to each and every task.

Assigning Steps and Users to Tasks

Assigning Steps to Tasks

Assigning a step to a task

This lesson will guide you through the required step to assign the a Credit Card Application form to the starting task.


  • Right-click on the Application task and select the Steps option:


  • On the resulting popup click on Add Step link and select the element “Credit Card Application form” from the DynaForm list.


steps application
  • Here it is possible to assign input and output documents as well. Following you can add also the input document “Identification”. After that the task “Application” has two steps.


  • When a business case runs, these steps will be shown in the same order as defined on the Step Windows. For this example, when Application task runs, first will be shown the Dynamform “Credit Card Application Form” and after that the Input document "Identification"

Assigning Users

By accessing the users management interface, you can create users and groups with complete freedom. In order to assign a user to a process, you should follow the same steps described in the last section.

Users and User Groups (Ad-hoc)

In some cases it will be necessary to realize Ad-hoc assignments for cases to other users. Users/Groups adhoc option in the Task Menu allows to define to what users a given case can be reassigned.

The related task must have enabled the permission under the tab "Permissions" in the option "Task Properties" from the Task Menu.

Once this is set, the Adhoc assignment can be performed in the Cases Menu in the Unified Workspace, under the tab "Actions" tab, option "Adhoc Assignment".

Defining Process Supervisor

In some cases it is necessary to have a supervisor for processes who can monitor the cases, checking the dynaforms or documents of a specific case. Likewise due to a special situation, it can be necessary to edit a dynaform. For this reason ProcessMaker allows you to define a process supervisor, to do that follow the next steps.


  • Right-click on the design area and select Process Supervisor:



  • The following window appears. Click on Process Supervisor and select a user, who will supervise the process. This user should have a role with PM_SUPERVISOR permission


  • After that you should define which dynaforms can be edited by the Process Supervisor. To do that Right-click on the process design area and select Dynaforms for the supervisor. The following window appears which allows you to select the Dynaforms for the supervisor.

Importing and Exporting Processes

ProcessMaker gives the possibility to import new processes and export your own processes. With this aim, ProcessMaker generates a file .pm that includes the whole structure of your process. That means a .pm file has the definition of the processmap, dynaform, input and documents, and triggers as well. You can find some .pm files in our section Community Portal: http://wiki.processmaker.com/index.php/Processmaker:Community_Portal

On this page you find also the file “CreditCardApplication.pm” that includes the whole definition for our process example.


Export Procedure

To export a .pm file follow the next steps:



  • There will be presented the following window, which have a link to the generated CreditCardApplication2.pm file. If you click on this link, you can download this file, which contains the process definition.


  • Please note that your tables and users are not exported.

Import Procedure

To import a .pm file follow the next steps:


  • Click on the Import link of the Process Menu-option (See following illustration).



Browse
  • There will be presented the following window. There you can select the .pm file and import it.
translations