Tuesday, November 4, 2014

ProcessMaker

                                         

         ProcessMaker





ProcessMaker is an open source, workflow management software suite, which
includes tools to automate your workflow, design forms, create documents, assign
roles and users, create routing rules, and map an individual process quickly and
easily.

ProcessMaker is a cost effective and easy to use open source business process management (BPM) or workflow software application. Workflow software such as ProcessMaker can assist organizations of any size with designing, automating and deploying business processes or workflows of various kinds.



It's relatively lightweight and doesn't require any kind of installation
on the client computer.

 requirements and installation steps for the server.

-----------------------------
|* Requirements for Server *|
-----------------------------
ProcessMaker 2.0 and later requires:
* Linux or UNIX or Windows (XP, Vista, 7, Server 2003, Server 2008)

* MySQL 5.1.6 or greater

* Apache 2.2.3 or greater, with the following modules:
  * Deflate
  * Expires
  * Rewrite
  * Vhost_alias

* PHP 5.1.6 or greater with the following libraries:
  * mysql
  * xml
  * mbstring
  * mcrypt
  * soap (necessary if using web services)
  * ldap (necessary if integrating with LDAP or Active Directory)
  * gd   (recommended if using Events)
  * curl (necessary for uploading/downloading files)

  * Also install PHP's command line interface (CLI) if planning on using Events,
    the Case Scheduler, workspace backup/restore, or developing plugins with the
    Gulliver Framework.

------------------------------
|* Requirements for Clients *|
------------------------------
Mozilla FireFox (recommended)
  or
Internet Explorer 7 or later

-----------------------
|* PHP Configuration *|
-----------------------
In the PHP configuration file (php.ini), set the following settings:
  memory_limit = 120M
  file_uploads = On
  short_open_tag = On
The memory_limit may be a minimum of 80MB, but it is recommended to set it to
120MB. If planning on uploading large Input Documents and attached files, then
increase the max_post_size and upload_max_filesize to larger than the default
2MB:
  max_post_size = 2M
  upload_max_filesize = 2M
-------------------------
|* MySQL Configuration *|
-------------------------
The MySQL "root" user should already have all the necessary privileges to setup
the ProcessMaker databases. If planning on using a MySQL user other than "root"
to set up the ProcessMaker databases, grant a MySQL user superuser privileges
to create and update databases.

Login to MySQL:
  mysql -u root -p
Enter the root password for MySQL.

Once in MySQL, give the user which will be running ProcessMaker superuser
privileges to create create and modify MySQL databases:
mysql> grant all on *.* to 'USER'@'localhost' identified by 'PASSWORD' with grant option;

