bpm features 150303180423 conversion gate01

84
ProcessMaker

Upload: yves-mandjek

Post on 15-Jan-2016

225 views

Category:

Documents


0 download

DESCRIPTION

Process maker features

TRANSCRIPT

ProcessMaker

ProcessMaker

OutlineIntroductionCases InboxUser ManagementProcessesTasksStepsDyanFormsInput DocumentsOutput DocumentsTriggersWork FlowsEnterprise Plugins and AddonsBusiness Rules Engine

ProductsNameTarget AudienceProcessMaker Cloud EditionTheProcessMaker Cloud Editionis 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" Subscriptionsare 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.1. IntroductionA 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.ProcessA 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

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.StepStep 1(Upload Doc)Step 2(Fill a form)Step 3(Download a Form)TaskA case is an instance of a process definition. In other words, a business case can be seen as awork 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 variablesare special variables which hold information about a ProcessMaker case and are only valid while that case is running.CaseTask1Task2Task3ProcessStepStepStepCase1Case3Case2User1User2User3Add process categoryCreate simple process (only tasks) for invoice approvalAssign it to employees (no groups)Show how to create a case using processComplete the case life cycle

DemoCreate a new process category Management.Add three new users (Saman Kumara, Anura Yapa, John Smith).Create new process for medical claims with three sequential steps.Report Medical Claim (Saman)Approve Medical Claim (Anura)Reimburse Medical Claim (John)4. Assign users to each step.5. Create a case using the process.6. Complete the process life cycle.Exercise2. Cases InboxThe 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 Inboxhere is a large quantity of information available to the end user when they look at their Cases Inbox, such as who sent the case to them, the date that the case is due, the case priority, which process the case is being run through and which particular task within that process the case is currently pending on.

Cases Inbox (ctd.)

New Case - to start a new caseInbox - cases which have been assigned to userThe 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.Draft - cases which are not finalizedParticipated - cases which have been participated by userCases Inbox (ctd.)3. User ManagementProcessMaker organizes system users into users, groups, departments and roles.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.Roles: Makes it possible to define customizedroleswith different levels of permissions, so that the functions and privileges of different users can be easily controlled and managed.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.Departments: Arranges the users under a organizational structure.

Users,Groups,Departments and Roleshttp://127.0.0.1/sysworkflow/en/neoclassic/setup/main User details are given in USERS LIST tab under the USERS menu.

Users

Full Name: This column displays the last and first name of each user.Username: This column displays the username.Email: This column displays the email for each user.Role: This column displays the current role of each user account. There are two default roles: PROCESSMAKER_ADMIN and PROCESSMAKER_OPERATOR. User accounts assigned the PROCESSMAKER_ADMIN role are enabled to create, modify or delete existing processes. User accounts assigned the PROCESSMAKER_OPERATOR role are meant for production mode, with access limited to the CASES interface. Additional roles can be defined to give users a different set of permissions.Due Date: This column displays when a user's account is scheduled to be deactivated.

1. PROCESSMAKER_ADMINThePROCESSMAKER_ADMINrole 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

http://wiki.processmaker.com/index.php/2.0/Roles#PROCESSMAKER_MANAGER

2. PROCESSMAKER_MANAGERThePROCESSMAKER_MANAGERrole 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_OPERATORThePROCESSMAKER_OPERATORrole is for normal production users who just need to login and run cases.

Roles (ctd.)

Existing roles and their permissionsAssign user role to a new userMore details of user roles - http://wiki.processmaker.com/index.php/2.0/Roles#PROCESSMAKER_MANAGER DemoGroups 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.

