Process Maker Features

84
ProcessMaker

Transcript of Process Maker Features

1. ProcessMaker 2. Outline 1. Introduction 2. Cases Inbox 3. User Management 4. Processes 5. Tasks 6. Steps 7. DyanForms 8. Input Documents 9. Output Documents 10. Triggers 11. Work Flows 12. Enterprise Plugins and Addons 13. Business Rules Engine 3. Products Name Target Audience ProcessMaker Cloud Edition The ProcessMaker Cloud Edition is recommended for corporations, governments and other organizations looking for an enterprise scale, production-ready business process management software that is hosted in cloud facilities (Amazon EC2, EAPPS, etc). ProcessMaker On-Premise Enterprise Edition ProcessMaker Enterprise "On-Premise" Subscriptions are recommended for corporations, governments and other organizations looking for an enterprise scale, production-ready business process management software that can be rapidly deployed on-premise. Process Maker Open Source The ProcessMaker Open Source is recommended for Developers working in non-mission critical environments. 4. 1. Introduction 5. A Process, which is the term we use to refer to a Business Process, is a collection of tasks that takes one or more kinds of input and creates an output that is of value to the customer or to an end user within the organization. The process output can be a tangible good or a service. Process 6. A task is the definition of a logical group of sequential steps, sharing a common goal. A task is composed of one or several steps. Task 7. A step is a piece of work that forms a clearly defined action. A step may be a manual action, or a workflow (automated) action. Examples of steps: upload a document, fill a form, download a PDF or DOC document. Step Step 1 (Upload Doc) Step 2 (Fill a form) Step 3 (Download a Form) Task 8. A case is an instance of a process definition. In other words, a business case can be seen as a work in progress. For example, to start a process, a case must be initiated in order to execute it. This case must complete the cycle, it means if a case has started it must end with the same number. Case variables are special variables which hold information about a ProcessMaker case and are only valid while that case is running. Case 9. Task1 Task2 Task3 Process Step Step Step Case1 Case3 Case2 User1 User2 User3 10. 1. Add process category 2. Create simple process (only tasks) for invoice approval 3. Assign it to employees (no groups) 4. Show how to create a case using process 5. Complete the case life cycle 6. Demo 11. 1. Create a new process category Management. 2. Add three new users (Saman Kumara, Anura Yapa, John Smith). 3. Create new process for medical claims with three sequential steps. a. Report Medical Claim (Saman) b. Approve Medical Claim (Anura) c. Reimburse Medical Claim (John) 4. Assign users to each step. 5. Create a case using the process. 6. Complete the process life cycle. Exercise 12. 2. Cases Inbox 13. The Cases Inbox is the heart of the end user experience in ProcessMaker. It is where the end user interaction takes place. The layout has been designed to appear similar to an email client with a list of folders on the left of the screen separating cases between an inbox, drafts, participated (or sent) as well as several other folder features unique to ProcessMaker. Cases within the inbox can be sorted, filtered and searched through. Users can also sort the case list in a variety of ways by clicking on a column header. Cases Inbox 14. Cases Inbox (ctd.) 15. 1. New Case - to start a new case 2. Inbox - cases which have been assigned to user a. The cases in the Inbox (formerly named TO DO) list are ordered by their priority, so priority 1 cases appear at the top of the list and priority 5 cases appear at the bottom. 3. Draft - cases which are not finalized 4. Participated - cases which have been participated by user Cases Inbox (ctd.) 16. 3. User Management 17. ProcessMaker organizes system users into users, groups, departments and roles. 1. User: A user account in ProcessMaker, which usually represents a person in your organization, but can also represent an account with special privileges such as the "admin" account. 2. Roles: Makes it possible to define customized roles with different levels of permissions, so that the functions and privileges of different users can be easily controlled and managed. 3. Groups: Users can be assigned to zero, one, or more groups. A group of users simplifies the assignment of tasks. For example, a Help Desk process may involve a pool of customer support clerks, all belonging to a user group named Customer Support. 4. Departments: Arranges the users under a organizational structure. Users,Groups,Departments and Roles 18. User details are given in USERS LIST tab under the USERS menu. Users 19. 1. PROCESSMAKER_ADMIN The PROCESSMAKER_ADMIN role is designed for system administrators and process designers who need access to all the features and functionality in ProcessMaker. Users who are assigned this role can do everything, including configure the system, create and edit processes, manage users and groups, manage cases, and oversee productivity with reports and dashboards. Roles 20. 2. PROCESSMAKER_MANAGER The PROCESSMAKER_MANAGER role is for users who need to manage cases, users and groups and oversee productivity, but do not need to design processes or configure ProcessMaker. 3. PROCESSMAKER_OPERATOR The PROCESSMAKER_OPERATOR role is for normal production users who just need to login and run cases. Roles (ctd.) 21. 1. Existing roles and their permissions 2. Assign user role to a new user 3. More details of user roles - http://wiki.processmaker.com/index.php/2.0/Roles# PROCESSMAKER_MANAGER Demo 22. Groups are a way to organize users and to simplify the assignment of tasks to multiple users. If the organization has 2 accountants and both are assigned to the "Generate Receipt" task, then an "Accountants" group could be created and assigned to the task rather than assigning each accountant individually. Assigning groups, rather than individual users will eliminate a lot of hassle for the designer of processes, since it can be difficult to remember to include every individual user when assigning tasks. Groups can be very convenient when there are frequent changes in personnel in an organization. If tasks assigned to a particular manager in dozens of processes, when that manager is transferred, each task will have to be reassigned to the new manager. In contrast, if the tasks are assigned to the group "Manager", then the only change will be to switch the one user in the group. Groups 23. 1. Create group 2. Assigning users to group 3. More details of groups - http://wiki.processmaker.com/index.php/Managi ng_Users Demo 24. Departments are another way to organize users based on a Organizational Structure. Organizational structure determines the manner and extent to which roles and responsibilities are delegated, controlled, and coordinated, and how information flows between levels of management. This structure depends entirely on the organization's objectives and the strategy chosen to achieve them. Defining the organizational structure by creating the Departments and assigning a Manager/Supervisor for each Department will allow the process to flow the information easier. For example there are tasks that need an authorization a Supervisor/Manager, by creating the Departments this authorization will be easier to handle. Departments 25. 1. Create new department. 2. Assign users. 3. Assign manager Demo 26. 1. Create 4 new users (Isuru Jayaweera, Sampath Liyanage, Tharindu Wijewardena, Chamath Sajeewa). 2. Create a department to represent the company. 3. Create 3 sub departments under that (sales, engineering and finance). 4. Add manager to each department (sales- Isuru ,engineering- John, finance- Anura). 5. Add employees to each department ({sales sampath},{engineering chamath, tharindu},{finance- no other employees}) 6. Create two groups (employee, manager). 7. Assign employees to two groups appropriately (all the users should be employees). Exercise 27. 4. Process 28. Designer tab under admin menu. Process has several key attributes (Process Title, Category, Status, User Owner, Created Date, Inbox, Draft, Completed, Cancelled, Total Cases) Process 29. Designer Sub Menu o New - to create new process. Title, description and category can be added. o Edit - to edit an existing process. o Status - to check the status of the process. Activated process can be deactivated and deactivated process can be activated. o Delete - to delete a process. It will be deleted a process only if there isn't users assigned in tasks and there's no running cases. o Export - to export a process from the designer menu directly. o Import - to import process from other database. Process (ctd.) 30. The Process Map is a grid area where business processes are laid out in a visual manner so they can be easily designed and their progress tracked at a glance. The Process Map uses a graphical drag-and-drop interface which allows elements to be easily added and deleted and rearranged. Right click contextual menus provide options for modifying the objects once they have been added to the map. Using the Process Map is a good way to clarify how the different people and departments in your organization will work together and to specify a logical order for decision making, approving requests, delegation of responsibilities, and fulfilling the necessary tasks to complete a process. Process (ctd.) 31. To start designing a process and adding elements to the Process Map, right click anywhere in a blank area on the map and select an option from the menu. Process (ctd.) Routing Rules Toolbar Task Routing Rule 32. Maps right click menu, Edit process - allows the process name and its description to be modified. Add SubProcess: allow cases to be run as a subprocess inside of a master process. Horizontal/ Vertical lines: allows visually divide the process. Process Permissions: Use Process Permissions to give specific users read-only access to information about cases. Process Permissions can be defined, so specific users can view or not view specified objects in cases, such as DynaForms, Input Documents and Output Documents. Process Supervisors: users who can access cases from the process and change the case data in DynaForms and Input Documents, without being assigned to particular tasks in the process. Use this submenu to specify what objects the Process Supervisors can access. Process (ctd.) 33. Can use Edit Process option to, Edit the process title Edit the process description Configure the calendar -Calendars allow process designers to specify the hours and days when users are expected to be at work, so that the due dates for tasks can be more accurately calculated. They also allow holidays to be specified, so those days are excluded when calculating the due date. Admin can edit the default calendar or he can create new calendar. Process (ctd.) 34. 5. Task 35. The first step in creating a Process is to define the tasks. In ProcessMaker a task is a logical group of sequential steps, sharing a common goal. Tasks can be assigned to different users or groups of users, so that a process can be used to coordinate the activities of different people or groups in an organization. Task Right click menu, o Steps - to add steps with in task o Users & User Groups - select this option to assign the task to user(s) or group(s), who will have permission to access and fulfill the task. o Users & User Groups (ad hoc) enable to reassign tasks. o Routing rule o Delete Routing rule o Delete task 36. Properties, Definition: o Title o Description o Case Priority:A variable or fixed integer which determines the priority of a task. The priority of a case can be between 1 and 5 (5-Very High,4-High,3-Normal, 2-Low,1-Very Low).By default, the priority of cases is determined by a system variable named @@SYS_CASE_PRIORITY, which has a default value of 3 (Normal priority), but that value can be changed by setting the value of @@SYS_CASE_PRIORITY in a trigger (or in a DynaForm field named "SYS_CASE_PRIORITY").If cases at this task should always have a fixed priority, then enter an integer between 1 and 5. o Routing Screen Template: users can personalize the default template to show a new one on the derivation screen for a particular task. Each task might have its own derivation screen template. Task (ctd.) 37. Assignment Rules: o Cyclical Assignment (Default Type) : task is assigned in a particular user by selecting that user from the pool of available users in a round-robin manner. o Manual Assignment: the user who completes the previous task in the process will manually select the user to work on the next task in the process. o Value Based Assignment o Reports to: this takes into account organization's structure as represented by ProcessMaker Departments. It selects the supervisor/manager of the user who completed the previous task in the process to work on the current task. This is a useful option when the process requires that the supervisor review the work of the people in his/her department. o Self Service o Self Service Value based on Assignment Task (ctd.) 38. Task Timing Controls, Task duration: Enter an integer which is the duration of the task. Negative and decimal numbers are not allowed. Unit time: The time units used to calculate the due date, which can be hours or days. Days to enter: Select whether the due date is calculated using work days or calendar days. If work days, then time is counted from Monday through Friday, 9am to 5pm. If calendar days, then time is counted according to the user's calendar. If the user doesn't have a selected calendar, then time is counted 24 hours per day, 7 days a week. Task (ctd.) 39. 1. Update the invoice approval process a. Assign tasks to user groups appropriately b. Add vertical lines to divide the process c. Configure the calendar d. Configure tasks priority, assignment rules, timing controls e. Show the functionality Demo 40. 1. Assign tasks to user groups appropriately ( 1st task employee, 2nd task managers, 3rd task Anura). 2. Add vertical lines and horizontal lines to divide the process. 3. Configure the calendar (Create new calendar {Monday Friday (9.00- 16.00) and Saturday (9.00-12.00)}). 4. Configure tasks priority (normal priority), assignment rules (2nd task- report to), timing controls (1st task 1 day, 2nd task 2 day, 3rd task 3day). 5. Check the functionality Exercise 41. Task Permission: enable arbitrary transfer (Ad hoc) and it will allow the users of the task to transfer it to users chosen in the Users & User Groups (Ad hoc). There are temporary or part time employees that are not always available to work on the task, so they should only be assigned to the task when available. A manager or the normally assigned users could reassign the case to the temporary employee when at work. Task (ctd.) User1 User2 User3 Task n Task n+1 42. Case Labels: By default cases are labeled according to their case number, which can make them difficult to identify when looking at a list of cases. Users scanning the list will not know which cases to work on when they have titles such as "#1", "#2", "#3", etc. The Case Title and Case Description can be customized to provide more better information about the case. Task Notifications: used to send an email notification to the next assigned user in the case (more details- http://wiki.processmaker.com/index.php/2.0/Tasks ). Task (ctd.) 43. 1. Update the invoice approval process a. Add two new users to finance department ( Adeesha Wijasisri (Temporary Worker), Lasitha Jayaweera (Permenant Worker)) . b. Add new task Confirm Expense Claim. c. Allow arbitrary transfer for newly added task. d. Assigned ad hoc users to newly added task. e. Show the functionality. Demo 44. 1. Add two new users to finance department ( Adeesha Wijasisri, Lasitha Jayaweera) . 2. Add new task Confirm Expense Claim. 3. Assign Anura Yapa as the user of the task 4. Allow arbitrary transfer for newly added task. 5. Assign Adeesha Wijayasiri as a ad hoc user to newly added task 6. Assign Lasitha Jayaweera as a user for final task 7. Check the functionality Exercise 45. 6. Step 46. In ProcessMaker a step is a piece of work that forms a clearly defined action within a task. There are four types of actions. They are, Dynaform fill a form. Input Document upload a document. Output Document download a document. Triggers provide appropriate framework to perform complex calculations and add additional functionality to processes. Step 47. 7. Dynaform 48. DynaForms, or Dynamic Forms, are the custom forms which can be designed in ProcessMaker to interface with the user while running a case. DynaForms allow users to view and enter data into cases in a graphical interface which should be intuitive for even non-technical users. Dynaform field names must be unique. Dynaform 49. Two types of Dynaforms, Normal : normal or master forms are designed to display only a single record and their fields are laid out vertically by default. They are stand-alone forms and can not be embedded into other forms. Grid : grid forms are designed to contain multiple records. Their fields are laid out horizontally in a single row, so they can be repeated to form a table consisting of columns and rows. Dynaform editor tabs, Preview - Displays a graphical preview of the DynaForm. Designer can add form elements. Dynaform (ctd.) 50. XML : to define the fields and other objects used in DynaForms. The flexibility of XML and its ability to add custom options to the language makes it a good match for ProcessMaker. HTML: to control layout and appearance of objects. Fields Handler: allows all the fields in a DynaForm to be easily viewed at a glance and their definitions to be edited or deleted. Moreover, the Fields Handler provides the ability to easily reorder fields in DynaForms by dragging and dropping the fields in new locations with the mouse. Java Scripts :allows process designers to insert JavaScript into their DynaForms. Properties: configure the general characteristics of the DynaForm. Mode allows the entire form to either be set to Edit or View mode. Next step option handles what will happen if user clicks Next Step without clicking submit button. Dynaform (ctd.) 51. Conditions Editor: The Conditions Editor is a user-friendly way to show or hide different elements of the DynaForm as the user interacts with the form and changes values in the fields. The Condition Editor allows for forms to be created with dynamic content without having to resort to JavaScript code. Conditions are evaluated whenever specified field(s) are either loaded and/or changed. If the condition evaluates to true, then fields will be shown or hidden depending on which function is selected. Dynaform (ctd.) 52. 1. Update the invoice approval process a. Create a dynaform to add expense details. b. Create a dynaform to Approve or Reject the claim c. Assign forms to tasks appropriately d. Show the functionality. Demo 53. 8. Input Documents 54. An Input Document is a box to hold a file or files associated with a particular case. These files can be text documents, spreadsheets, images or any other kind of file. An Input Document can be a hard copy (which has been printed out and stored in a filing cabinet), a digital file which is uploaded to the case, or both. An Input Document can be added as a step in a task or as a file object in a DynaForm. Following fields are given for input document, Title: Enter a title to identify the Input Document. Document type: Select whether the document is digital, printed or can be both digital and printed. If a digital document, the user will asked to upload the document. If printed, the user will be added to provide a description of the document which is presumably exists in physical form. Description: Enter a description of the Input Document, which will help the user better understand its purpose and what type of document should be submitted. Input Documents 55. Input document can be inserted to the process as a, Step can attach multiple attachments Field in Dynaform Input document can be accessed using Information in the step Separate step create separate step to view attachments Input Documents (ctd.) 56. 1. Update the invoice approval process a. Create a input document to add bill b. Assign it to task step c. Access it through step d. Show the functionality. Demo 57. 9. Output Documents 58. Output Documents are files generated while running a case, which are meant to be printed out or stored digitally outside ProcessMaker. Output Documents are useful for creating external records of case data, as well as creating formatted output such as bills, receipts, and letters. They are generated from HTML templates containing references to system and case variables, which are auto-inserted when the Output Document is generated as a step when running a case. Case variables and system variables can be inserted into the text of an Output Document: @#FIELD-NAME inserts the value of the variable without any changes. @@FIELD-NAME inserts the value of the variable enclosed in double quotation marks. Output Documents 59. There are several fields of output documents, Title: A title to identify the Output Document. File name generated: The name of the file to be created when the Output Document is generated while running cases. Description: A description about the Output Document, which should inform the user what is the general content or purpose of the document. Report Generator: Choose the engine Output Documents will use to be generated. Use HTML2PDF if using versions earlier than 2.5, otherwise use TCPDF if using versions 2.5 or later. Output Documents (ctd.) 60. Orientation: Select whether the document is in a portrait (vertical) or landscape (horizontal) layout. Media: Select the paper size. Output Document to Generate: Select whether the Output Document will be generated in DOC, PDF, or BOTH formats. PDF Security: A new option available in version 2.0.32 and later, which allows passwords to be set for the generated PDF document and restricts how it may be used. Enable Versioning: Check this option if needing to keep multiple versions of the Output Document. Versioning is useful if creating the same Output Document at multiple steps during a case. Destination Path: Tags: Enter the name of the identifying tag(s), which will be associated with this Output Document. Output Documents (ctd.) 61. 1. Update the invoice approval process a. Create new output document with claim details Demo 62. 1. Add following steps to existing tasks, Exercise Task Step Report Medical Expense Dynaform to add claim details (Full Name, Last Name, Address, Claim Date, Amount) Input Document to upload reports/ prescriptions Output document with claim details for employee to keep Approve Medical Expense View claim details Dynaform View uploaded reports/ prescriptions Dynaform to approve or reject claim 63. Exercise (ctd.) Task Step Confirm Medical Expense View claim details Dynaform Reimburse Medical Expense View claim details Dynaform 64. 10. Triggers 65. A trigger is a piece of PHP code that can be inserted into a process. Triggers provide the appropriate framework to perform complex calculations and add additional functionality to processes. A ProcessMaker trigger is parsed like a PHP script, so normal PHP variables and functions can used inside triggers, as well as ProcessMaker's case variables, system variables and its custom functions. PHP libraries can also be imported into ProcessMaker triggers with the include_once() function. With access to the PHP language and its libraries, a great deal of functionality can be added to a trigger. Triggers 66. Triggers can be fired at many points during the process. They can run: 1. Before or after a step is executed (i.e., Dynaforms, Input Documents, and Output Documents). 2. Before or after a case is routed (derivated) to the next task in the process. 3. Before a user is designated (assigned) to work on the next task is the process. Triggers (ctd.) 67. When referencing a case variables within a trigger, following rules have to be taken into account, @@variable_name The variable will be parsed as string type @%variable_name The variable will be parsed as integer type (a whole number) @#variable_name The variable will be parsed as float type (a real number with decimals). @?variable_name The variable will be parsed as a string used in a URL. Triggers (ctd.) 68. 1. Update the invoice approval process a. Create new trigger to reduce claim amount by 100 before reimbursing it. b. Add trigger before the reimbusring process. c. Show the functionality. Demo 69. 1. Add trigger to reduce original claim amount by Rs.100 before reimbursing the claim. Exercise 70. 11. Work Flows 71. Various types of work flows, Sequential:workflow automatically flows to subsequent tasks, so no special configuration is required, after connecting the tasks. Selection:allows the user assigned to the task to manually select which task will be the next in the workflow. Evaluation:uses a condition to decide whether the workflow moves to subsequent task(s). If the condition, which is a PHP expression, evaluates to true, then the workflow will move to the subsequent task. Work Flows 72. Parallel : divides the workflow into multiple threads (branches) which operate concurrently. Once the task has been completed, the workflow will take different sub-threads starting at the same time. Parallel by evaluation : divides the workflow in multiple paths, evaluating the condition for each of the paths to determine which ones will be executed. A path will only be executed if its condition evaluates to true. If false, it won't be executed, so make sure that at least one of the conditions evaluates to true to avoid errors. Parallel join Work Flows (ctd.) 73. 1. Create sequential workflow. 2. Create selection workflow (selection test). 3. Create evaluation workflow (evaluation test). 4. Update the invoice approval process to add evaluation. Demo 74. 1. Add Evaluation to the medical claim work flow. Exercise 75. 12. Enterprise Plugins and Add-ons 76. List of Enterprise plug-ins includes features and functionality that extend and enhance ProcessMakers performance and functionality.Plugins are only available together with Enterprise Subscription Plans. Commonly used plugins are, Business Rules Engine Enterprise Data Search Advanced Dashboards Simple Report Manager Version Upgrade Manager Advanced LDAP/AD Sync. More Details - http://www.processmaker.com/processmaker-plugins-and- addons Enterprise Plugins and Add-ons 77. 13. Business Rules Engine 78. A business rule is a group of rules that captures and implements business policies and practices. A rule can enforce business policy, make a decision, or generate new data from existing data. The Business Rules plugin is intended to help process designers to define Business Logic rule sets and share them among cases. These rules will be defined for each process by using a graphical interface which makes the definition easy-to-understand. The rule sets are executed by a trigger. The main objectives of the Business Rules plugin are: To apply business rules to all the cases in a process. To design business rules in a graphical interface which is easier to understand than trigger code. To allow process designers the ability to define, analyze, and test business rules while developing processes and running cases. Business Rules Engine (http://enterpriseedition.wiki.processmaker.com/index.php/Business_Rules) 79. Business Rules Engine (ctd.) Business Rules Engine BR1 BR3 BR4 BR2 Business People Process Case/Data 80. To define a conditions in rule, First select the field (from DynaForm) which will be used in the comparison for all the conditions. Assume we have selected Country Then select comparison operator (=,>,