Replace USER with the name of your MySQL user and PASSWORD with the password
for that user. (If that user doesn't already exist, he/she will be
automatically created with the above grant command. If you are running
ProcessMaker on a different server than your MySQL server, then replace
localhost with the domain name or IP address of the server where ProcessMaker
is located.

Exit MySQL:
mysql> exit;

If you have forgotten the root password, see these instructions to reset it:
 http://dev.mysql.com/doc/refman/5.1/en/resetting-permissions.html

If unable to log into MySQL because there is no socket, then MySQL needs to be
started as a service.

Roles in Process Maker

 Each user is assigned a role  determines      

  • what actions that user can perform in ProcessMaker 
  •  what parts of the interface that user can access.
Three default roles
  1.    PROCESSMAKER_ADMIN
  2.    PROCESSMAKER_MANAGER
  3.    PROCESSMAKER_OPERATOR

Properties Menu of tasks in Process Maker



User Management  in Process Maker  

http://wiki.processmaker.com/index.php/2.0/Managing_Users
include Creating a Department and setting the supervisor for the department

Permissions for users in Process Maker 

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

Conditions in Process Maker 
         Conditions are rules that determine the path of a case. Two major types of conditions are :

  •  Routing Route Condition  => indicates the direction of the next task a case will be directed to depending on the value of an earlier task

  • Step Condition   => indicates the steps that need to be filled out based on the information collected during the process
  • Trigger  Condition  => If a Trigger doesn't have a condition, then it will always be executed when running a case. 

Reference for more on  Conditions
         http://wiki.processmaker.com/index.php/Using_Conditions

Some videos on Pre-built generic processes on Human Resourse Workflow in Process Maker 
                   http://www.processmaker.com/workflow-solutions


Grids in Process Maker 

            When a dynaform containing a grid object is submitted, a  CASE VARIABLE is created with same grid name. This contains an  associative array of associative arrays.
                 
           row1                                  row2                           row3       row4

  Fieldname1:value              Fieldname:value
   Fieldname2:value

Reading from Grids

To access the value stored in a particular field in a grid, reference it as:
@=grid-name[row-number]['field-name']
 Remember:
  • The case variable for a grid is the name of the grid field which is embedded in a master DynaForm.
  • The row numbers start counting from the number 1 (not 0 like a normal array).
  • The names of grid fields are case sensitive and they are strings which must be enclosed in quotation mark
  •  $model1 = @=OrderList['1']['model']

  • Looping through grids

$tot = count(@=OrderList);
for ($cnt = 1; $cnt <= $tot; $cnt++) {
   if (int(@=OrderList[$cnt]['price']) > 300)‏ {
      PMFSendMessage(@@APPLICATION, "admin@example.com", "supervisor@example.com", 
         "", "", "Please verify large order", "expensiveOrder.html");
      break;
   }
 }



foreach (@=OrderList as $row) {
  if (int($row['price']) > 300) {‏
     PMFSendMessage(@@APPLICATION, "admin@example.com", "supervisor@example.com", 
         "", "", "Please verify large order", "expensiveOrder.html");
      break;
   } 
}



http://wiki.processmaker.com/index.php/2.0/Grids

           Executing Code When Adding a Row
           Hiding a Grid
           Accessing Grids with PHP

Triggers in Process Maker 

Using the ProcessMaker Debugger to debug triggers

http://wiki.processmaker.com/index.php/2.0/Triggers
Triggers are mostly used with hidden fields when accessing grid fields    
Functions in Process Maker 

Getting the function list

Pm.gif Available Version: 2.5.1
Usually, it is difficult to remember functions and sentences to be used in ProcessMaker. Now the trigger editor added the possibility to list ProcessMaker functions and PHP sentences to be inserted while a trigger is created. Press Cntrl + Space in the Editor, to get the function list as the image below

Functions
Functions are used in trigers to make works done. Below are few functions in ProcessMakker 

  • PMFTaskCase()  => returns all the tasks for the specified case
  • PMFTaskList()  => returns a list of tasks which the specified user has initiated
  • PMFUserList()  =>  returns a list of users whose status is set to "ACTIVE"
  • PMFGroupList()
  • PMFRoleList()
  • PMFProcessList()
  • PMFNewCase()     => creates a new case starting in the specified task
  • PMFSendMessage() => function sends out customized email notifications using a template.

    

Administration in Process Maker


Applying a Skin

Admin -> Settings -> skin

  • UxModern
  • Neoclassic Skin
  • Classic Skin
  • Blank Skin => removes the top framework with the logo

Applying a Logo

Admin -> Settings -> logo

install the php_exif.dll file, due to some problems with images larger than 250 x 40 pixels. Uploading those size, logo won't be resized :

Setting Environment


Admin -> Settings -> environment (hide process information)

Heartbeat

new "heartbeat" function which is designed to send statistics to the ProcessMaker developers about how ProcessMaker is being used

 help the developers gauge how ProcessMaker is being used and to determine how to improve the application in the future

Case Schedular

provides a way to automatically start new cases at specified times.

Specified process => CaseSchedular 


Case Tracker


allows an external user to log into ProcessMaker and review the advances of a given case.

Cases List Builder


is a plug-in designed to allow users to customize the content that is available in their Cases List

The Case List Builder plugin is included in the Enterprise Edition plugin.


Plugin Development




      Eventhough Processmaker is a opensource software it is not recommanded to EDIT  the code. Instead a plugin can be developed to add additional functionality.




Plugins are developed using the gulliver new-plugin command in a Linux/UNIX server.

 Plugins cannot be developed in Windows servers, because symbolic links are needed. 

After the plugin has already been created, it can be exported to other installations of ProcessMaker, including Windows servers.



Enterprise edition VS Community edition in Process Maker
enterprise edition includes plugins   http://www.processmaker.com/enterprise-plugin-manager
  processmaker advanced BPM LDAP authentication and active directory plugin is available in enterprise edition.
Community edition ldap plugin in other
  • Enable Automatic Register'. in the configuration screen.  With this enabled, a first time user of ProcessMaker can navigate to the ProcessMaker server and attempt to log in using their LDAP credentials

    Input Documents

    http://wiki.processmaker.com/index.php/2.0/Input_Documents

  • maintaing required fields
    http://wiki.processmaker.com/index.php/JavaScript_Function

To assign a user for the next task by being in the dynaform using Triggers


Value Based Assignment allows a variable to specify which user will be given authority to work on a task. The variable can be set in the Variable for Value Based Assignment textbox which appears when the option is selected. By default, the variable is @@SYS_NEXT_USER_TO_BE_ASSIGNED, whose value should be set to the UID (Unique ID) of the next user to be assigned to the task
When the assignment is done inside a grid, use hidden fields in that dynaform and use these field names in that dynaform trigger

Interprocess communication in Process Maker

     Processmaker uses POOLS to allow communication and connection between processes.
http://wiki.processmaker.com/index.php/3.0/Pools_and_Lanes

Security  in Process Maker

     Security is an important and an essential issue in the Industry. Processmaker provides security too to an acceptable level.
http://www.processmaker.com/security-statement


Release of 3 powerful  plugins in Process Maker

http://www.processmakerblog.com/release/kicking-october-release-powerful-plugins/


No comments:

Post a Comment