Groupshttp://wiki.processmaker.com/index.php/Managing_Users Create groupAssigning users to groupMore details of groups - http://wiki.processmaker.com/index.php/Managing_Users Demohttp://wiki.processmaker.com/index.php/Managing_Users group sectionDepartments 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.DepartmentsIt is important to consider that the manager/supervisor of a department is filled automatically in the field Reports to, for all the users in the Department. The only exception is for the manager/supervisor, that has no sense for him to be his own manager/supervisor so his manager/supervisor will be the one from the parent Department.Create new department.Assign users.Assign managerDemoCreate 4 new users (Isuru Jayaweera, Sampath Liyanage, Tharindu Wijewardena, Chamath Sajeewa).Create a department to represent the company.Create 3 sub departments under that (sales, engineering and finance).Add manager to each department (sales- Isuru ,engineering- John, finance- Anura).Add employees to each department ({sales sampath},{engineering chamath, tharindu},{finance- no other employees})Create two groups (employee, manager).Assign employees to two groups appropriately (all the users should be employees).

Exercise4. ProcessDesigner tab under admin menu.

Process has several key attributes(Process Title, Category, Status, User Owner, Created Date, Inbox, Draft, Completed, Cancelled, Total Cases)Process

Process Title : Title of processesCategory: Category of the process, that may be created in the process mapStatus: Status of the caseUser owner: the owner of the processCreate date: Date of its creationInbox: Number of processes in inboxDraft: Number of processes in draftCompleted: Number of processes completedCanceled: Number of cases canceledTotal Cases: Number of total casesDebug: Helps the user finding syntax errors, and also to trace the related variables.

Designer Sub MenuNew - to create new process. Title, description and category can be added.Edit - to edit an existing process.Status - to check the status of the process. Activated process can be deactivated and deactivated process can be activated.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.Export - to export a process from the designer menu directly.Import - to import process from other database.Process (ctd.)Edit -> if you click this it will go to process map, in that case again right click and click editThe 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.)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 ToolbarTaskRouting RuleMaps 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.)

Web Entry: Web Entry is an option to initiate new cases from a DynaForm displayed in an external web page.Case Tracker: The Case Tracker allows external users to follow a case's progress and access information about that case through a case code and PIN. Use this submenu to specify what objects the external users are allowed to see in the Case Tracker.Process Files Manager: Use the Process Files Manager to load external documents into ProcessMaker. Unlike Input Document files, which often change for each new case, this option is generally used for files which are unchanging and needed by all the cases in a process. The Process Files Manager can also create email templates which are used to send notifications. Events: Events allow a trigger to be fired or an email to be sent at a specified time during a process.

Can use Edit Process option to,Edit the process titleEdit the process descriptionConfigure 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.)Calendars can be used to calculate dates, according to how it is created, for instance, a calendar, specifying the work days, can be created, so when the salary for each month need to be calculated, it only calculates working days and not holidays or weekends.

5. TaskThe 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,Steps - to add steps with in taskUsers & 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.Users & User Groups (ad hoc) enable to reassign tasks.Routing ruleDelete Routing ruleDelete task

Users & User Groups (Adhoc): Select this option to assign user(s) or group(s) to a task on an ad hoc basis. The normally assigned users to a task can reassign the case to any user or group who has been assigned ad hoc.http://wiki.processmaker.com/index.php/2.0/Tasks Properties,Definition: TitleDescriptionCase 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.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.)Assignment Rules: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.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.Value Based AssignmentReports 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. Self ServiceSelf Service Value based on AssignmentTask (ctd.)Assume a particular task is assigned to managers. Then which manager you should assign the task.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.)Update the invoice approval processAssign tasks to user groups appropriatelyAdd vertical lines to divide the processConfigure the calendarConfigure tasks priority, assignment rules, timing controlsShow the functionality

DemoAssign tasks to user groups appropriately ( 1st task employee, 2nd task managers, 3rd task Anura).Add vertical lines and horizontal lines to divide the process.Configure the calendar (Create new calendar {Monday Friday (9.00-16.00) and Saturday (9.00-12.00)}).Configure tasks priority (normal priority), assignment rules (2nd task- report to), timing controls (1st task 1 day, 2nd task 2 day, 3rd task 3day).Check the functionality

ExerciseTask 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.)User1User2User3Task nTask n+1Case 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.)Update the invoice approval processAdd two new users to finance department ( Adeesha Wijasisri (Temporary Worker), Lasitha Jayaweera (Permenant Worker)) .Add new task Confirm Expense Claim.Allow arbitrary transfer for newly added task.Assigned ad hoc users to newly added task.Show the functionality.

DemoAdd two new users to finance department ( Adeesha Wijasisri, Lasitha Jayaweera) .Add new task Confirm Expense Claim.Assign Anura Yapa as the user of the taskAllow arbitrary transfer for newly added task.Assign Adeesha Wijayasiri as a ad hoc user to newly added taskAssign Lasitha Jayaweera as a user for final taskCheck the functionality

Exercise

6. StepIn 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.

Step7. DynaformDynaForms, orDynamic 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

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.)

Different levels of edit functionality Preview XML HTMLXML : 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.)Although ProcessMaker uses XML to define the objects in DynaForms, the layout and appearance of those objects is controlled by HTML (HyperText Markup Language). Editing the HTML provides a finer degree of control over the formatting of the DynaForm than using the graphical interface provided inPreviewmode and theFields Handler(formerly namedFields List). Note that only the HTML for master forms can be edited--it will not work for grid forms.Mode: This option allows the entire form to either be set to "Edit" or "View" mode.If set to "View", a user running a case will not be able to alter any of the data in the DynaForm. In Edit mode, the user will be able to edit data in the form, except for fields which have the "Read-Only" option activated or have mode="view" in their XML definition.Next Step Link: This option specifies how the data entered into a DynaForm will be handled when moving to the next step in the task.With the default option "No Save and Continue", any data entered into the DynaForm will be discarded if the user clicks on the "Next Step" link without clicking a Submit button on the form to save the data. With the "Prompt" option, the user will be asked whether the data should be saved or not after clicking the "Next Step" link in the form. The "Save and Continue" option will automatically save any data entered into the form when the "Next Step" link is clicked. 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.)Update the invoice approval processCreate a dynaform to add expense details.Create a dynaform to Approve or Reject the claimAssign forms to tasks appropriatelyShow the functionality.Demo8. Input DocumentsAn 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 Documentshttp://wiki.processmaker.com/index.php/Input_Documents

Enable Versioning: Check this option if needing to keep multiple versions of the Input Document. Versioning is a new option in ProcessMaker 1.2-3306Beta and later, and is useful if the same Input Document will be submitted multiple times over the course of a case or if needing to maintain an audit trail.Destination Path: A new option available in version 1.2-3306Beta on. Create the name of a folder where this Input Document will be placed inCASES > Documents. To use a variable in the folder name, click on the[@#]button to select a variable. For example: Receipts_@#USR_USERNAMETo place the Input Document inside a subfolder inside other folders, enter a path to that folder, separating each folder with a / (forward slash). For example: Receipts/@#USR_USERNAME/@#subject_@#dateTo see a list of Input Documents, Output Documents and attached files found in each folder, go toCASES > Documentsand click on the folder.Note that theDestination Pathdoes not effectwhere input documents are storedin the file system.Tags: A new option available in version 1.2-3306Beta on. Enter the name of the identifying tag(s), which will be associated with this Input Document. To specify more than one tag name, separate each tag name with commas. Click on the[@#]button to select a variable which will be used in the tag name.To see a list of Input Documents and Output Documents associated with a particular tag, go toCASES > Documentsand click on the tag name.

Input document can be inserted to the process as a,Step can attach multiple attachmentsField in Dynaform

Input document can be accessed usingInformation in the step Separate step create separate step to view attachmentsInput Documents (ctd.)Update the invoice approval processCreate a input document to add billAssign it to task stepAccess it through stepShow the functionality.Demo9. Output DocumentsOutput 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 DocumentsThere 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.)Note that paths cannot be included in the filename, since Output Documents are stored in a standard location in the file system. To include a system or case variable in the filename, click on the [@#] button and select a variable.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.)Destination Path: Enter the name of the folder where this Output Document should be displayed. Click on the [@#] button to select a variable which will be used in the folder name. To specify a subfolder inside other folders, enter a path to that folder, separating each folder with a / (forward slash). For example: Invoices/@#USR_USERNAME/@#subject_@#date

Update the invoice approval processCreate new output document with claim details

DemoAdd following steps to existing tasks,

ExerciseTaskStepReport Medical ExpenseDynaform to add claim details (Full Name, Last Name, Address, Claim Date, Amount)Input Document to upload reports/ prescriptionsOutput document with claim details for employee to keepApprove Medical ExpenseView claim details DynaformView uploaded reports/ prescriptionsDynaform to approve or reject claimExercise (ctd.)TaskStepConfirm Medical ExpenseView claim details DynaformReimburse Medical ExpenseView claim details Dynaform10. TriggersA 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.TriggersTriggers can be fired at many points during the process. They can run:Beforeoraftera step is executed (i.e., Dynaforms, Input Documents, and Output Documents).Beforeoraftera case is routed (derivated) to the next task in the process.Beforea user is designated (assigned) to work on the next task is the process.Triggers (ctd.)1 Ex- change field values2 Ex- change the assigned userWhen referencing acase variableswithin a trigger, following rules have to be taken into account,@@variable_nameThe variable will be parsed asstringtype@%variable_name The variable will be parsed asintegertype (a whole number)@#variable_name The variable will be parsed asfloattype (a real number with decimals).@?variable_name The variable will be parsed as a string used in a URL. Triggers (ctd.)For example, this statement uses 3 case variables which are parsed as a string, an integer and its original type, respectively.@@other_value = @%any_number + @=age - 10;Where:any_numbercould be a number from a text field in a DynaForm; this will be parsed like an integer value.agecould be a field in any DynaForm, but it's type will not be transformed.

Update the invoice approval processCreate new trigger to reduce claim amount by 100 before reimbursing it.Add trigger before the reimbusring process.Show the functionality.

DemoTrigger code - @@medical_expense_details_amount=@%medical_expense_details_amount-100;Add trigger to reduce original claim amount by Rs.100 before reimbursing the claim. Exercise11. Work FlowsVarious 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 FlowsParallelParallel by evaluationParallel join

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 joinWork Flows (ctd.)ParallelParallel by evaluationParallel join

Create sequential workflow.Create selection workflow (selection test).Create evaluation workflow (evaluation test).Update the invoice approval process to add evaluation.DemoFor no part we have to create two triggers. One is to assign user id of the submitted employee to variable and then assign it to next user variableWhen start the initial task assign user ID to @@NextUser if (!isset(@@NextUser)) //if @@NextUser does not exist @@NextUser = @@USER_LOGGED; Then before the evaluation @@SYS_NEXT_USER_TO_BE_ASSIGNED=@@NextUser;Add Evaluation to the medical claim work flow.Exercise

12. Enterprise Plugins and Add-onsList 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 EngineEnterprise Data SearchAdvanced DashboardsSimple Report ManagerVersion Upgrade ManagerAdvanced LDAP/AD Sync.

More Details - http://www.processmaker.com/processmaker-plugins-and-addons Enterprise Plugins and Add-ons13. Business Rules EngineA 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) Companies can assign business rule maintenance tasks to a business analyst that only needs to understand the logic of the business rules and does not need to have a deep understanding of the entire business process.

Business Rules Engine (ctd.)Business Rules EngineBR1BR3BR4BR2Business PeopleProcessCase/Datadefine rules for processevaluate case data and return resultsdefined rules are applied to all the cases of that processTo 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 CountryThen select comparison operator (=,>,