You are on page 1of 135

 

 
 
 

Bonita Open Solution


Version 5.0.1

User Guide
Version1.1

 
  Bonita Open Solution 5.0.1 User Guide
 
Bonita Open Solution V5.0.1
User Guide

Contents 
 
Part 1.  Bonita Open Solution Overview ............................................................................................ 11 
1.1  Description ............................................................................................................................ 11 
1.1.1  Bonita Studio ................................................................................................................. 11 
1.1.2  Bonita Forms (Customizable) ........................................................................................ 11 
1.1.3  Bonita User Experience ................................................................................................. 12 
1.2  Licenses ................................................................................................................................. 12 
1.3  How to download, install, and launch Bonita Open Solution 5.0 ......................................... 13 
Part 2.  How to Use Bonita Studio ..................................................................................................... 14 
2.1  Overview ............................................................................................................................... 14 
2.2  How to design a process ....................................................................................................... 15 
2.2.1  Design the Process Steps and Transitions graphically .................................................. 15 
2.2.2  Define Details for a Step ............................................................................................... 16 
2.2.3  Define Details for a Start or End ................................................................................... 17 
2.2.4  Define Details for a Gate ............................................................................................... 18 
2.2.5  Define Details for a Transition ...................................................................................... 18 
2.2.6  Define a Text Annotation .............................................................................................. 19 
2.2.7  Define Details for a Process Diagram ............................................................................ 19 
2.2.8  Define Details for a Pool ............................................................................................... 20 
2.2.9  Define Details for a Lane ............................................................................................... 21 
2.3  How to Assign an Actor to a Step .......................................................................................... 21 
2.3.1  Assign an individual Actor ............................................................................................. 21 
2.3.2  Assign the Process Initiator to a Step ........................................................................... 22 
2.3.3  Assign one or more groups to a Step ............................................................................ 23 
2.3.3.1  Assign a manually defined Group to a Step .............................................................. 24 
2.3.3.2  Assign a Group from an itemized list to a Step ........................................................ 25 
2.3.3.3  Assign a group from an LDAP directory or database to a Step................................. 25 
2.3.4  Filter a Group ................................................................................................................ 27 
2.3.4.1  Assign a previous Actor to a Step ............................................................................. 28 
2.3.4.2  Select random candidate(s) from a Group list with a predefined Filter ................... 29 
2.3.4.3  Create a new Filter .................................................................................................... 29 
2.3.5  Edit / Remove Group ..................................................................................................... 29 
2.3.6  Use example users / Administrator default for testing ................................................ 30 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 2 


 
  Bonita Open Solution 5.0.1 User Guide
 
2.4  How to define Data variables ................................................................................................ 31 
2.4.1  Overview of Data variables ........................................................................................... 31 
2.4.2  Write expressions using the Groovy script editor......................................................... 33 
2.4.5  Promote a local variable to become a global variable .................................................. 35 
2.4.4  Add user defined‐data in the form of Java files (*.jar) .............................................. 35 
2.5  Create a subprocess .............................................................................................................. 36 
2.5.1  Define multiple entries / exits from a subprocess ........................................................ 37 
2.6  How to connect processes to external information systems ............................................... 38 
2.6.1  Add a Connector to a Step or a Process ........................................................................ 38 
2.6.1.1  Configure a Connector to send an email .................................................................. 41 
2.6.1.2  Configure a Connector to send a Twitter Direct Message ....................................... 43 
2.6.1.3  Configure a Connector to send a Twitter Status Update ......................................... 44 
2.6.1.4  Configure a Connector to invoke a Java method ...................................................... 45 
2.6.1.5  Configure a Connector to execute a shell command or script ................................. 46 
2.6.1.6  Configure a Connector to execute a Groovy command or script ............................. 47 
2.6.1.7  Configure a Connector to search in an LDAP directory and return a list ................. 48 
2.6.1.8  Configure a Connector to add a comment ............................................................... 51 
2.6.1.9  Configure a Connector to send a command to execute a Step ................................ 52 
2.6.1.10  Configure a Connector to send a command to start a Step ..................................... 53 
2.6.1.11  Configure a Connector to send a command to finish a Step .................................... 54 
2.6.1.12  Configure a Connector to create a global variable ................................................... 55 
2.6.1.13  Configure a Connector to use a hook defined in Bonita v4 ...................................... 56 
2.6.1.14  Configure database Connectors ............................................................................... 57 
2.6.1.15  Configure a Connector to launch a Talend job ......................................................... 59 
2.6.1.16  Configure a Connector to launch a Talend MDM Connector ................................... 61 
2.6.1.17  Configure Connector to create an Alfresco folder ................................................... 63 
2.6.1.18  Configure Connector to delete an Alfresco folder ................................................... 65 
2.6.1.19  Configure Connector to upload file for Alfresco ....................................................... 67 
2.6.1.20  Configure Connector to create a folder in eXo ......................................................... 69 
6.6.1.21  Configure Connector to delete an item from eXo .................................................... 71 
2.6.1.22  Configure Connector to upload a file to eXo ............................................................ 73 
2.6.1.23  Configure a Connector to create a Google calendar event ...................................... 75 
2.6.1.24  Configure a Connector to create a Google calendar event with web content ......... 76 
2.6.1.25  Configure a Connector to delete a Google calendar event ...................................... 78 
2.6.1.27  Configure a Connector to add metadata to a wiki page ........................................... 81 
2.6.2  Develop your own Connectors ...................................................................................... 82 
2.6.2.1  Import or Export a Connector ................................................................................... 84 
2.6.3  Trigger a Connector when a Step Deadline is reached ................................................. 84 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 3 


 
  Bonita Open Solution 5.0.1 User Guide
 
2.7  How to set Timers ................................................................................................................. 85 
2.8  How to send and receive messages across Pools ................................................................. 86 
2.8.1  Create a Throw Message (send): .................................................................................. 86 
2.8.2  Create a Catch Message (receive): ................................................................................ 89 
2.8.3  Create an End Message (to terminate a Process and send a message) ....................... 90 
2.9  How to allow execution of multiple instances of the same Step (multi‐instantiation) ........ 90 
2.10  How to define Transactions .................................................................................................. 91 
2.11  How to manage Processes in Bonita Studio ......................................................................... 91 
2.11.1  Find Process files ........................................................................................................... 91 
2.11.2  Create a New Process or Open an existing Process ...................................................... 92 
2.11.3  Save a Process / Save all Processes ............................................................................... 92 
2.11.4  Duplicate a Process ....................................................................................................... 92 
2.11.5  Import and Export a Process ......................................................................................... 92 
2.11.5.1  Export a file with Web applications .......................................................................... 93 
2.11.6  Print a Process ............................................................................................................... 93 
2.11.7  Close a Process / Close all ............................................................................................. 93 
2.11.8  Delete a Process ............................................................................................................ 93 
2.11.9  Rename a Process ......................................................................................................... 94 
2.12  How to run a Process ............................................................................................................ 94 
Part 3.   How to create Web applications (interactive forms for end users) ..................................... 96 
3.1  Overview ............................................................................................................................... 96 
3.2  How to customize an end user Form .................................................................................... 96 
3.2.1  Design a Form ............................................................................................................... 96 
3.2.1.1.  Add / remove rows of cells in a Form ....................................................................... 98 
3.2.1.2  Move cells ................................................................................................................. 99 
3.2.1.3  Merge cells ................................................................................................................ 99 
3.2.1.4  Define and arrange data fields in a Form ............................................................... 100 
3.2.1.5  Define or redefine the contents of a field in a Form .............................................. 103 
3.2.1.6  Restrict the type of data a field will accept ............................................................ 103 
3.2.1.7  Resize columns and rows ........................................................................................ 104 
3.2.1.8  Change the appearance of a cell, label, or field ..................................................... 105 
3.2.2  Create multiple page Forms ........................................................................................ 105 
3.2.3  Use Buttons to direct Process among different paths ................................................ 107 
3.3  Customize Form page (change page HTML) ....................................................................... 108 
3.4  Customize Form context (change Web application) ........................................................... 109 
3.4.1  Incorporate the Bonita Form into your Web application (HTML page) ...................... 109 
3.4.2  Select Web applications to present End User forms .................................................. 110 
3.5  Use custom Confirmation pages, Welcome pages, Log‐in pages, or Error pages .............. 110 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 4 


 
  Bonita Open Solution 5.0.1 User Guide
 
3.5.1  Customize confirmation message ............................................................................... 110 
3.5.2  Customize welcome, log‐in, or error pages ................................................................ 110 
Part 4.  How to use Bonita User Experience .................................................................................... 112 
4.1  Overview ............................................................................................................................. 112 
4.2  Bonita User Experience – Developer’s View ....................................................................... 112 
4.2.1  How to define or change Bonita User Experience preferences .................................. 114 
4.2.1.1  Change Web Browser for User Experience............................................................. 114 
4.2.1.2  Change user for whom User Experience will open when a Process is Run ............ 114 
4.2.1.3  Keep User Experience contents after closing Bonita Studio .................................. 114 
4.2.1.4  Change language ..................................................................................................... 114 
4.3  Bonita User Experience – Administrator’s View ................................................................. 114 
4.3.1  Manage Processes as Administrator ........................................................................... 115 
4.3.2  Manage Cases as Administrator ................................................................................. 115 
4.3.3  Show or hide User Experience Settings ...................................................................... 116 
4.3.3.1   Specify the URL for a custom web application ....................................................... 117 
4.3.3.2  Customize Process label in Inbox............................................................................ 117 
4.3.3.3  Fix the count of unread cases ................................................................................. 117 
4.3.4  Consult status of all Steps, Cases, and Processes ....................................................... 118 
4.3.5  Define Users and User Roles ....................................................................................... 118 
4.4   Bonita User Experience – End User’s View ......................................................................... 119 
4.4.1  How to manage a Step ................................................................................................ 119 
4.4.2  How to manage Steps in a Case .................................................................................. 121 
4.4.2.1  Execute a pending Step .......................................................................................... 121 
4.4.2.2  Assign a Step to another Actor ............................................................................... 122 
4.4.2.3  Unassign a Step (take back from another Actor) .................................................... 122 
4.4.2.4  Suspend a Step ....................................................................................................... 122 
4.4.2.5  Resume a Step ........................................................................................................ 122 
4.4.3  How to Manage Cases ................................................................................................. 122 
4.4.3.1  Define and apply Labels to Cases ........................................................................... 123 
4.4.3.2  Hide or unhide Labels in the User Experience Control Panel ................................. 124 
4.4.3.3  Start a new Case ..................................................................................................... 125 
4.4.3.4  View Case history .................................................................................................... 125 
4.4.4  Consult workload status (Dashboard) ......................................................................... 125 
4.5  Externally deployed WAR files – End User’s View .............................................................. 127 
Part 5.  Bonita Open Solution Hardware, Software and Configuration Requirements ................... 128 
5.1  Subdirectory files ................................................................................................................ 128 
5.2  Hardware Prerequisities ..................................................................................................... 129 
5.4  Operating Systems, Databases, Application Servers .......................................................... 129 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 5 


 
  Bonita Open Solution 5.0.1 User Guide
 
5.5  Configure server for Bonita Open Solution 5 ...................................................................... 129 
5.6  Standard installation (Bonita as a library) ........................................................................... 129 
5.7  Enterprise installation (Bonita as a server) ......................................................................... 130 
5.7.1  Jboss 4.x and 5.x installation and deployment ........................................................... 130 
5.7.2  JOnAS 4.x and 5.x installation and deployment .......................................................... 131 
Part 6.  How to configure Bonita Open Solution for a production environment ............................ 132 
6.1   How to configure a database .............................................................................................. 132 
6.2  How to configure security ................................................................................................... 133 
6.3  How to configure authentication  (BonitaAuth LoginContext) ........................................... 133 
6.4    How to configure Login (BonitaStore LoginContext) .......................................................... 134 
Part 7.  How to analyze a problem in Bonita Open Solution ........................................................... 135 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 6 


 
  Bonita Open Solution 5.0.1 User Guide
 
Figures 
 
Figure 1.  Welcome to Bonita Studio .................................................................................................... 14 
Figure 2.  The Whiteboard is ready to design a Process ....................................................................... 15 
Figure 3.  The Context Palette appears to the right of a highlighted element ..................................... 15 
Figure 4.  Define Details for a Step ....................................................................................................... 16 
Figure 5.  Define Details for a Start or End ........................................................................................... 17 
Figure 6.  Define Details for a Gate ....................................................................................................... 18 
Figure 7.Define Details for a Transition ................................................................................................ 18 
Figure 8.  Define a Text Annotation ...................................................................................................... 19 
Figure 9.  Define Details for a Process Diagram .................................................................................... 19 
Figure 10.  Define Details for a Pool ..................................................................................................... 20 
Figure 11.  Define Details for a Lane ..................................................................................................... 21 
Figure 12.  Assign an Actor to a Step .................................................................................................... 21 
Figure 13.  Assign an individual Actor ................................................................................................... 22 
Figure 14.  Assign the Process Initiator to a Step .................................................................................. 22 
Figure 15.  Assign the Process  Initiator to a Step via a Connector....................................................... 23 
Figure 16.  Assign a group to a Step ...................................................................................................... 23 
Figure 17.  Assign a manually define Group to a Step .......................................................................... 24 
Figure 18.  Enter the Name and Description of the Group ................................................................... 24 
Figure 19.  Enter the individuals' names ............................................................................................... 25 
Figure 20.  Assign a group from an LDAP directory or database to a Step ........................................... 26 
Figure 21.  Assign an Actor based on a previous assignment ............................................................... 28 
Figure 22.  Name the filter .................................................................................................................... 28 
Figure 23.  Identify the previous Step in which the Actor is assigned .................................................. 29 
Figure 24.  Delete a Group .................................................................................................................... 30 
Figure 25.  Bonita User Experience welcome page (default) ................................................................ 31 
Figure 26.  Choose a Connector to Add ................................................................................................ 39 
Figure 27.  Specify Connector parameters at the Step level ................................................................. 39 
Figure 28.  Specify Connector parameters at the Process or Pool level ............................................... 40 
Figure 29.  Configure a Connector to send an email ............................................................................ 41 
Figure 30.  Configure a Connector to send a Twitter Direct Message .................................................. 43 
Figure 31.  Configure a Connector to send a Twitter Status Update .................................................... 44 
Figure 32. Configure a Connector to invoke a Java method ................................................................. 45 
Figure 33.  Configure a Connector to execute a shell command or script ............................................ 46 
Figure 34.  Configure a Connector to execute a Groovy command or script ....................................... 47 
Figure 35.  Configure a Connector to search in an LDAP directory and return a list ............................ 48 
Figure 36.  Configure LDAP Connector outputs .................................................................................... 50 
Figure 37.  Configure a Connector to add a comment .......................................................................... 51 
Figure 38.  Configure a Connector to send a command to execute a Step .......................................... 52 
Figure 39.  Configure a Connector to send a command to start a Step................................................ 53 
Figure 40.  Configure a Connector to send a command to finish a Step .............................................. 54 
Figure 41.  Configure a Connector to create a global variable ............................................................. 55 
Figure 42.  Configure a Connector to use a hook defined in Bonita v4 ................................................ 56 
Figure 43.  Configure a Connector to launch a Talend job ................................................................... 59 
Figure 44.  Configure launch a Talend job Connector output ............................................................... 60 
Figure 45.  Configure a Connector to launch a Talend MDM Connector.............................................. 61 
Figure 46.  Configure Connector to create an Alfresco folder .............................................................. 63 
Figure 47.  Configure Create an Alfresco folder Connector outputs ..................................................... 64 
Figure 48.  Configure Connector to Delete an Alfresco folder .............................................................. 65 
Figure 49.  Configure Delete an Alfresco folder Connector outputs ..................................................... 66 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 7 


 
  Bonita Open Solution 5.0.1 User Guide
 
Figure 50.  Configure Connector to Upload file for Alfresco folder ...................................................... 67 
Figure 51.  Configure Upload file for Alfresco folder outputs ............................................................... 68 
Figure 52.  Configure Connector to Create a new folder in eXo ........................................................... 69 
Figure 53.  Configure Create a new Folder in eXo outputs ................................................................... 70 
Figure 54.  Configure Connector to Delete an item from eXo ............................................................... 71 
Figure 55.  Configure Delete an item from eXo outputs ....................................................................... 72 
Figure 56.  Configure Connector to Upload a file to eXo ...................................................................... 73 
Figure 57.  Configure Upload an eXo file outputs ................................................................................. 74 
Figure 58.  Configure a Connector to Create a Google calendar event ................................................ 75 
Figure 59.  Configure a Connector to Create a Google calendar event with web content ................... 76 
Figure 60.  Configure a Connector to Delete a Google calendar event ................................................ 78 
Figure 61.  Configure a Connector to Execute a web service ................................................................ 79 
Figure 62.  Configure Execute a Web service Connector outputs ......................................................... 80 
Figure 63.  Configure a Connector to Add metadata to a wiki page .................................................... 81 
Figure 64.  Add your own Connector to Bonita Open Solution ............................................................ 82 
Figure 65.  Set the description of your Connector ................................................................................ 82 
Figure 66.  Create java source file ......................................................................................................... 83 
Figure 67.  Your Connector is now available ......................................................................................... 83 
Figure 68.  Import (or Export) a Connector from the Menu bar ........................................................... 84 
Figure 69.  Configure a Deadline to trigger a Connector ...................................................................... 85 
Figure 70.  Set a Timer .......................................................................................................................... 86 
Figure 71.  Configure a Timer ................................................................................................................ 86 
Figure 72.  Create a Throw Message ..................................................................................................... 87 
Figure 73.  Add Throw Message content .............................................................................................. 87 
Figure 74.  Create a Catch Message ...................................................................................................... 89 
Figure 75.  Set a Variable to receive a Catch Message ......................................................................... 89 
Figure 76.  Create an End Message ....................................................................................................... 90 
Figure 77.  Define multi‐instantiation of a Step .................................................................................... 91 
Figure 78.  Process management tasks are located in the Task bar ..................................................... 92 
Figure 79.  Delete a Process .................................................................................................................. 93 
Figure 80.  Rename a Process Diagram ................................................................................................. 94 
Figure 81.  Bonita Open Solution initializing the User Experience ....................................................... 95 
Figure 82.  Open the Bonita User Experience inbox in the default web application ............................ 95 
Figure 83.  Create a New Form ............................................................................................................. 97 
Figure 84.  Begin with the Form Builder ............................................................................................... 98 
Figure 85.  Add or remove rows and columns in the grid ..................................................................... 99 
Figure 86.  Click and drag to move a cell, click the arrow to merge cells ........................................... 100 
Figure 87.  Add General Details to a form field .................................................................................. 100 
Figure 88.  Form Builder Palette ......................................................................................................... 102 
Figure 89.  Data definitions for a List field .......................................................................................... 103 
Figure 90.  Add a Validator to a field .................................................................................................. 103 
Figure 91.  Change the size of a column or row .................................................................................. 104 
Figure 92.  Change the appearance of a field, a label or a cell ........................................................... 105 
Figure 93.  Several forms defined in the same step create a multipage form.................................... 106 
Figure 94.  Each subsequent page in a multi‐page form   ................................................................... 106 
Figure 95.  For preceding Forms, change Submit buttons to Next Buttons ....................................... 106 
Figure 96.  Add a second Submit button to the Step .......................................................................... 107 
Figure 97.  Rename the Submit button ............................................................................................... 107 
Figure 98.  Define the expression for the Submit button and save it to a variable ............................ 107 
Figure 99.  Apply the defined condition to the Transition of the desired path .................................. 108 
Figure 100.  Upload a custom HTML template for a Form ................................................................. 109 
Figure 101.  Upload a custom HTML template for a Web application ............................................... 110 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 8 


 
  Bonita Open Solution 5.0.1 User Guide
 
Figure 102.  Upload a custom HTML template for a confirmation page ............................................ 110 
Figure 103.  Upload a custom templates for a Welcome page, log in page, and error template ...... 111 
Figure 104.  Open Bonita User Experience from the Menu bar ......................................................... 112 
Figure 105.  Open Bonita User Experience from the Bonita Web application ................................... 113 
Figure 106.  Bonita User Experience ................................................................................................... 113 
Figure 107.  Managing Steps in Bonita User Experience .................................................................... 120 
Figure 108.  Execute a Step ................................................................................................................. 121 
Figure 109.  Assign a Step to another Actor ....................................................................................... 122 
Figure 110.  Managing Cases in Bonita User Experience .................................................................... 122 
Figure 111.  Apply a Label to a Case ................................................................................................... 123 
Figure 112.  Change the characteristics of a Label ............................................................................. 124 
Figure 113.  Apply a Label to Cases ..................................................................................................... 124 
Figure 114.  Manage Labels ................................................................................................................ 124 
Figure 115.  Start a new Case of a Process ......................................................................................... 125 
Figure 116.  See a Case history in Bonita User Experience ................................................................. 125 
Figure 117.  Admin menu in Control Panel ......................................................................................... 115 
Figure 118.  See the List of all Processes ............................................................................................ 115 
Figure 119.  Manage cases in Cases list .............................................................................................. 116 
Figure 120.  Change settings in Bonita User Experience..................................................................... 116 
Figure 121.  Specify the URL for your custom web application .......................................................... 117 
Figure 122.  Change the way names and numbers of Cases are presented ....................................... 117 
Figure 123.  Reporting shows status of Processes and Cases ............................................................. 118 
Figure 124.  Define Users .................................................................................................................... 118 
Figure 125.  Define User Roles ............................................................................................................ 119 
Figure 126.  Dashboard shows the status of User’s workoad ............................................................. 126 
Figure 127.  Change Dashboard graph ................................................................................................ 126 
Figure 128.  Change Bonita User Experience preferences .................................................................. 114 
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 9 


 
  Bonita Open Solution 5.0.1 User Guide
 
 
Bonita Open Solution
User Guide
 
Welcome to Bonita Open Solution (BOS).  If you don’t already have the software, you can download 
it from the BonitaSoft web site.. 
 
This User Guide is intended to help you navigate and use Bonita Open Solution Version 5, the 
complete open source Business Process Management Solution.   You can download this document 
and its updates from the BonitaSoft web site.  
 
Parts 1 to 4 are generally organized in the way that one would employ the software to design, 
connect, deploy and use it for Business Process Management. 
 
Part 1 gives a basic overview and general information. 
 
Part 2 describes how to use Bonita Studio, the graphic process design interface of Bonita Open 
Solution.  This section contains information about how to use Bonita Open Solution to design a 
process, connect it to external information systems, and run (deploy) it. 
 
Part 3 describes how to create and customize end‐user interfaces (Forms), which are generated at 
the Steps you’ve defined in the process you’ve designed, via stand‐alone Web‐based applications.   
 
This is the part of Bonita Open Solution that runs externally and can be widely distributed, accessible 
by your end users via a web portal or standalone web page, designed by you and integrated into 
your company or organization’s web site or intranet. 
 
Part 4 describes how to use Bonita User Experience to manage steps in cases that are created each 
time a process is initiated in its real‐world deployment, and to manage the cases and processes 
behind the execution.  This is the Bonita Open Solution BPM portal, as it is seen or used: 
 
• by the Process Developer (the person who can design, deploy, modify Processes in 
Bonita Studio) 
• by the Process Administrator  (the person responsible for managing a set of Processes) 
• by an End User  internal to the Process (e.g., an employee within the company with 
responsibility to act in order to complete a Step or Steps in the Process case) 
 
Part 5 describes how to configure a server for Bonita Open Solution. 
 
Part 6 gives the configuration of Bonita Open Solution for a production environment. 
 
Part 7 addresses trouble‐shooting Bonita Open Solution. 
 
 
Technical documentation for Bonita Open Solution is in process, including a document dedicated to 
Connectors, and will be available soon at www.bonitasoft.com. 
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 10 


 
  Bonita Open Solution 5.0.1 User Guide
 
Part 1. Bonita Open Solution Overview
 
1.1 Description
 
Bonita Open Solution comprises three integrated modules: 
• Bonita Studio 
• Bonita Forms 
• Bonita User Experience 
 
1.1.1  Bonita Studio 
 
The graphic interface of Bonita Studio allows you to draw processes directly on the Bonita 
Studio Whiteboard using notation consistent with standard Business Process Modeling 
Notation (BPMN:   www.bpmn.org). 
 
Behind the graphic interface are the technical tools that you can use to connect the 
processes to your existing systems. 
 
When you design a process in Bonita Studio, you can: 
 
• Assign a Step type (i.e. human /manual, automatic, or subprocess) 
o Give a priority to a Human Step 
o Indicate whether a given Step is initiated once, or multiple times, during a 
process flow 
• Define the Actors in a Human Step, manually or by connecting to an external 
personnel database or list 
• Define Data variables (global and Step ‐specific) 
• Create Messages to hand off data between pools (processes) 
• Add Timers to delay or trigger steps as a function of time 
• Add Connectors to external systems that can be triggered: 
o When the Step is reached in the process  (automatic) 
o When the Step is begun by its actor (human) 
o When the step is suspended, resumed, or canceled (human) 
o When the step is finished (human) 
o After a specified deadline / interval (duration or date) 
• Define and customize Forms for end user interface 
 
When the Process is designed and defined, deploy (run) it with one click.  Once it is 
deployed, the administrator for the process can initiate new cases and the process can be 
run over and over again indefinitely. 
 
1.1.2  Bonita Forms (Customizable) 
 
At each Process Step that requires data input (i.e., each Human Step), Bonita Open Solution 
automatically creates a default Bonita Form based on the Data variables you have defined.   
 
When the Process is run, a Bonita Form for each Step is then presented in the default Bonita 
Web application. 
 
If you prefer to present forms to your end users in a different look‐and‐feel, you can 
customize the end user interface in three ways: 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 11 


 
  Bonita Open Solution 5.0.1 User Guide
 
 
• Customize the contents of the Form (in what order the fields are presented, the field 
labels, field characteristics, and so on;  
• Present the contents of a Form on a customized page (in your own HTML CSS, with 
your logo, graphics, etc) ;  and/or 
• Change where and how (in what specific Web application) the Form is presented.  
You can customize the context around the form by embedding (associating) the 
entire Form in another existing Web application (for example, in an existing Web 
portal). 
 
1.1.3  Bonita User Experience 
 
Bonita User Experience (User XP) provides an email‐like interface for managing Steps, Cases, 
and Processes. 
 
In this document we’ll look at three ways to interact with the User Experience. 
 
• As an End User internal to the Process (e.g., an employee within the company with 
responsibility to act in order to complete the Process case) 
• As the Process Administrator  (e.g. the person responsible for managing a set of 
deployed Processes) 
• As the Process Developer (eg the person who can design, deploy, modify Processes) 
 
The User Experience for End Users who have tasks to perform in a Process permits them to 
see what tasks are waiting for them to complete, provides a form for their data entry, and 
shows the case histories of Cases in which they have been involved.   
 
The User Experience for the Administrator permits him/her to monitor and interact with 
Processes deployed by the developer.   
 
The User Experience for the Developer permits him/her to see and test all of these functions 
as he/she developing the Process. 
 
There may also be of course End Users external to the Process (e.g., an external client or 
customer whose input is required to initiate or complete a Process Case).  These End Users 
may provide input to the Process by interacting with Forms linked to Bonita, but presented 
in a dedicated web application, designed and deployed externally to Bonita Open Solution. 
 
1.2 Licenses
 
The open source and public licenses used by Bonita Open Solution are detailed in the About 
files which have been downloaded with Bonita Open Solution V5.  You can find them at BOS‐
5.0 ‐>BonitaStudio‐5.0 ‐> about_files and BOS‐5.0 ‐>runtime ‐> about_files. 
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 12 


 
  Bonita Open Solution 5.0.1 User Guide
 
1.3 How to download, install, and launch Bonita Open Solution 5.0
 
Download Bonita Open Solution V5.  When the zipped folder has been downloaded, extract 
all files.  To launch Bonita Open Solution and begin designing a process: 
 
• open the unzipped BOS‐5 folder, 
• open the Studio folder, and  
• launch the BonitaStudio application file for your operating system. 
 
For software and hardware requirements and how to configure Bonita Open Solution for a 
server, see Part 5, Bonita Open Solution Hardware, Software and Configuration 
Requirements.  
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 13 


 
  Bonita Open Solution 5.0.1 User Guide
 
Part 2. How to Use Bonita Studio
 
2.1 Overview
 
For a quick overview of Bonita Studio and a basic getting‐started tutorial, see the Bonita Open 
Solution QuickStart Guide at http://www.bonitasoft.org/wiki/doku.php?id=quickstartguide. 
 
2.1.1  Welcome to Bonita Studio 
 

 
Figure 1.  Welcome to Bonita Studio 
 
When you enter Bonita Studio, the Whiteboard is ready to begin: 
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 14 


 
  Bonita Open Solution 5.0.1 User Guide
 

 
Figure 2.  The Whiteboard is ready to design a Process 

2.2 How to design a process


 
2.2.1  Design the Process Steps and Transitions graphically 
 
When you select New, Bonita Studio opens with a Start and the first Step.  These are 
presented in a single Lane in a single Pool. 
 

 
Figure 3.  The Context Palette appears to the right of a highlighted element 
 
Whenever you click on a Step, a Context Palette appears with 4 icons to choose the next 
element: 
• Step  • Gate 
• End  • Transition 
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 15 


 
  Bonita Open Solution 5.0.1 User Guide
 
There is also a tool icon that allows you to change the Step from Automatic to Human (or 
vice versa) and marker to add a Text Annotation. 
 
You can click and drag on any of these elements from this Context Palette, or from the 
Palette in the left hand column of Bonita Studio.  The Palette also contains elements to 
create Timers, Messages and Message Flows, and Text Annotations. 
 
Using the Palette elements, create your top‐level process graphically.  When you have 
created an element, you can define its Details. 
 
You can add multiple Lanes or multiple Pools by clicking and dragging these elements from 
the Bonita Studio Palette. 
 
2.2.2  Define Details for a Step 
 
For each Step, the Details panel offers the following options: 
 

 
Figure 4.  Define Details for a Step 
 
In General, you can enter the Name and Description of the Step.  Steps are named StepX by 
default (X increments 1 each time a new Step is added).  It is recommended to give each 
Step a unique name. 
 
NOTE:  Names are given identifiers (ID) which you see in parenthesis next to the name 
you’ve entered.  For example,  “An Important Step!!” becomes  
“An_Important_Step__ “.  This identifier must be used in Groovy script expressions 
(for example, in Conditions on Transitions, in Connectors, etc.) 
 
To define the Activity type:  select Human (manual), Automatic, or Subprocess (for a 
Step which represents another process as a subprocess). 
 
Here you can also select the Priority for a Step:  Normal, High, or Urgent. 
 
Use Advanced to create the capability for multiple instances for the Step.  See  How to 
initiate multiple instances of the same Step.  This is also where you can begin a new 
Transactional sequence by changing the Step from synchronous to asynchronous.  See How 
to define Transactions. 
 
Use Data to set variables.  See How to define Data variables.  

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 16 


 
  Bonita Open Solution 5.0.1 User Guide
 
 
Use Actors to assign a task.  See How to Assign a Step to an Actor. 
 
Use Connectors to connect Steps in the Process to external information systems.  See How 
to Connect Processes to External Information Systems. 
 
Use Deadlines to specify duration or a deadline date by which a Step must be completed.  
When the duration has completed or the deadline date/time reached, a Connector action is 
triggered, so you’ll specify that too.  See How to trigger a Connector when a Step Deadline is 
reached. 
 
Use Forms to define web‐based end‐user applications.  See Part 3, How to Create Web 
applications. 
 
2.2.3  Define Details for a Start or End 
 
For each Start and End, the Details panel offers the following options under General: 
 
 

 
Figure 5.  Define Details for a Start or End 
 
Starts and Ends are named StartX or End X by default (X increments 1 each time an event is 
added).  You can rename a Start or End. 
 
Advanced allows you to assign the Start or End to a new Transactional sequence by changing 
the event from synchronous to asynchronous.  See How to define Transactions. 
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 17 


 
  Bonita Open Solution 5.0.1 User Guide
 
2.2.4  Define Details for a Gate 
 
For each Gate, the Details panel offers the following options under General: 
 

 
Figure 6.  Define Details for a Gate 
 
Gates are named GateX by default (X increments 1 each time a Gate is added).  You can 
rename a Gate. 
 
Advanced allows you to assign the Gate to a new Transactional sequence by changing the 
event from synchronous to asynchronous.  See How to define Transactions. 
 
If there are multiple inputs for a Step and only one is necessary to pass the Process along, 
normally you would add an XOR Gate before the Step to take both inputs and pass along the 
first to arrive.  If you do not specify a Gate for multiple inputs, Bonita Open Solution treats 
the multiple arrivals with an XOR function by default. 
 
2.2.5  Define Details for a Transition 
 
For each Transition, the Details panel offers the following options under General: 
 

 
Figure 7.Define Details for a Transition  
 
• Name and Description 
 
You can display the name you choose for the Transition (eg “If not
available”), the Condition represented by the Transition (eg 
“Car_available=false”), or display no label at all (select the label and Delete 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 18 


 
  Bonita Open Solution 5.0.1 User Guide
 
it).  The check box in the Details panel offers the option to choose between 
Condition and Name. 
 
• Condition:  use this field to enter an expression in Groovy script language to define a 
condition that must be met for the Transition consequence to fire and pass the 
Process to the next element. 
 
• Edit expression:  select this option to bring up a Groovy editor.  With this editor, you 
can create both Conditions and Rules. 
 
• Automatic layout:  if this box is checked, Bonita Studio will automatically choose the 
exit and entry points for the Transition arrow.  You can change the arrangement of 
arrows manually by unchecking this. 
 
2.2.6  Define a Text Annotation 
 
You can add ext labels attached to Whiteboard elements by clicking on the Text Annotation 
icon that appears in the Context Palette for the element.   
 

 
Figure 8.  Define a Text Annotation 
 
Enter the text in Details ‐> General.  You can click and drag the Text Annotation on the 
Whiteboard; it will remain attached by a thread to its element. 
 
You also can add text to the Whiteboard itself by clicking and dragging the Text Annotation 
icon from the Palette.  Click the Text Annotation and enter the text in Details ‐> General. 
 
2.2.7  Define Details for a Process Diagram 
 
Define the details of a Process Diagram by clicking on the Whiteboard outside all Pools to go 
to Process Diagram ‐> Details: 
 

 
Figure 9.  Define Details for a Process Diagram 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 19 


 
  Bonita Open Solution 5.0.1 User Guide
 
 
• Diagram:  Name, Version, and Description:  Use these fields to add information 
about the overall Process or the part of a Process described in a Pool.  You can save 
different versions of the Process Diagram by changing the Version number before 
you save. 
 
• Groups:  Here you can Create, Remove, or Edit Groups of Actors to whom Steps can 
be assigned.  See Assign a Step to an Actor. 
 
• Resources: Use this to select resources to be embedded with the process 
(connectors, libraries).  You can also import *.jar files.  See Add user defined‐data 
in the form of Java files. 
 
2.2.8  Define Details for a Pool 
 
Define the Process details by clicking on the Pool, and go to Pool ‐> Details: 
 

 
Figure 10.  Define Details for a Pool 
 
• Pool:  Name, Version, and Description:  Use these fields to add information about a 
Process described in a Pool.  You can save different versions of the Pool by changing 
the Version number. 
 
• Data:  Use this to assign global variables for the entire Process contained in this 
Pool.  See How to define Data variables. 
 
• Groups:  Here you can Create, Remove, or Edit Groups of Actors to whom Steps can 
be assigned.  See Assign a Step to an Actor. 
 
• Connectors:  Use this to design connections between your Process and external 
systems.  See How to connect processes to external information systems. 
 
• Resources: Use this to select resources to be embedded with the process 
(connectors, libraries).  These can then be exported with the *.bar file.  (Note that 
applications such as HTML templates are added to the *.war file). 
 
You can also import *.jar files.  See Add user defined‐data in the form of Java 
files. 
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 20 


 
  Bonita Open Solution 5.0.1 User Guide
 
• Forms: Use this to create a Form to accept or present data through the end User 
Interface.  See How to customize an end user Form. 
 
• Application: Use this to manage imported resources associated with your Web 
applications, such as HTML templates and CSS files.  See Customize welcome, log‐in, 
or error pages.  These are then added to the generated *.war file which can be 
exported directly into a global *.zip file containing the User Experience and your 
HTML files. 
 
2.2.9  Define Details for a Lane 
 
The Details for a Lane are essentially the same as for a Pool.  The only significant difference 
is the Lane section where you can add a name and description:  
 

 
Figure 11.  Define Details for a Lane 
 
Lane:  Name and Description:  Use these fields to add information about the Lane.   
 
Data, Groups, Resources, Forms and Applications are used in the same way as for a Pool.  
See Define Details for a Pool. 
 
2.3 How to Assign an Actor to a Step
 
An Actor is the individual or group of individuals who complete a Step – the Users.  All 
Human Steps need to have an Actor assigned.  Click the step, then go to Details ‐> Actors. 
 

 
Figure 12.  Assign an Actor to a Step  
 
2.3.1  Assign an individual Actor 
 
In Details ‐> Actors, select individual and enter the User name.  To assign an individual in 
this way, the User must be predefined.  See Define Users and User Roles. 
   

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 21 


 
  Bonita Open Solution 5.0.1 User Guide
 
During process development, you can assign example Users here also.  Use john, james, 
or jack (lower case). 
 

 
Figure 13.  Assign an individual Actor 
 
2.3.2  Assign the Process Initiator to a Step 
 
There are two ways to identify the Initiator, the individual who initiates a new case of the  
Process. 
 
In Details ‐> Actors ‐> Group, select Initiator, then Choose.  When the Assign Actors window 
appears, select Initiator and Finish. 
 

 
Figure 14.  Assign the Process Initiator to a Step 
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 22 


 
  Bonita Open Solution 5.0.1 User Guide
 
In Details ‐> Actors ‐> Group  ‐> Create ‐> Bonita, select Process Initiator.   
 

 
Figure 15.  Assign the Process Initiator to a Step via a Connector 
 
When the Set the name of this group window appears, enter a Name and Description for 
the Process Initiator.  This Name can now be used in variable expressions. 
 
2.3.3  Assign one or more groups to a Step 
 
A Group of users can be defined internally as a List of users, or can be created from an 
external directory.  Filters can be added to select a subset of members from a defined 
Group. 
 

 
Figure 16.  Assign a group to a Step 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 23 


 
  Bonita Open Solution 5.0.1 User Guide
 
 
2.3.3.1  Assign a manually defined Group to a Step 
 
Select Group ‐> Create.  When the Select a connector for this group window appears, select 
Bonita ‐> User List. 
 

 
Figure 17.  Assign a manually define Group to a Step 
 
Enter the Name and Description of the Group. 
 

 
Figure 18.  Enter the Name and Description of the Group 
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 24 


 
  Bonita Open Solution 5.0.1 User Guide
 

 
Figure 19.  Enter the individuals' names 
 
In Users, enter individuals’ names in the form john,jack,james  (comma 
separations). 
 
When you have saved the Group, you can access it for other Steps in this Process. 
 
2.3.3.2  Assign a Group from an itemized list to a Step 
 
First, define the variable that will contain the list of names.  See How to define Data 
variables. 
 
To use the variable you have created as an input for the Actor assignment, click on the Step. 
 
Select Group ‐> Create.  When the Select a connector for this group window appears, select 
Bonita ‐> User List. 
 
 
Enter the Name and Description of the Group. 
In Users, select the variable you have created with the list of names. 
 
2.3.3.3  Assign a group from an LDAP directory or database to a Step  
 
Select Group ‐> Create.  When the Select a connector for this group window appears, select 
LDAP. 
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 25 


 
  Bonita Open Solution 5.0.1 User Guide
 

 
Figure 20.  Assign a group from an LDAP directory to a Step 
 
Enter the Name and Description of the Group. 
 
LDAP 
Category:  Database 
Connector description:   search in an LDAP directory and return a list of specified 
attributes 
Input  Description  Type 
Host  IP address or name of  string 
server hosting LDAP 
directory 
Port  LDAP directory port  number 
number 
Protocol  choose LDAP, LDAPS, or  select 
TLS 
User   LDAP User name  string 
Password  LDAP user password  string 
Group base DN  The DN that contains group  String 
records 
People base DN  DN at which to start search   
Scope  • SUBTREE (the entire  select 
subtree starting at the 
base DN) 
• ONELEVEL (entries 
immediately below the 
base DN) 
• BASE (search just the 
named entry) 
BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 26 
 
  Bonita Open Solution 5.0.1 User Guide
 
Filter  specify a subset in the  string 
LDAP directory set (eg 
Multiple Random – to 
select N candidates from 
specified groups 
Unique Random – to 
randomly select a single 
candidate) 
Attributes  define attributes to return  string or strings separated 
in result entries using LDAP  by “,” 
syntax 
Size limit  maximum number of  number 
entries to return 
Time limit (in seconds)  maximum time to allow  number 
search to run 
Referral handling  FOLLOW or IGNORE  select 
referrals 
Alias dereferencing  ALWAYS: Always  select 
dereference aliases.   
SEARCHING:  Dereferences 
aliases only after name 
resolution 
NEVER:  Never dereference 
aliases.   
FINDING: Dereferences 
aliases only during name 
resolution. 
 
When you have saved the Group, you can access it for other Steps in this Process. 
 
2.3.4  Filter a Group  
 
You can Add a predefined filter or Create your own. 
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 27 


 
  Bonita Open Solution 5.0.1 User Guide
 
2.3.4.1  Assign a previous Actor to a Step  
 
To assign the same Actor – one who was assigned to complete a previous Step – to a Step, 
Select Group ‐> (Filters) Add filter ‐> Bonita ‐> Actor continuity. 
 

 
Figure 21.  Assign an Actor based on a previous assignment 
 
Enter the Name and Description of the Filter.  
 

 
Figure 22.  Name the filter 
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 28 


 
  Bonita Open Solution 5.0.1 User Guide
 
Reference step name:  Enter or select the name of the Step whose Actor will be the same 
for this step.  
 

 
Figure 23.  Identify the previous Step in which the Actor is assigned 
 
2.3.4.2  Select random candidate(s) from a Group list with a predefined Filter 
 
To select random candidates from a User list, go to Group ‐> (Filters) Add filter ‐> Bonita. 
 
Select Multiple Random to randomly select a specified number of candidates from the 
group list. 
Enter the Name and Description of the Filter.  
Enter the Number of candidates to randomly select from the group list. 
 
Select Unique Random to randomly select a single candidate from the group list. 
Enter the Name and Description of the Filter.  
 
2.3.4.3  Create a new Filter 
 
To create a filter, Select Group ‐> (Filters) Create. 
 
The Set the description of your filter wizard will appear.  This is a connector ‐ see Develop 
your own Connectors for details of how to complete this wizard. 
 
2.3.5  Edit / Remove Group 
 
When a Group is created, it is saved in the Details at the Process level.   
 
You can Edit or Remove a Group from a Step. 
 
To Edit or Remove a Group, select Step ‐> Actors ‐> Group and select the Group.  Then select 
Edit to make changes or Remove to remove it from this Step. 
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 29 


 
  Bonita Open Solution 5.0.1 User Guide
 
To delete a Group entirely, click the Process (or Pool) to bring up the Details panel and select 
Groups.  Select the Group you want to delete from Bonita Open Solution and select Remove. 
 

 
Figure 24.  Delete a Group 
 
2.3.6  Use example users / Administrator default for testing 
 
When you first open Bonita Open Solution, by default you are automatically logged in as the 
Administrator (admin), with the password bpm.  You can change this configuration in Edit ‐
> Preferences ‐> Bonita User Experience. 
 
There are also 3 predefined non‐administrator “example” users that you can play with as a 
Process developer.   
 
You can define any of the following as Actors in Human Steps by assigning one of them as an 
individual, or you can create a Group with one or more of them: 
 
• admin
• john
• jack
• james
 
The User Experience inbox will open for the admin by default.  To interact as John, Jack, or 
James as the Process runs, you can log in as any of these Actors: 
 
• Go to your Bonita User Experience inbox. 
• Logout as admin 
• The Welcome to Bonita User Experience window will appear 
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 30 


 
  Bonita Open Solution 5.0.1 User Guide
 

 
Figure 25.  Bonita User Experience welcome page (default) 
 
Enter Username:  john or jack or james  (note lowercase). 
Enter Password:  bpm . 
 
When you are logged in as “John,” you will see John’s inbox and the tasks assigned to John. 
John, Jack, and James are defined as Users and so do not have the Admin menu in their 
Control Panel.  See Bonita User Experience – End User's View. 
 
2.4 How to define Data variables
 
2.4.1  Overview of Data variables 
 
Data variables can be defined globally (for the Process or Pool) or locally (for an individual 
Step.)  Global variables are available to all Steps in the Process or Pool.  Local variables can 
be used only within the Step where they are defined. 
 
To define a Global variable, click on the Whiteboard to see the Details associated with the 
Process or Pool.  To define a local variable, click on a Step. 
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 31 


 
  Bonita Open Solution 5.0.1 User Guide
 

 
Figure 26.  Add a variable 
 
Go to Details ‐> Data ‐> Add. 
 
Enter the Name and Description of the variable. 
 
Select a Data type: 
 
• Boolean 
• Date 
• Integer 
• Decimal 
• Text 
• Attachment (global variables only) 
• Java object  (see Add User‐Defined Data in the form of Java files) 
• List 
 
NOTE that when you have created a List variable, it will show up in this  list of Data 
types. 
 
For all data types except List, you have the option of specifying a Default value or an 
expression. 
 
Edit Expression…  brings up the Groovy script editor.  See Write expressions 
using the Groovy script editor. 
 
To define a List variable:  
 
Enter the Name and Description of the List.  Add items to the List. 
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 32 


 
  Bonita Open Solution 5.0.1 User Guide
 

 
Figure 27.  Define a List variable 
 
Note that once you have defined a List, the list name will appear in Data types. 
 
2.4.2  Write expressions using the Groovy script editor 
 
For more information on writing scripts in Groovy, see http://groovy.codehaus.org/. 
 
The Groovy editor is available throughout Bonita Open Solution, to apply scripts in the form 
of expressions.  It is presented as Edit expression (as an option in lists of variables, for 
example). 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 33 


 
  Bonita Open Solution 5.0.1 User Guide
 

 
Figure 28.  Grrovy script editor 
 
If you need to apply operations to the output of a Connector, for example, before it is stored 
as the value of a variable, you can use Groovy to create the expression. 
 
The Groovy editor presents a field for entering an expression, surrounded by tools and 
shortcuts.  For example, all available user‐defined data variables are offered in a drop‐down 
menu in the list at the top left.  A selection of common operations is offered across the top. 
 
A set of Groovy expressions is available in Categories; click on the script highlighted in 
Functions to load it into the editor. 
 
When the expression is valid, use Set Variables to enter test data, and click Evaluate to see 
the test data presented in the resulting expression. 
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 34 


 
  Bonita Open Solution 5.0.1 User Guide
 

 
Figure 29.  Test an expression in the Groovy editor 
 
2.4.5  Promote a local variable to become a global variable 
 
A variable defined locally in a Step can be elevated to the Process level.  Select the Step 
variable and Promote. 
 
2.4.4  Add user defined‐data in the form of Java files (*.jar) 
 
To add your own complex data to your Process, first import your *.jar file(s).  Go to the 
Menu bar and select Edit ‐> Manage jars and select Add jar.    
 

       
Figure 30.  Add a *.jar file 
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 35 


 
  Bonita Open Solution 5.0.1 User Guide
 
Or, go to Details ‐> Resources ‐> Add JAR.   
 

 
Figure 31.  Add a *.jar file to Resources 
 
Browse to where your files are and upload them. 
 
To use the imported *.jar as a variable, click on the Process, Pool, or Step and go to 
Details ‐> Data ‐> Add.  Select Java object and Browse.  Your imported *.jar(s) will appear 
in the list of available java files. 
 
Select the *.jar you want to define as a variable.  If you want to further associate this with 
an expression, scroll through the Default value list to Edit expression and bring up the 
Groovy editor to create one. 
 
2.5 Create a subprocess
 
You can create a parent Process that calls Subprocesses as it is run.  To create a Subprocess 
Step:  click the tools icon to the bottom left to change to a Subprocess, or 
 
Go to Step ‐> Details ‐> General ‐> Activity type and select Subprocess. 
 

 
Figure 32.  Create a subprocess 
 
Subprocesses are built in the same way as Processes.  Open a New Process whiteboard, 
create your Subprocess, and save it. 
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 36 


 
  Bonita Open Solution 5.0.1 User Guide
 
When the Subprocess is completed, go to the parent Process.  Select the Step that 
represents the Subprocess.   
 
Go to Step ‐> Details ‐> General ‐> Subprocess. 
 

 
Figure 33.  Identify the Process that is Sub 
 
Browse the Processes in your Workspace and select the SubProcess you’ve created. 
 
Save your Process.  The parent Process will now run with the Subprocess. 
 
NOTE:  You may need to Run subprocesses independently before the parent Process will run. 
 
You can double‐click on a Subprocess Step to bring up the linked Subprocess. 
 
2.5.1  Define multiple entries / exits from a subprocess (map data from/to parent‐subprocess) 
 
Subprocess data mapping allows you to transfer data from the parent Process directly to a 
variable in the Subprocess.  You can use this function to: 
 
• hand off data from the parent to the subprocess 
• hand off data from the subprocess to the parent 
• direct the process flow to different entry points in the subprocess  (multiple entries) 
• direct the process flow to different exit points in the parent process  (multiple exits) 
 
To map data between the parent and subprocess, first identify the global variables to be 
linked (mapped) in both the parent and the Subprocesses (see How to define Data 
variables). 
 
In the parent process, go to the Subprocess Step.  Be sure that the Subprocess has been 
identified in General. 
 
Select Mapping.   
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 37 


 
  Bonita Open Solution 5.0.1 User Guide
 

 
Figure 34.  Map data between parent and child Processes 
 
• In the left‐hand column select the Source data (global variable defined in the parent 
Process) to map to the Subprocess data (global variable defined in subprocess). 
• In the right‐hand column select the Subprocess data (global variable defined in the 
subprocess) to map to the source data (global variable defined in parent Process). 
• You can select Source data from the drop‐down list.  Enter the subprocess variable 
name(s) directly. 
• Be sure to delete empty fields by clicking on the red X. 
 
2.6 How to connect processes to external information systems
 
Bonita Open Solution provides Connectors to connect a Step in a Process to external 
systems.  To correctly configure Connectors requires an appropriate level of technical 
mastery of the external systems. 
 
This section of the User Guide provides an overview of Connectors, but is not meant to 
present comprehensive technical detail.  (A How to Use Connectors document is in process). 
 
Connectors take specified input (directly as a value from the end user or carried over / built 
into an expression) and execute.  Some Connectors also return output back into Bonita Open 
Solution as specified.  Inputs and outputs for each Connector provided in Bonita Open 
Solution are given in this section. 
 
There are two basic ways to configure Connectors: 
 
• Add a Connector – choose a Connector already defined in Bonita Open Solution 
• Create a Connector – Create a new Connector type; place it in an existing Bonita 
Open Solution Category; use this to create your own wizard for future use 
 
2.6.1  Add a Connector to a Step or a Process 
 
To Add a Connector already defined in Bonita Open Solution to a Step, click the Step and go 
to Details ‐> Connectors ‐> Add. 
 
Note:  you may want to define some global variables first, to associate with your inputs 
and/or output results.  See How to define Data variables. 
 
When the Select a connector window appears, choose the type of Connector you want to 
add. 
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 38 


 
  Bonita Open Solution 5.0.1 User Guide
 

 
Figure 35.  Choose a Connector to Add 
 
In the next wizard, for all Connectors, specify: 
 

 
Figure 36.  Specify Connector parameters at the Step level 
 
• Name:  name the Connector 
 
• Description / Purpose:  what the Connector does 
 
• Select event:  at which event the Connector activates 
 
For a Human Step, you will choose when the connector is to be implemented. 
 
o Enter:  the connector implements as soon as the Process moves to this Step 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 39 


 
  Bonita Open Solution 5.0.1 User Guide
 
o Start:   the connector implements when the assigned Actor completes the 
necessary action (presented via the web application and initiated when the 
form is Submitted)  
o Finish:   the connector implements as this Step is completed 
 
There are also options to implement a Connector through specific actions taken by 
the Actor during this Step. 
 
o Suspend:  the connector implements if the Actor suspends the Process 
o Resume:  the connector implements if the Actor resumes the Process 
 

 
Figure 37.  Specify Connector parameters at the Process or Pool level 
 
At the Process level, there are also options to implement a Connector at any time 
during the Process: 
 
o Cancel  the connector implements if the Actor cancels the Process (case) 
o Abort  the connector implements if the Process case encounters a fatal 
error 
 
• If Connector fails:  choose the appropriate action to take if the Connector itself fails:   
o Abort process and raise error; or 
o Ignore error and continue process. 
 
Next, define the parameters required for Connector inputs and, where appropriate, for 
outputs.  (You may need to define new variables – see How to define Data variables. 
 
• Select save connector configuration (when the option is available) to re‐use the 
same configuration when defining another Connector of the same type. 
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 40 


 
  Bonita Open Solution 5.0.1 User Guide
 
2.6.1.1  Configure a Connector to send an email 
 

 
Figure 38.  Configure a Connector to send an email 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 41 


 
  Bonita Open Solution 5.0.1 User Guide
 
 
Email 
Category:  Messaging 
Connector description:   send an email message 
Input  Description  Type 
Host   IP address or name of  string 
email server 
Port  port defined for email  number 
system 
Security:  SSL  check if SSL security  boolean 
authentication required 
Security:  STARTTLS  check if STARTTLS security  boolean 
authentication required 
Authentication:  User  User name for the host  string 
Name and password  account 
Authentication:  password  User password for the host  string 
account 
From  name@name.ext string 
To:  name@name.ext, string 
name@name.ext 
CC:  name@name.ext, string 
name@name.ext 
Bcc:  name@name.ext, string 
name@name.ext 
Subject  text  string 
Message  message to recipient which  string 
can include variable(s) and 
text (hello ${var}) 
Or select a data you want  chose a variable to add  select 
to use 
HTML email  will activate HTML tags in  boolean 
message 
Other headers: name  name of additional header  string 
information 
Other headers: value  value of additional header  string 
information 
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 42 


 
  Bonita Open Solution 5.0.1 User Guide
 
2.6.1.2  Configure a Connector to send a Twitter Direct Message 
 

 
Figure 39.  Configure a Connector to send a Twitter Direct Message 
 
Twitter – Direct Message 
Category:  Social 
Connector description:   send a Twitter message directly 
Input  Description  Type 
User name or email  Sender’s name:   string 
name@name.ext 
Password  Sender’s Twitter password  string 
Message  message to recipient which  string 
can include variable(s) and 
text (eg  hello
${var}) 
Or select a data you want  chose a variable to add  select 
to use 
Recipent  @username string 
HTTP Proxy  proxy server IP address  string 
Proxy port  port of proxy server  number 
Proxy user name  name of proxy user  string 
Proxy password  password of proxy user  string 
Show password  checkbox  boolean 
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 43 


 
  Bonita Open Solution 5.0.1 User Guide
 
2.6.1.3  Configure a Connector to send a Twitter Status Update 
 

 
Figure 40.  Configure a Connector to send a Twitter Status Update 
 
Twitter – Update Status 
Category:  Social 
Connector description:   send a Twitter update to “What are you doing?” 
Input  Description  Type 
User name or email   Sender’s name  string 
Password  Sender’s Twitter password  string 
New status  message from sender  string 
Or select a data you want  choose a variable to add  string 
to use 
HTTP Proxy  proxy server IP address  string 
Proxy port  port of proxy server  number 
Proxy user name  name of proxy user  string 
Proxy password  password of proxy user  string 
Show password  checkbox  boolean 
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 44 


 
  Bonita Open Solution 5.0.1 User Guide
 
2.6.1.4  Configure a Connector to invoke a Java method 
 

 
Figure 41. Configure a Connector to invoke a Java method 
 
Java Executor 
Category:  Java 
Connector description:   configure invocation of Java methods 
Input  Description  Type 
Class  java class; click Browse and  select 
enter a string to find class 
Methods  methods defined for  select 
selected class; 
enter value to set 
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 45 


 
  Bonita Open Solution 5.0.1 User Guide
 
2.6.1.5  Configure a Connector to execute a shell command or script 
 

 
Figure 42.  Configure a Connector to execute a shell command or script 
 
Shell 
Category:  Scripting 
Connector description:   execute a shell command or script 
Input  Description  Type 
Shell command   enter command, script, or  string 
command path to execute 
a shell file 
can include variable(s) 
Or select a data you want  choose a variable to add  select 
 
to use
 
Output  Description  Type 
Result  result of script or  string 
command 
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 46 


 
  Bonita Open Solution 5.0.1 User Guide
 
2.6.1.6  Configure a Connector to execute a Groovy command or script 
 

 
Figure 43.  Configure a Connector to execute a Groovy command or script 
 
Groovy 
Category:  Scripting 
Connector description:   execute a Groovy command or script 
Input  Description  Type 
Groovy script  enter the script directly  string 
 
Output  Description  Type 
Result  result of script or  object 
command 
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 47 


 
  Bonita Open Solution 5.0.1 User Guide
 
2.6.1.7  Configure a Connector to search in an LDAP directory and return a list 
 

 
Figure 44.  Configure a Connector to search in an LDAP directory and return a list 
 
LDAP 
Category:  Database 
Connector description:   search in an LDAP directory and return a list of specified 
attributes 
Input  Description  Type 
Host  IP address or name of  string 
server hosting LDAP 
directory 
Port  LDAP directory port  number 
number 
Protocol  choose LDAP, LDAPS, or  select 
TLS 
User   LDAP User name  string 
Password  LDAP user password  string 
Base DN  Identify Distinguished  string 
Name at which to start 
search 
Scope  • SUBTREE (the entire  select 
subtree starting at the 
base DN) 
• ONELEVEL (entries 
immediately below the 
base DN) 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 48 


 
  Bonita Open Solution 5.0.1 User Guide
 
• BASE (search just the 
named entry) 
Filter  specify a subset in the  string 
LDAP directory set (eg 
Multiple Random – to 
select N candidates from 
specified groups 
Unique Random – to 
randomly select a single 
candidate) 
Attributes  define attributes to return  string or strings separated 
in result entries using LDAP  by “,” 
syntax 
Size limit  maximum number of  number 
entries to return 
Time limit (in seconds)  maximum time to allow  number 
search to run 
Referral handling  FOLLOW or IGNORE  select 
referrals 
Alias dereferencing  ALWAYS: Always  select 
dereference aliases.   
SEARCHING:  Dereferences 
aliases only after name 
resolution 
NEVER:  Never dereference 
aliases.   
FINDING: Dereferences 
aliases only during name 
resolution. 
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 49 


 
  Bonita Open Solution 5.0.1 User Guide
 
 

 
Figure 45.  Configure LDAP Connector outputs 
 
Output  Description  Type 
Result  result of Query:   List of LdapAttributes
LdapAttributeList
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 50 


 
  Bonita Open Solution 5.0.1 User Guide
 
2.6.1.8  Configure a Connector to add a comment 
 

 
Figure 46.  Configure a Connector to add a comment 
 
Add a comment 
Category:  Other 
Connector description:  Add text to a Step or a Process 
Input  Input description  Type 
message  enter text to display  string 
On Step  checkbox  boolean 
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 51 


 
  Bonita Open Solution 5.0.1 User Guide
 
2.6.1.9  Configure a Connector to send a command to execute a Step 
 

 
Figure 47.  Configure a Connector to send a command to execute a Step 
 
Execute a Step  
Category:  other 
Connector description:   send a command to execute the indicated Step (anywhere in 
the Pool) 
Input  Description  Type 
Step name  name of Step  string 
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 52 


 
  Bonita Open Solution 5.0.1 User Guide
 
2.6.1.10  Configure a Connector to send a command to start a Step 
 

 
Figure 48.  Configure a Connector to send a command to start a Step 
 
Start a Step 
Category:  other 
Connector description:   send a command to start the indicated Step (any Step in the 
Pool) 
Input  Description  Type 
Step name  name of Step  string 
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 53 


 
  Bonita Open Solution 5.0.1 User Guide
 
2.6.1.11  Configure a Connector to send a command to finish a Step 
 

 
Figure 49.  Configure a Connector to send a command to finish a Step 
 
Finish a Step  
Category:  other 
Connector description:   send a command to finish the indicated Step (any Step in the 
Pool) 
Input  Description  Type 
Step name  name of Step  string 
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 54 


 
  Bonita Open Solution 5.0.1 User Guide
 
2.6.1.12  Configure a Connector to create a global variable 
 

 
Figure 50.  Configure a Connector to create a global variable 
 
Set variable 
Category:  other 
Connector description:   create a global variable 
Input  Description  Type 
Name  name of variable  string 
Value  variable definition  string 
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 55 


 
  Bonita Open Solution 5.0.1 User Guide
 
2.6.1.13  Configure a Connector to use a hook defined in Bonita v4 
 

 
Figure 51.  Configure a Connector to use a hook defined in Bonita v4 
 
HookProcessConnector 
Category:  other  
Connector description:   Use a hook defined in Bonita v4 as a Connector 
Input  Description  Type 
className  name of javaclass  string 
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 56 


 
  Bonita Open Solution 5.0.1 User Guide
 
2.6.1.14  Configure database Connectors  
 
Bonita Open Solution supports multiple databases.  The inputs required for each database 
are specified in the database Connector wizard.  
 
1. Local access databases 
• Access 
 
2. Server based / remote access databases (with assigned port) 
• PostGreSQL 
• Sybase 
• MySQL 
• MSSQLServer 
• Ingres 
• Informix 
• DB2 
 
3. Server based /remote access (w/o port) 
• Teradata 
• AS400 
 
4. Local OR Server‐based 
• H2 
 
5. Local OR Server OR Web‐server‐based 
• HSQL 
 
6. Oracle 
 
Note that to send the query result to a variable value, you will need to define the variable 
first.  
 
Databases 
Category:  Database 
Connector description:   search in a database and return data 
Input  Description  Type 
1,2,3,5,6
  Database  name of database   string 
1,2,3,4,5,6
  User name  database user’s name  string 
1,2,3,4,5,6
  Password  database password  string 
1,2,3,4,5,6
  Show password  checkbox  boolean 
2,3,4,5,6
  Host name  IP address or name of  string 
database host server 
2,3,5,6
  Port  database assigned port  integer 
2,2a
  DB server  name of database server  string 
4,5
  Local  check if locally based  boolean 
4,5
  Server  check if server‐based  boolean 
5
  Web server  check if web‐server based  boolean 
4
  SSL support  check if SSL security  boolean 
authentication required 
6
  SID   check if database has an  boolean 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 57 


 
  Bonita Open Solution 5.0.1 User Guide
 
Oracle system ID 
6
  oracleServiceName  check if this is to go to an  boolean 
alias  
6
  oracleOCI  check is this is to go to an  boolean 
Oracle Instant Client 
1,2,3,4,5,6
  Query  the statement or query  string 
expression which can 
include variable(s) with the 
syntax ${var} 
1,2,3,4,5,6
  Or select a data  choose a variable to add  select 
you want to use 
others  some databases require   
unique input (ie Oracle) 
 
 
Database Connectors Output 
Output  Description  Type 
rawSet  result of Query   CachedRawSet 
(remember to close the 
rawest after the last use) 
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 58 


 
  Bonita Open Solution 5.0.1 User Guide
 
2.6.1.15  Configure a Connector to launch a Talend job 
 

 
Figure 52.  Configure a Connector to launch a Talend job 
 
Talend Job Launcher 
Category:  Talend 
Connector description:   Create a new Talend Job 
Input  Description  Type 
Project Name  Name of the Talend project  string 
Job Name  Name of the Talend job  string 
Job Version  Version of the Talend job  string 
Job Parameter: name  name of parameter  string 
Job parameter: value  value of parameter  string 
Add row     
Print Buffer Output  checkbox  boolean 
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 59 


 
  Bonita Open Solution 5.0.1 User Guide
 

 
Figure 53.  Configure launch a Talend job Connector output 
 
Output  Description  Type 
bufferOutput  Definition of the schema of  Array array (table) of 
the response of the job  strings 
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 60 


 
  Bonita Open Solution 5.0.1 User Guide
 
2.6.1.16  Configure a Connector to launch a Talend MDM Connector 
 

 
Figure 54.  Configure a Connector to launch a Talend MDM Connector 
 
Talend MDM Connector 
Category:  Talend 
Connector description:   Update a Talend MDM entity 
Input  Description  Type 
Host  IP address or name of  string 
server.  You may use the 
MDM_host variable if 
defined 
Port  Host port.  You may use  number 
the MDM_port variable if 
defined. 
Version  The version to use. If  string 
empty, defaults to the 
[HEAD] version. You may 
use the MDM_universe 
variable if defined. 
datamodel  The data‐model to use. You  string 
may use the 
MDM_dataModel variable 
if defined. 
datacontainer  The data‐container to  string 
update. You may use the 
MDM_dataCluster variable 
if it is defined. 
updatemap:  name  XPath of the element to  string 
update.  More than one 
element may be updated, 
add multiple rows using 
“add row”. There must be 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 61 


 
  Bonita Open Solution 5.0.1 User Guide
 
at least one row with the 
XPath to the PK. You may 
use the variables with the 
“_xpath” suffix if defined. 
updatemap:  value  The PK value, or the value  string 
to set in the element for all 
the other rows. 
Add row     
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 62 


 
  Bonita Open Solution 5.0.1 User Guide
 
2.6.1.17  Configure Connector to create an Alfresco folder  
 

 
Figure 55.  Configure Connector to create an Alfresco folder 
 
 
AlfrescoCreateFolderByPath 
Category:  Alfresco 
Connector description: create folder in specified path   
Input  Description  Type 
host  IP address or name of  string 
Alfresco directory host 
server 
port  Alfresco directory port  number 
number 
username  Alfresco user name  string 
password  Alfresco user password  string 
parentPath  path of the parent folder   String 
newFoldersName  folder name  String 
newFoldersDescription  folder description  String 
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 63 


 
  Bonita Open Solution 5.0.1 User Guide
 

 
Figure 56.  Configure Create an Alfresco folder Connector outputs 
 
Output  Description  Type
responseType  Can be:  String 
• client error 
• redirection 
• server error 
• success 
• unknown 
statusCode  Response status code  number 
statusText  Response status text  String 
stackTrace  Stacktrace if exception  String 
occured 
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 64 


 
  Bonita Open Solution 5.0.1 User Guide
 
2.6.1.18  Configure Connector to delete an Alfresco folder  
 

 
Figure 57.  Configure Connector to Delete an Alfresco folder 
 
 
 
AlfrescoDeleteFolderByPath 
Category:  Alfresco 
Connector description: delete folder and its contents in specified path 
Input  Description  Type 
host  IP address or name of  string 
Alfresco directory host 
server  
port  Alfresco directory port  number 
number 
username  Alfresco user name  string 
password  Alfresco user password  string 
show password  click to show password  checkbox 
folderPath  path of the folder to be  String 
deleted  
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 65 


 
  Bonita Open Solution 5.0.1 User Guide
 

 
Figure 58.  Configure Delete an Alfresco folder Connector outputs 
 
Output  Description  Type
responseType  Can be:  String 
• client error 
• redirection 
• server error 
• success 
• unknown 
statusCode  Response status code  number 
statusText  Response status text  String 
stackTrace  Stacktrace if exception  String 
occured 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 66 


 
  Bonita Open Solution 5.0.1 User Guide
 
2.6.1.19  Configure Connector to upload file for Alfresco 
 

 
Figure 59.  Configure Connector to Upload file for Alfresco folder 
 
AlfrescoUploadFileByPath 
Category:  Alfresco 
Connector description: upload file to destination folder 
Input  Description  Type 
host  IP address or name of  string 
Alfresco directory host 
server 
port  Alfresco directory port  number 
number 
username  Alfresco user name  string 
password  Alfresco user password  string 
fileAbsolutePath  absolute path of the file to  String 
upload 
description  file description  String 
mimeType  mime type of the uploaded  String 
file 
destinationFolder  Alfresco destination folder  String 
of the uploaded file 
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 67 


 
  Bonita Open Solution 5.0.1 User Guide
 

 
Figure 60.  Configure Upload file for Alfresco folder outputs 
 
Output  Description  Type
responseType  Can be:  String 
• client error 
• redirection 
• server error 
• success 
• unknown 
statusCode  Response status code  number 
statusText  Response status text  String 
stackTrace  Stacktrace if exception  String 
occured 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 68 


 
  Bonita Open Solution 5.0.1 User Guide
 
2.6.1.20  Configure Connector to create a folder in eXo 
 

 
Figure 61.  Configure Connector to Create a new folder in eXo 
 
 
eXo ‐ CreateFolder 
Category:  eXo 
Connector description: Create a new folder in eXo JCR 
Input  Description  Type 
host  IP address or name of eXo  string 
directory host server 
port  eXo directory port number  number 
username  eXo user name  string 
password  eXo user password  string 
parentUri  URI of the parent folder  String 
newFoldersName  name of new folder  String 
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 69 


 
  Bonita Open Solution 5.0.1 User Guide
 

 
Figure 62.  Configure Create a new Folder in eXo outputs 
 
Output  Description  Type
response  Can be:  String 
• client error 
• redirection 
• server error 
• success 
• unknown 
statusCode  Response status code  number 
statusText  Response status text  String 
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 70 


 
  Bonita Open Solution 5.0.1 User Guide
 
6.6.1.21  Configure Connector to delete an item from eXo 
 

 
Figure 63.  Configure Connector to Delete an item from eXo 
 
eXo – DeleteItem 
Category:  eXo 
Connector description: delete an item from eXo JCR 
Input  Description  Type 
host  IP address or name of eXo  string 
directory host server 
port  eXo directory port number  number 
username  eXo user name  string 
password  eXo user password  string 
uri  URI of the item to delete  String 
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 71 


 
  Bonita Open Solution 5.0.1 User Guide
 

 
Figure 64.  Configure Delete an item from eXo outputs 
 
Output  Description  Type
response  Can be:  String 
• client error 
• redirection 
• server error 
• success 
• unknown 
statusCode  Response status code  number 
statusText  Response status text  String 
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 72 


 
  Bonita Open Solution 5.0.1 User Guide
 
2.6.1.22  Configure Connector to upload a file to eXo 
 

 
Figure 65.  Configure Connector to Upload a file to eXo 
 
 
eXo ‐ UploadFile 
Category:  eXo 
Connector description: upload file to a WebDAV server 
Input  Description  Type 
host  IP address or name of  string 
server  eXo directory host 
server 
port  eXo directory port number  number 
username  eXo user name  string 
password  eXo user password  string 
file  the absolute path of the  String 
file to upload 
contentType  mime type of the uploaded  String 
file 
destinationUri  the destination URI of the  String 
folder of the uploaded file 
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 73 


 
  Bonita Open Solution 5.0.1 User Guide
 
 

 
Figure 66.  Configure Upload an eXo file outputs 
 
Output  Description  Type
response  Can be:  String 
• client error 
• redirection 
• server error 
• success 
• unknown 
statusCode  Response status code  number 
statusText  Response status text  String 
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 74 


 
  Bonita Open Solution 5.0.1 User Guide
 
2.6.1.23  Configure a Connector to create a Google calendar event 
 

 
Figure 67.  Configure a Connector to Create a Google calendar event 
 
Google Calendar – CreateEvent 
Category:  Google 
Connector description: create a new event in specified Google calendar 
Input  Description  Type 
userEmail  Gmail user email user  String 
name:  name@gmail.com 
password  Gmail password  string 
CalendarUrl  URL of Google calendar (eg  string 
http://www.google.com/
calendar/feeds/
your_gmail_address/
private/full
Title  Title of event  String 
Content  Content of event  String 
startTime  Date and time to start  Date 
event 
endTime  Date and time to end event  Date 
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 75 


 
  Bonita Open Solution 5.0.1 User Guide
 
2.6.1.24  Configure a Connector to create a Google calendar event with web content 
 

 
Figure 68.  Configure a Connector to Create a Google calendar event with web content 
   
Google Calendar – CreateEventWithWebContent 
Category:  Google 
Connector description:   create a new event with Web content in specified Google 
calendar 
Input  Description  Type 
userEmail  Gmail user email user  String 
name:  name@gmail.com 
password  Gmail password  string 
CalendarUrl  URL of Google calendar  (eg string 
http://www.google.com/
calendar/feeds/
your_gmail_address/
private/full) 
Title  Title of event  String 
Content  Content of event  String 
startTime  Date and time to start  Date (and time) 
BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 76 
 
  Bonita Open Solution 5.0.1 User Guide
 
event 
endTime  Date and time to end event  Date and time 
icon  URL of favicon  (eg  String 
http://www.google.com/
favicon.ico
Icon Title  Title of icon  String 
contentType  Text or HTML  String 
url  URL of web content  String 
Width  Width of web content in  number 
pixels 
Height  Height of web content in  number 
pixels 
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 77 


 
  Bonita Open Solution 5.0.1 User Guide
 
2.6.1.25  Configure a Connector to delete a Google calendar event 
 

 
Figure 69.  Configure a Connector to Delete a Google calendar event 
 
GoogleCalendar – DeleteEvent 
Category:  Google 
Connector description: delete an event from specified Google calendar 
Input  Description  Type 
userEmail  Gmail user email user  String 
name:  name@gmail.com 
password  Gmail password  string 
show password  click to show password  checkbox 
CalendarUrl  URL of Google calendar (eg  String 
http://www.google.com/
calendar/feeds/
your_gmail_address/
private/full)
searchString  String to find event (by  String 
title) 
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 78 


 
  Bonita Open Solution 5.0.1 User Guide
 
2.6.1.26  Configure a Connector to execute a web service 
 

 
Figure 70.  Configure a Connector to Execute a web service 
 
Web Service Client – Execute a web service 
Category:  Web Services 
Connector description: execute a Web service 
Input  Description  Type 
Target NS  Target namespace (URL)  String 
Service name  Name of web service  string 
Port name  Web service port name  string 
Request  Requestor entity  string 
Endpoint address  URI  string 
Binding  Specify protocol and data  string 
format 
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 79 


 
  Bonita Open Solution 5.0.1 User Guide
 
 

 
Figure 71.  Configure Execute a Web service Connector outputs 
 
Output  Description  Type 
Result  result of execution  source 
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 80 


 
  Bonita Open Solution 5.0.1 User Guide
 
2.6.1.27  Configure a Connector to add metadata to a wiki page 
 

 
Figure 72.  Configure a Connector to Add metadata to a wiki page 
 
Add a metadata – add a metadata to a wiki page 
Category:  XWiki 
Connector description: add a metadata to a wiki page 
Input  Description  Type 
host  IP address or name of   wiki  string 
host server 
port  wiki port number  number 
User name  Wiki account user name  string 
password  Wiki user password  string 
Wiki name  Name of wiki  String 
Space name  Wiki space  String 
Page name  Page in wiki  String 
Class name  Wiki class  String 
Property name     
Property value     
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 81 


 
  Bonita Open Solution 5.0.1 User Guide
 
2.6.2  Develop your own Connectors  
 
To add your own connector to Bonita Open Solution: 
• Menu bar:  Connector ‐> New Connector 
• Menu bar:  ‐> Connector ‐> New Group 
• Menu bar:  ‐> Connector ‐> New Filter 
• click a Step and go to Details ‐> Connectors ‐> Create 
 

       
Figure 73.  Add your own Connector to Bonita Open Solution 
 
The Connector wizard will appear. 
 

 
Figure 74.  Set the description of your Connector 
 
• Connector ID:  name the Connector 
• Description:  description of Connector function 
• Category:  select one of the existing Bonita Connector categories 
• Icon:  import a favicon to be displayed with the Connector name 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 82 


 
  Bonita Open Solution 5.0.1 User Guide
 
• Class name:  this automatically takes the Connector name, but you can change it 
here 
• Package:  Java package 
• Specify the pages of the wizard of your connector.  This will define the parameters of 
the fields to appear in the form displayed in the User Interface.  Select Create. 
o Enter the Page ID, title, and description 
o Select Create 
o For each field in the wizard, enter a Field name, indicate if it is Mandatory, 
select a Widget and a Data type.  Select OK to return to Set the description 
of your Connector. 
• Specify the outputs of your Connector.  Select Create. 
o Enter the field names and data types 
 
Click Finish when completed. 
 
The java source file window will appear, in which you can create the executable Connector.  
When it is completed, save it and close the window to return to the Process. 
 

 
Figure 75.  Create java source file 
 
The Connector you have created is now available in Details ‐> Connectors. 
 

 
Figure 76.  Your Connector is now available 
 
BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 83 
 
  Bonita Open Solution 5.0.1 User Guide
 
2.6.2.1  Import or Export a Connector 
 
To import your own Connector to Bonita Open Solution: 
 
• Menu Bar: Connector ‐> Import Connector 
 

 
Figure 77.  Import (or Export) a Connector from the Menu bar 
 
Browse to where your Connector is located and upload it. 
 
To export a Connector form Bonita Open Solution: 
 
• Menu Bar ‐> Connector ‐> Export Connector 
 
The Connector will be exported as a *.jar file. 
 
2.6.3  Trigger a Connector when a Step Deadline is reached 
 
Deadlines are used to trigger a Connector after the specified duration or date has passed. 
 
A Deadline is either: 
 
• a date by which a Step must be completed, or 
• the duration of time during which a Step must be completed. 
 
Deadlines can be set for both Human and Automatic Steps.  Go to Step ‐> Deadlines ‐> Add.  
Choose a Connector to be triggered when the deadline is reached. 
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 84 


 
  Bonita Open Solution 5.0.1 User Guide
 

 
Figure 78.  Configure a Deadline to trigger a Connector 
 
• Enter Name and Description 
• Message Type:  select Duration, Date or Variable 
o Duration:  select the length of time to elapse between the initiation of this 
Step and the activation of the Connector 
o Date:  Select the date and time for the activation of the Connector  
o Variable:  Select a predefined variable that will return a date or an integer  
(See How to define a Data variable) 
• If Connector fails:  choose the appropriate action to take if the Connector itself fails:   
o Abort process and raise error; or 
o Ignore error and continue process. 
• Select Next to continue and configure the Connector to activate when the deadline 
is reached.  See Add a Connector to a Step. 
 
2.7 How to set Timers
 
Timers are used to pause a Process until the specified duration or date has passed.  Like 
deadlines, a Timer can be used to trigger a Connector, or it can simply allow the Process to 
activate the next Step when the specified duration or date has elapsed. 
 
From the Palette, drag the Timer icon onto the Whiteboard.  Go to Timer ‐> Details ‐> 
General: 
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 85 


 
  Bonita Open Solution 5.0.1 User Guide
 

 
Figure 79.  Set a Timer 
 
• Enter Name and Description 
• Timer Condition:  select Edit and then Duration, Date or Variable 
 

 
Figure 80.  Configure a Timer 
 
o Duration:  select the length of time to elapse  
o Date:  Select the date and time for the Timer to terminate  
o Variable:  Select a predefined variable that will return a date or an integer  
(See How to define a Data variable) 
 
To add a Connector to the Timer, go to Timer ‐> Details ‐> Connector.  See Add a Connector 
to a Step. 
 
2.8 How to send and receive messages across Pools
 
Messages carry information from one Pool to another. 
 
• Throw:  sends a message  
• Catch:  receives a message 
• End:  ends the Process and sends a message 
 
2.8.1  Create a Throw Message (send): 
 
From the Palette, drag the Message icon onto the Whiteboard.  Go to Message ‐> Details ‐> 
General: 
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 86 


 
  Bonita Open Solution 5.0.1 User Guide
 

 
Figure 81.  Create a Throw Message 
 
• Enter Name and Description 
• Message Type:  select Throw Message 
 
Go to Message ‐> Add to create the Message content: 
 

 
Figure 82.  Add Throw Message content 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 87 


 
  Bonita Open Solution 5.0.1 User Guide
 
 
• Name and description 
• Target Process:  select the Processes where you want to Catch the Message 
• Target Step:  select the Message event where you want to Catch the Message 
• Add data:  here you can define the information to be carried in the Message, 
including data or text 
• Message will expire in:  you can specify a duration for this message to remain active 
 
To define the message contents, select Add in Add data.   
 

 
Figure 83.  Define each data value to be carried by Message 
 
Here you can define a variable to take a value from the Process of origin.  Click Finish, and 
continue to add one variable for each datum you want to send. 
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 88 


 
  Bonita Open Solution 5.0.1 User Guide
 
2.8.2  Create a Catch Message (receive): 
 
From the Palette, drag the Message icon onto the Whiteboard.  Go to Message ‐> Details ‐> 
General: 
 

 
Figure 84.  Create a Catch Message 
 
• Enter Name and Description 
• Message Type:  select Catch Message 
• Catch Event:  select or specify the name created for the Throw Message 
• Matching condition:  create an expression to filter (uniquely identify) data passed 
between two Processes that have been linked  through the instantiation of a Case 
 
Then go to Message ‐> Details ‐> Connectors ‐> Add.   Choose Bonita ‐> Set Variable  to 
receive the Message. 
 

 
Figure 85.  Set a Variable to receive a Catch Message 
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 89 


 
  Bonita Open Solution 5.0.1 User Guide
 
When the Specify a connector window appears: 
 
• Enter Name and Description 
• If connector fails:  choose action to take if Message fails to arrive 
• Select Next to continue 
• Enter the Name of the catch variable 
• Select or enter the value to take from the received Message 
 
2.8.3  Create an End Message (to terminate a Process and send a message) 
 
From the Palette, drag the Message icon onto the Whiteboard.  Go to Message ‐> Details ‐> 
General: 
 

 
Figure 86.  Create an End Message 
 
• Enter Name and Description 
• Message Type:  select End Message 
 
Go to Message ‐> Add to create the Message content.  See Create a Throw Message. 
 
2.9 How to allow execution of multiple instances of the same Step
(multi-instantiation)
 
Multi instantiation (multiple instance) describes multiple execution paths of the same Step.   
 
A multi instantiated Step can initiate multiple instances of itself, or it can be is initiated 
multiple times. 
 
Note that you can also define multiple Actors for multiple instances of Human Steps using 
database connectors or personnel lists and filters.  To apply a connector to this Step, you 
need to define it first.  See Develop your own Connectors. 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 90 


 
  Bonita Open Solution 5.0.1 User Guide
 
 
Click on the Step to be multi instantiated and go to Details ‐> Advanced. 
 

 
Figure 87.  Define multi‐instantiation of a Step 
 
• Select is Multi‐Instantiated 
• For Multi instantiation:  
o enter or select the Data variables to be applied in the multiple instances 
o In Name, Browse to the Connector you have defined to activate for this Step 
 
2.10 How to define Transactions
 
A transaction is a group of activities that must all complete successfully before the Process 
can continue.  A series of activities are defined as a Transaction in Bonita Open Solution if 
they are sequential or part of the same execution pattern and are synchronous. 
 
Events are synchronous by default in Bonita Open Solution.  To mark the end of one 
Transaction and identify the beginning of another, the event in the Process immediately 
following the Transaction should be “de‐synchronized.”  This signals the disconnection of 
this event from the Transactional group. 
 
To indicate de‐synchronization of an event (Step, Start, End, or Timer) click on the Event and 
go to Details ‐> Advanced and un‐check the selection for Synchronous. 
 
2.11 How to manage Processes in Bonita Studio
 
2.11.1  Find Process files 
 
Bonita Open Solution stores your Processes as *.proc files in your Workspace directory, in 
My Processes.  This directory is located in BOS‐5.0\BonitaStudio‐
5.0\workspace\MyProcesses. 
 
The management tasks for Processes are located under Process in the Task bar.   
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 91 


 
  Bonita Open Solution 5.0.1 User Guide
 

 
Figure 88.  Process management tasks are located in the Task bar 
 
2.11.2  Create a New Process or Open an existing Process 
 
Start a New Process or Open a Process  
 
By selecting Process ‐> New or Process ‐> Open in the Menu bar; 
By clicking on the New or Open icon on the Task bar; or  
By clicking on New or Open from the Bonita Studio welcome page. 
 
2.11.3  Save a Process / Save all Processes 
 
Bonita Open Solution saves Processes as *.proc files. 
Save a Process: 
 
By selecting Process ‐> Save in the Menu bar 
By clicking on the Save icon on the Task bar 
 
To Save all Processes, select Process ‐> Save All.   
 
2.11.4  Duplicate a Process 
 
Create a copy of an existing Process by selecting Process ‐> Duplicate from the menu bar.  
You can Name the duplicate and give it a Version number. 
 
2.11.5  Import and Export a Process 
 
You can Import Processes in *.proc and *.bar file format.  Select Process ‐> Import from 
the Menu bar, or the Import or Export icon from the Task bar.   
 
To Import a file, browse to the file location and upload. 
 
You can Export Processes in *.bar format only.  (Should you need a *.proc version, you 
will find it in Workspace \ MyProcesses.  
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 92 


 
  Bonita Open Solution 5.0.1 User Guide
 
2.11.5.1  Export a file with Web applications 
 
You can Export a process with any custom Web applications you have embedded as a zipped 
*.war file.  Use Process ‐> Export Application.   
 
2.11.6  Print a Process 
 
To Print a hard copy of a Process, select Process ‐> Print. 
 
2.11.7  Close a Process / Close all 
 
To Close a single Process, select Process ‐> Close or click the X on its tab.   
 
To Close all open Processes, select Process ‐> Close All from the Menu bar.   
 
2.11.8  Delete a Process 
 
Each time you open a new Process in Bonita Studio, it is automatically saved.  To clear out 
unwanted Processes in the Existing Processes list, Open a Process. 
 
When the Open an Existing Process window appears, select the Process you want to delete 
and Delete. 
 

 
Figure 89.  Delete a Process 
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 93 


 
  Bonita Open Solution 5.0.1 User Guide
 
2.11.9  Rename a Process 
 
To change the name of a top‐level Process Diagram, go to Diagram ‐> Details ‐> General.  
Here you can change the Name, the Version, and the Description of an opened Process. 
 

 
Figure 90.  Rename a Process Diagram 
 
NOTE:  Be sure you are in the Details of the Process Diagram level.  Changing the name of a 
Pool or a Lane will not change the name of the top‐level Process. 
 
2.12 How to run a Process
 
Running a process deploys it, that is, the process becomes “live” and cases can be 
implemented. 
 
Run a process after it is built in Bonita Studio: 
 
• Select Run ‐> Run from the Menu bar 

• Click on the Run icon  in the Task bar 
 
This will generate a default web application. 
 
What happens, essentially, behind the RUN button: 
 
• The process and resources are packaged in a *.bar file (Bonita process archive) 
• A default web application is created 
• The Bonita Execution Engine and a lightweight relational database are 
embedded in the application 
• Everything is packed into a .war file 
• A web container is started and the *.war file deployed  
• A new browser window opens and shows the initial application page 

A dialog may appear to inform you that Bonita Open Solution is initializing the User 
Experience.   
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 94 


 
  Bonita Open Solution 5.0.1 User Guide
 

 
Figure 91.  Bonita Open Solution initializing the User Experience 
 
When it has completed, a form appears in the default web application, and you are 
automatically logged in as admin.  If appropriate, enter data in its fields and click Submit to 
start the Process. 
 
When presented with the message: “The information has been submitted.  To continue, 
open your inbox…”: 
 
Click on Bonita User Experience to open the inbox. 
 

 
Figure 92.  Open the Bonita User Experience inbox in the default web application  
 
The Process will show up in the admin inbox.  As you run this first Case, you can enter data in 
the application fields Step by Step. 
 
This will complete the first Case of the Process. 
 
When a Process has been Run, it can be implemented repeatedly, each time as a new Case.  
See Part 4, How to Use Bonita User Experience. 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 95 


 
  Bonita Open Solution 5.0.1 User Guide
 
 
Part 3. How to create Web applications (interactive forms for end
users)
 
3.1 Overview
 
You can customize the interface presented to your end users by creating Web applications 
and linking them to Bonita Open Solution.   
 
By default, at each Process Step that requires data input, Bonita Open Solution automatically 
creates a basic Bonita Form based on the Data Variables you have defined.  When the 
Process is run, a Bonita Form for each Step is then presented in a default Bonita Web 
application. 
 
You can customize the end user interface in three ways: 
 
• Customize the contents of the Form (in what order the fields are presented, the field 
labels, field characteristics, and so on); 
• Present the contents of a Form on a customized page (in your own HTML CSS, with 
your logo, graphics, etc) ;  and/or 
• Change where and how (in what specific Web application) the Form is presented.  
You can customize the context around the form by embedding (associating) the 
entire Form in another existing Web application (for example, in an existing Web 
portal). 
 
3.2 How to customize an end user Form
 
3.2.1  Design a Form 
 
Forms for data entry and/or presenting information are available for Human (Manual) Steps.    
Before creating a Form, you will need to have defined your global and local variables (see 
How to Define Data Variables). 
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 96 


 
  Bonita Open Solution 5.0.1 User Guide
 
To create a new custom form, select a Human Step, and go to Details ‐> Forms ‐> Add.    
   

 
Figure 93.  Create a New Form 
 
The Create a New Form wizard will ask you to enter a Name and Description for the Form.  
In this window you’ll also see an initial list of the Data variables available for this Step.  You 
can Select or de‐select variables here; you can also add and remove variables in the next 
steps of creating the Form. 
 
Select some, all, or none of the variables presented and click Finish to continue. 
 
The next window presented, the Form Builder, will allow you to manipulate data fields in 
the form of cells in a grid.  If you have selected some or all variables, they are presented 
here as a series of cells in a single vertical column.  Form Builder adds a Submit button at the 
bottom of the column. 
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 97 


 
  Bonita Open Solution 5.0.1 User Guide
 

 
Figure 94.  Begin with the Form Builder 
 
To add data fields that are not included here, you can add cells (see below) and then click 
and drag them from the Palette.  See Define or redefine the contents of a field in a Form. 
 
3.2.1.1. Add / remove rows of cells in a Form 
 
Add or remove rows using the + and – icons.  
• + along the left side, upper adds a row above  
• + along the left side, lower adds a row below  
• ‐  along the left side, center removes the row (and its contents). 
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 98 


 
  Bonita Open Solution 5.0.1 User Guide
 

 
Figure 95.  Add or remove rows and columns in the grid 
 
Similarly, add or remove columns using the + and – icons 
• + at the left adds a column to the right 
• + at the right adds a column to the left 
• ‐  in the center removes the column (and its contents) 
 
3.2.1.2  Move cells 
 
Click and drag the cells to move them around in the Form Builder. 
 
3.2.1.3  Merge cells 
 
To merge a data field cell across adjacent cells, click on the cell and then on the arrow in the 
direction you want to expand it.   
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 99 


 
  Bonita Open Solution 5.0.1 User Guide
 

 
Figure 96.  Click and drag to move a cell, click the arrow to merge cells  
 
3.2.1.4  Define and arrange data fields in a Form 
 
Go to Details ‐ > General to change the Name and Label (to be displayed).  You can also 
choose not to label a data field – uncheck the Show label box. 
 

 
Figure 97.  Add General Details to a form field 
 
Add a Tooltip here if you want one. 
 
BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 100 
 
  Bonita Open Solution 5.0.1 User Guide
 
Enter a Description of the data field. 
 
The Field type associated with field depends on what you have defined.  There are “live” 
fields in which the end user will select a Boolean yes/no, or enter text or numbers: 
 
• CheckBox 
• Date 
• Password 
• Text Box  single line of text 
• TextArea  multiple lines of text 
• Duration  enter days/hours/minutes/seconds for a timer event 
 
There are also “live” fields for which the user will select from a predefined list: 
   

 
 
• List   allows multiple selections 
• Radio   allows a single selection 
• Select   one item from a drop‐down list 
• CheckBoxGroup  allows multiple selections from a list of items 
   
Select  Is mandatory if the field must be completed in the form. 
 
You can also add a variable type by selecting it from the Palette on the left side, and 
dragging  it into an empty cell in your Form Builder.   
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 101 


 
  Bonita Open Solution 5.0.1 User Guide
 

 
Figure 98.  Form Builder Palette 
 
In addition to the fields presented in Field Type, there are also fields in the Palette for 
 
• Text   use to carry over actual data entered earlier in the process, for all data 
types (can display the result of a calculation or expression); not a live 
(interactive) field 
• Message   use to present textual information, for example, instructions, that are 
not interactive 
 
Note that there are 3 button types: 
 
• Submit   moves the Process to the next Step 
• Previous   back up to a previous page in a multi‐page form in the same Step 
• Next   move forward to the next page in a multi‐page form in the same Step 
 
(See Create multiple page Forms). 
 
• File  allows attached File upload (and download)  
• Image  display an image 
• Hidden  use for scripts and data passing that are not seen by the user 
 
Preview the form as you design it by clicking on the Preview icon in the Task bar.   
 
BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 102 
 
  Bonita Open Solution 5.0.1 User Guide
 
This will show you the Form in the default Bonita Form and Web applications. 
 
3.2.1.5  Define or redefine the contents of a field in a Form 
 
Click (to highlight) the field.  Go to Details ‐> Data.  Each type of data field will present 
options here. 
 

 
Figure 99.  Data definitions for a List field 
 
Initial value allows you to choose a default or starting value.  For Text and Message 
fields (these have fixed values), the Initial value becomes a constant; you can use 
input from a variable or enter an expression here. 
 
Expression allows you to either take the value filled in by the User, or to use it in a 
Groovy expression. 
 
The variable following the Save to option will then be set with the output of the 
expression. 
 
For Date fields, you can define the Display format here. 
 
For List fields, you can specify the Available value. 
 
Uploaded files can be designated download only. 
 
Images can be uploaded to be displayed in the final form. 
 
NOTE:  In order for a data field to be displayed at the completion of this Step, Intitial Value 
and Save To must be set with the same variable. 
 
3.2.1.6  Restrict the type of data a field will accept 
 
Select a cell with a data field, then Details ‐ > Validators ‐> Add.   
 

 
Figure 100.  Add a Validator to a field 
 
BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 103 
 
  Bonita Open Solution 5.0.1 User Guide
 
Name the Validator.  Choose a Validator type appropriate for the field from the 
dropdown list. 
 
If you want to use a Regex validator (Regular Expression), enter the Regular 
Expression in Parameter. 
 
Enter the Error message to appear to the user if the field is determined invalid.  
(Note that this is mandatory). 
 
You can define your own css class here. 
 
You can also go to Details ‐ > Validators ‐> Create to define your own Validator here by 
defining a Java class, package and Display Name.  
 
3.2.1.7  Resize columns and rows 
 
Select a data field cell, then Details ‐> Grid.   
 

 
Figure 101.  Change the size of a column or row 
 
Choose a cell in a Column and enter a column width and /or row height in pixels or in 
percentage (of the total width or height occupied by the completed form).  Note that the 
total width and height of the grid is constrained by the dimensions of the form it is 
presented in.  
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 104 


 
  Bonita Open Solution 5.0.1 User Guide
 
3.2.1.8  Change the appearance of a cell, label, or field 
 
Go to Details ‐> Appearance to: 
 

 
Figure 102.  Change the appearance of a field, a label or a cell  
 
• Resize a Cell (inside of specified Grid) 
• Change Label font, size, placement, and so on   
• Change Field font, size, placement, length, and so on 
 
You can also upload your own Custom Style in a CSS file for all or each of these. 
 
3.2.2  Create multiple page Forms 
 
When you add more Forms to a Step, they are handled as multi‐page Forms.  Add each Form 
in the same way you create a new Form.   
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 105 


 
  Bonita Open Solution 5.0.1 User Guide
 

 
Figure 103.  Several forms defined in the same step create a multipage form 
 
Each new form will add a Previous button.   
 

 
Figure 104.  Each subsequent page in a multi‐page form  
will automatically create a Previous button 
 
For more than 2‐page forms, change the Submit buttons to Next buttons by clicking on the 
button, then on General, and then change its Field Type. 
 

 
Figure 105.  For preceding Forms, change Submit buttons to Next Buttons 
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 106 


 
  Bonita Open Solution 5.0.1 User Guide
 
 
Multi‐page forms are presented in the order they are listed in Details ‐> Forms.  To change 
their order, move them Up or Down. 
 
3.2.3  Use Buttons to direct Process among different paths  
 
The Submit button passes the Process Case to the next Step.  You can define two Submit 
buttons so that the selection of one button sends the Process to one path and the selection 
of another sends the Process to a different path. 
 
For example, you can use Buttons to direct the Process flow to one path for the condition 
“True” and a different path for the condition “False.” 
 
For the Step where you want to define alternate paths, go to Step ‐> Forms and Add a Form; 
Add two Submit buttons. 

 
Figure 106.  Add a second Submit button to the Step 
 
Select one of the cells with a Submit button.  Rename the button to reflect the path on 
which the next Step will be taken. 
 

 
Figure 107.  Rename the Submit button 
 
In this Cell of the Form, go to Details ‐> Actions.  In the Expression field, enter the condition 
or expression to be associated with this button.   Save to a predefined variable that you will 
use on the conditions defined for the Transitions that connects this Step to the next Steps.   
 

 
Figure 108.  Define the expression for the Submit button and save it to a variable 
 
BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 107 
 
  Bonita Open Solution 5.0.1 User Guide
 
Then go back to the Process on the Whiteboard and select the Transition between this Step 
and the subsequent Step, and apply the defined condition. 
 

 
Figure 109.  Apply the defined condition to the Transition of the desired path 
 
3.3 Customize Form page (change page HTML)
 
Design or select the page (*.html) to be the template where a Form created in Bonita 
Form Builder will be presented.   
 
Include in the page code:   
 
<div id="bonita_form_task_candidates"></div>  show the list of 
  candidates  for this Step 
 
<div id="bonita_form_page_name"></div>  display the page name id 
 
<div id="page_validator"></div>  show error messages  
  from field validators  
 

<div id="bonita_refresh_button"></div>   add a refresh link  


 
<div id="itemId"></div>  identify the cell widget (or 
  validator)  
 
Select Step ‐>Form ‐> Details ‐> General ‐> Page Template.  Browse to your template and 
upload. 
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 108 


 
  Bonita Open Solution 5.0.1 User Guide
 

 
Figure 110.  Upload a custom HTML template for a Form 
 
 
3.4 Customize Form context (change Web application)
 
You can change the specific Web application in which Form pages are presented.  You can 
customize the context around the form: 
 
• by embedding (associating) the entire Form in another existing Web application (for 
example, in an existing Web page) or 
 
• by creating a new Web page using your own HTML CSS, logo, graphics, etc. 
 
3.4.1  Incorporate the Bonita Form into your Web application (HTML page) 
 
Design or select the page (*.html) to be the template in which Forms created in Bonita 
Form Builder will be presented.  Include:   
 
mandatory: 

<div id="bonita_form"></div>  Contains forms 


 
optional: 
 
Change the name of the form (from the Bonita default) on the tab displayed by replacing the 
title tag:   
 
<Title>name_of_your_form</title>
 
<div id="bonita_process_label"></div>   display the process name 
<div id="bonita_logout_box"></div>   add logout link 
 
If you want to add a link to open Bonita User Experience, add 
 
<div id="bonita_user_xp_link"></div>
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 109 


 
  Bonita Open Solution 5.0.1 User Guide
 
3.4.2  Select Web applications to present End User forms 
 
Web applications are defined at the global (Process) level.   
 
Click on the Lane or Pool to bring up its Details.  Select Details ‐> Application. 
 

 
Figure 111.  Upload a custom HTML template for a Web application 
 
Go to Process Template (web application template for all forms) and Browse to where your 
template is located.  Upload it. 
 
3.5 Use custom Confirmation pages, Welcome pages, Log-in pages, or
Error pages
 
There are all are defined at the global (Process) level.    
 
3.5.1  Customize confirmation message 
 
Design or select the page (*.html) to be the template in which a confirmation message will 
be presented.   
 
Click on the Process or Pool, then on Forms.   
 

 
Figure 112.  Upload a custom HTML template for a confirmation page 
 
Browse to where your confirmation message template is located.  Upload it. 
 
3.5.2  Customize welcome, log‐in, or error pages 
 
Design or select the page (*.html) to be the template in which a welcome or error page will 
be presented, or the *.jsp file for the log in page. 
 
The welcome page can be located internally (local file) or externally (web URL). 
 
BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 110 
 
  Bonita Open Solution 5.0.1 User Guide
 
Click on the Process or Pool, then on Applications.   
 

 
Figure 113.  Upload a custom templates for a Welcome page, log in page, and error template 
 
Browse to where your template or file is located.  Upload it. 
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 111 


 
  Bonita Open Solution 5.0.1 User Guide
 
Part 4. How to use Bonita User Experience

4.1 Overview
 
Bonita User Experience (User XP) provides the interface for managing Steps, Cases, and 
Processes. 
 
In this section we’ll look at three ways to interact with the User Experience. 
 
• As the Process Developer (the person who can design, deploy, modify Processes 
in Bonita Studio) 
• As the Process Administrator  (the person responsible for managing a set of 
Processes) 
• As an End User  internal to the Process (e.g., an employee within the company 
with responsibility to act in order to complete a Step or Steps in the Process 
case) 
 
4.2 Bonita User Experience – Developer’s View
 
Bonita User Experience for the developer permits him/her to see and test all of various User 
functions  (Administrator’s View and End User’s View) as he/she is designing (or modifying) a 
Process for deployment.   
 
This section defines the functions of the User Experience unique to the developer. 
 
Note that all of the functions in Bonita User Experience – Administrator’s View and Bonita 
User Experience – End User’s View are also available to the developer. 
 

To open Bonita User Experience (UserXP), click on the UserXP button  in the Bonita 
Studio Task bar OR Select Run ‐> User XP from the Bonita Studio menu bar.   
 

 
Figure 114.  Open Bonita User Experience from the Menu bar 
 
Generally, when you click Run to deploy a Process from Bonita Studio, an initial Form (or 
series of Forms) is presented in the default Bonita Web application in your usual Web 
browser.  You can change these:  see Customize Form page (change page HTML) , 
Incorporate the Bonita Form into your Web application, and Change Web browser for User 
Experience. 
 
User Experience can be opened from the default Bonita Web application. 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 112 


 
  Bonita Open Solution 5.0.1 User Guide
 

 
Figure 115.  Open Bonita User Experience from the Bonita Web application 
 
Bonita User Experience presents a Web‐based, e‐mail like interface.  As the Process 
developer entering from Bonita Studio, you are automatically logged in as Admin with the 
password bpm.  To change this default, see Change user for whom User Experience will 
open when a Process is Run. 
 

Inbox

Control Panel (with Admin menu)

 
Figure 116.  Bonita User Experience as deployed by developer, showing Inbox 
 
The Inbox will be used by the Process administrator to manage Steps, Cases and Processes: 
 
• A Case is a single instance (instantiation) of a Process (each recurrence of a Process 
is a new Case).   
• Deployed Processes show up only in the User Experience of the Admin; that is, only 
the Admin (and not End Users) can manage Processes. 
 
The User Experience is also the interface between Step Actors (Users) and the Process Cases 
they are acting in.  At each (Human) Step in a Case of a Process, a Form is presented – the 
User enters data, chooses options, etc in a Form that appears much like an email message.   
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 113 


 
  Bonita Open Solution 5.0.1 User Guide
 
4.2.1  How to define or change Bonita User Experience preferences  
 
To change User Experience preferences, go to Bonita Studio and from the menu bar, select 
Edit ‐> Preferences ‐> User Experience. 
 

 
Figure 117.  Change Bonita User Experience preferences 
 
4.2.1.1  Change Web Browser for User Experience 
 
In this dialog, you can select your system’s usual web browser or the internal Bonita Studio 
interface.  
 
4.2.1.2  Change user for whom User Experience will open when a Process is Run 
 
The default User for whom User Experience first opens when a Process is Run (deployed) 
from Bonita Studio is the Administrator (User name admin).  Here you can change the User 
name and password, after you have defined your Users, their Roles, and their passwords  
(see Define Users and User Roles). 
 
4.2.1.3  Keep User Experience contents after closing Bonita Studio 
 
By default the contents of Bonita User Experience during development are deleted when 
you close Bonita Studio.  To keep the contents, uncheck Drop Data base on startup. 
 
4.2.1.4  Change language 
 
Language for User Experience is automatically detected through your Web browser.  Here 
you can change it. 
 
4.3 Bonita User Experience – Administrator’s View
 
The User Experience assigned to the administrator permits the Admin to monitor and 
interact with Processes.  This section describes the User Experience functions that are 
unique to the Administrator.   
 
Note that all of the functions in the End User’s View are also available to the administrator. 
BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 114 
 
  Bonita Open Solution 5.0.1 User Guide
 
 
In the User Experience of the Admin, there is an “Admin” section in the Control Panel of the 
User Experience that allows the Admin to manipulate: 
 

 
Figure 118.  Admin menu in Control Panel 
 
4.3.1  Manage Processes as Administrator 
 
The List of all processes shows all Processes (and subprocesses) are accessible to this administrator. 
 

 
Figure 119.  See the List of all Processes 
 
The version number and state of each Process is shown at the right. 
 
Here you can select all, some or none of the Processes and: 
 
• Delete all cases  All the implemented Cases of the selected Process(es) will disappear 
systemwide (from the Admin and the Users’ boxes) 
• Disable   This disables a Process but does not delete it 
• Enable   To use a disabled Process again, enable it 
• Remove   This deletes a Process and the Cases already implemented 
• Archive  This archives the Process; it is no longer active or accessible but a record 
is kept 
 
4.3.1.1. Install a Process directly into Bonita User Experience 
 
Any Process created in Bonita Studio  by the developer and exported as a  *.bar file can be 
installed  directly  into  the  Bonita  User  Experience.    Go  to  Admin  ‐>  Processes,  Browse  to 
locate the *.bar file, and Install. 
 
4.3.2  Manage Cases as Administrator 
 
The List of all cases shows all Cases that have been implemented for your Processes.   
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 115 


 
  Bonita Open Solution 5.0.1 User Guide
 

 
Figure 120.  Manage cases in Cases list 
 
For each line (Case) there is a set of icons/actions similar to those in the Inbox.  (See How to 
manage a Step.)  However you’ll see two colored bullet with slightly different options: one 
just after the star option, and before the labels (describes the state of the Case), and the 
other just before the Step description (describes the condition of the Step) 
 
For the Case: 
 
a colored bullet:  green, orange, red, or grey  green  the Case is running (open) 
orange  the Case has been cancelled  
red  the Case has been aborted 
grey  the Case has been completed 
 
For the Step: 
 
a colored bullet:  green, orange, blue, or  green  the Step is to be completed 
grey  orange  the Step has been suspended  
blue  the Step is executing 
grey  the Step has been completed 
 
You can delete specific Cases by selecting them: 
 
• Select a case individually by ticking its box 
• Select all 
• Select all read cases 
• Select all unread cases 
 
4.3.3  Show or hide User Experience Settings 
 
By Selecting Admin ‐> Settings ‐> General, you can: 
 

 
Figure 121.  Change settings in Bonita User Experience 
BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 116 
 
  Bonita Open Solution 5.0.1 User Guide
 
 
• hide or show the Dashboard on the Control Panel 
• hide or show the Users monitoring function under the Admin menu 
• hide or show the number (in parentheses) of unread cases on the Control Panel (for 
Inbox, Starred, My cases, Archive, Unread) 
 
4.3.3.1  Specify the URL for a custom web application 
 
Go to Admin ‐> Settings ‐> Applications to change the Web application for your Process.  
Use the pointer here to identify the location of the WAR files by URL. 
 

 
Figure 122.  Specify the URL for your custom web application 
 
4.3.3.2  Customize Process label in Inbox 
 
You can change how the names and numbers of Cases are presented in your inbox (see How 
to Manage Cases).   
 

 
Figure 123.  Change how names and numbers of Cases are presented 
 
Enter the items you want to see presented in the order you want them, separated by a + .  
Character strings between two plus signs (example: + string of characters + ) will 
be presented as entered. 
 
4.3.3.3  Fix the count of unread cases 
 
If the tally of unread cases is incorrect, you can instruct the Bonita Execution Engine to 
recalculate – however, this action is not recommended as it may significantly degrade the 
performance of the engine. 
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 117 


 
  Bonita Open Solution 5.0.1 User Guide
 
4.3.4  Consult status of all Steps, Cases, and Processes 
 
The Reporting function shows an overview of all Processes and Cases run and running, 
incorporating data from all Users. 
 

 
Figure 124.  Reporting shows status of Processes and Cases 
 
4.3.5  Define Users and User Roles 
 
To define the Administrator and Users for your Processes, create user accounts in Admin ‐> 
Users ‐> Users: 
 

 
Figure 125.  Define Users 
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 118 


 
  Bonita Open Solution 5.0.1 User Guide
 
Define their roles in Admin ‐> Users ‐> Roles. 
 

 
Figure 126.  Define User Roles 
 
4.4 Bonita User Experience – End User’s View
 
The User Experience for End Users is intended for the Actors who have tasks to perform in a 
Process.  Each End User’s inbox permits them to see what tasks are waiting for them to 
complete, provides a Form for data entry, and shows the histories of Cases in which they 
have been involved.   
 
4.4.1  How to manage a Step 
 
Pending Steps can be directly executed, very much like answering an email.   
 
Using Bonita User Experience…  …is like answering an email 

Opening a pending task…  …is like opening an email sent to you 
Filling in the form or choosing between 
…is like writing an email 
options… 
Finishing your action with the ‘Submit’ 
…is like clicking the ‘Send’ button 
button… 
…is like forwarding a message to 
Assigning a Step to someone else… 
someone else 
 
Click on a line (Case) in the Inbox to open the next Step requiring action. 
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 119 


 
  Bonita Open Solution 5.0.1 User Guide
 

 
 

 
Figure 127.  Managing Steps in Bonita User Experience 
 
For each Step you will see the following markers.  Mouse over each one to identify it: 
 
Item  Example /explanation  
a colored bullet:  green, orange, or grey  green: the Step is to be completed 
orange: the  Step has been suspended  
grey: the Step has been completed 
priority chevron    normal 
  high 
  urgent 
label   name and description of the Step 
(Actor assigned to Step in 
parentheses) 
date and time stamp  date and  time the last action was 
taken in this Case 
  open the incomplete Case at the Step 
new window icon      requiring input, in the proper Form 
assigned to it 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 120 


 
  Bonita Open Solution 5.0.1 User Guide
 
assign to me menu  • Step assigned to multiple Actors can 
  be claimed or forwarded by the 
owner of the Inbox 
• Step can be suspended for later 
action 

 
Step candidates  Name of Actor to whom Step is 
assigned 
 
4.4.2  How to manage Steps in a Case 
 
4.4.2.1  Execute a pending Step  
 
The first Step of a Process will show up in the Inbox(es) of the first Users identified as 
Actor(s) for that Step. 
 

 
Figure 128.  Execute a Step 
 
Click on the Step to open it, complete the form presented, and click the Submit button.  
When the form is submitted, the Process continues to the next Step.   
 
Developer note:  Recall that john, jack, and james are available as Actors for testing.  
If you have assigned any Steps to any of them, you can log out as and log back in as john,
jack, or james). 
 
If a Step can be processed by more than one Actor in an assigned Group, it shows up in all of 
those Users’ inboxes.   
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 121 


 
  Bonita Open Solution 5.0.1 User Guide
 
4.4.2.2  Assign a Step to another Actor 
 
When the User is presented with a Step that requires his/her input, s/he can Assign that 
Step to another Actor in the assigned group: 
 

 
Figure 129.  Assign a Step to another Actor 
 
4.4.2.3  Unassign a Step (take back from another Actor) 
 
The User can use the Unassign function to undo an Assign to.  Once the User has left the 
inbox, any Steps assigned (i.e., forwarded) to other Users will no longer appear. 
 
4.4.2.4  Suspend a Step 
 
Instead of completing a Step in the inbox, a User can Suspend it, which puts it temporarily 
on hold.  It will show in the inbox with an orange bullet. 
 
4.4.2.5  Resume a Step 
 
A User can resume a Suspended Step in the Inbox by clicking on it, then selecting Resume.  
The Case will resume, and the next Step will show up in the inbox of the User it is assigned 
to. 
 
4.4.3  How to Manage Cases 
 
The Inbox shows the individual Case (instantiation) histories of deployed Processes. 
 

 
Figure 130.  Managing Cases in Bonita User Experience 
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 122 


 
  Bonita Open Solution 5.0.1 User Guide
 
As in an email interface, Cases can be  
 
• Archived (simply removed from the Inbox and filed under Archive) 
• Marked as read 
• Moved to another box (for which you have created labels) 
• Labelled (you can apply labels you have already created) 
• Starred or unstarred 

For each line (Case) you will see:   
 
Item  Example /explanation  
checkbox   select or deselect the Case 
star  to mark the case for sorting 
*Label followed by ‐ #N (N)  name of Process followed by # of 
cases and (number of steps)  
a colored bullet:  green, orange, or grey  green  the Step is to be completed 
orange  the Step has been suspended  
grey  the Step has been completed 
human icon  User to whom the current Step is 
assigned 
priority chevron    normal 
  high 
  urgent 
label  name of Step 
date and time stamp  date and  time the last action was 
taken in this Case 
  for an incomplete Step requiring 
new window icon      input, open in a new window  in the 
proper Form assigned to it 
 
*This information can be customized.  See Customize Process label in Inbox. 
 
4.4.3.1  Define and apply Labels to Cases 
 
You can also create Labels for Cases, and customize them with names and colors. 
 
From the left‐hand column of the User Experience window, select More ‐> new label. 

       
Figure 131.  Apply a Label to a Case 
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 123 


 
  Bonita Open Solution 5.0.1 User Guide
 
To add a color, click on the label you’ve just created and select a style for the label. 

 
Figure 132.  Change the characteristics of a Label 
 
To apply Labels to your Cases, select the Cases and then select Labels ‐> Apply from the task 
bar at the top of the inbox. 

 
Figure 133.  Apply a Label to Cases 
 
4.4.3.2  Hide or unhide Labels in the User Experience Control Panel 
 
You can change the status of any of the Labels so they are either shown or not shown in the 
Control Panel. 
 
From the left‐hand column of the User Experience window, select More ‐> Manage labels. 

                
Figure 134.  Manage Labels 
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 124 


 
  Bonita Open Solution 5.0.1 User Guide
 
4.4.3.3  Start a new Case 
 
To start a new Case of a Process, go to the Control Panel and click on Start Case to show the 
available processes below.  Click on the Process to start. 
 

 
Figure 135.  Start a new Case of a Process 
 
4.4.3.4  View Case history 
 
When a Case is selected, it shows a thread of previous actions taken. This behavior is similar 
to an email thread, where emails on the same subject are grouped together.  This is useful 
where the decision made may depend on other decisions taken before.   
 

 
Figure 136.  See a Case history in Bonita User Experience 
 
4.4.4  Consult workload status (Dashboard) 
 
To see the full Dashboard, go to Dashboard in the Control Panel, expand it, and select More. 
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 125 


 
  Bonita Open Solution 5.0.1 User Guide
 

 
Figure 137.  Dashboard shows the status of User’s workoad 
 
The Dashboard gives a snapshot of the current status of this User’s workload: 
• Priorities of all Steps  
• Open Steps categorized by 
o At risk 
o On track 
o Overdue 
• Open and completed Steps categorized by priority 
 
Note that you can change this Dashboard report.  Go to the upper right and select 
Preferences to select a different graph type. 
 

 
Figure 138.  Change Dashboard graph 
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 126 


 
  Bonita Open Solution 5.0.1 User Guide
 
4.5 Externally deployed WAR files – End User’s View
There may also be of course End Users entirely external to the Process (e.g., an external 
client or customer whose input is required to initiate or complete a Process Case).  These 
End Users may provide input to the Process by interacting with Bonita Forms, or through 
forms presented in a dedicated web application, designed and deployed in a Web 
application archive (WAR file) external to Bonita Open Solution.    
 
To deploy the entire process in an external Web application, see Specify the URL for a 
custom Web application. 
 
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 127 


 
  Bonita Open Solution 5.0.1 User Guide
 
Part 5. Bonita Open Solution Hardware, Software and Configuration
Requirements
 
5.1 Subdirectory files
 
When you download Bonita All‐in‐One, a new BOS 5.0 directory will be created.  In the 
Runtime subdirectory you will find: 
 
build.properties  This file contains the J2EE properties 
required to deploy and use Bonita Open 
Solution deployed on a remote J2EE 
server (JOnAS, Jboss and EasyBeans 
properties are provided to allow remote 
execution of Bonita Open Solution.) 
build.xml  This file is an "ant" file (aka makefile) 
that provides tasks for administration  
operations  
commons.xml   
about_files/  This directory contains information 
about software licenses for software 
incorporated into / distributed with 
Bonita Open Solution. 
conf/  This directory contains default 
configuration files for Bonita Open 
Solution, including:  
• "bonita‐environment" xml files (with 
services and objects used as default 
by the Bonita Execution Engine), 
• login module configurations (JAAS 
compliant login modules samples) 
• hibernate 
• persistence configuration (default 
implementation to handle Bonita 
Open Solution persistence  
• Standard (JSE) and Enterprise (JEE) 
versions for JBoss and 
• JOnAS application servers 
 
ear/   
lib/  This directory contains the libraries used 
in Bonita Open Solution. BOS can be 
integrated in your application/IS in 
several ways (ie, integrated into a web 
application, inside a rich client 
application, remotely deployed in a JEE 
application server, etc).  The libraries 
required by your system will depend on 
your integration environment. 
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 128 


 
  Bonita Open Solution 5.0.1 User Guide
 
5.2 Hardware Prerequisities
 
A 1GHz processor is recommended, with a minimum of 512 Mb of RAM.  Windows users can 
avoid swap file adjustments and get improved performance by using 1Gb or more of RAM. 
 
5.4 Operating Systems, Databases, Application Servers
 
Bonita has been successfully tested in the following environments. (It should work in others, 
but only these have been tested in Bonita Open Solution continuous integration). 
 
Operating Systems 
 
• GNU/Linux  
• Windows XP  
• Mac OS X 
• Java Virtual Machines 1.5 and 1.6 
 
Relational Databases 
 
• MySql 5.1  
• MS SQL Server 2005 
• Postgresql 8.3  
• Oracle 10g  
• H2 1.1 
 
Application Servers 
 
• Tomcat 6  
• JOnAS 4.10.3  
• Jboss‐4.2.2.GA  
• JOnAS 5.1.0 RC2  
• Jboss‐5.0.1.GA  
 
Bonita Open Solution requires Apache Ant 1.7 or higher. Apache Ant will allow users to 
manage configuration and administration operations.  It can be downloaded from 
http://ant.apache.org  
 
5.5 Configure server for Bonita Open Solution 5
 
Bonita Open Solution can be installed and used in Standard and Enterprise environments. 
 
5.6 Standard installation (Bonita as a library)
 
To embed Bonita in your java application, add the libraries located under /lib/server 
directory in your application classpath.  The main library required by Bonita is:  
 
bonita-server-5.0.jar
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 129 


 
  Bonita Open Solution 5.0.1 User Guide
 
5.7 Enterprise installation (Bonita as a server)
 
Enterprise installation is intended for BPM deployments in which Bonita will be deployed on 
a dedicated server, allowing different applications to reach Bonita remotely.  In those cases, 
client applications require a single Bonita library:  
 
bonita-client-5.0.jar
 
In this configuration, the Bonita server will often be deployed in an application server. 
 
Go to the Bonita Open Solution installation directory and 
 
call the ant ant ear.ejb2 and ant ear.ejb3 tasks, respectively, to generate 
the bonita.ear file corresponding to either the JEE 1.4 or 1.5 specification. 
Deploy this file into your JEE 1.4 or 1.5 application server. 
 
Note: 
 
If you are using Jboss or JOnAS application servers or the EasyBeans EJB3 container, you can 
directly deploy Bonita Open Source examples.  Specific descriptors and classpath 
configurations for those servers are included in this package.  If you are using another JEE 1.4 
application server (such as Weblogic, Websphere, Oracle, Geronimo, Glassfish), add specific 
descriptors for your application server into the bonita.ear file and configure your client side 
to access the Bonita APIs (see existing configurations for JOnAS and Jboss as examples).  
 
The bonita.ear file generated through ant ear.ejb3 can be deployed in any EJB3 
compliant application server.  In this version of the specification, standard descriptors should 
work in any EJB3 environment. 
 
5.7.1  Jboss 4.x and 5.x installation and deployment 
 
To run Bonita Open Solution in Jboss applications: 
 
• Download Jboss 4.x or 5.x from the Jboss web site (www.jboss.org) and follow the 
jboss application server installation instructions. 
• Edit the build.properties file to set your Jboss configuration settings:  
o URL provider (default:  localhost, with port 1099)  
o set jboss.home and jboss.client property values (these properties 
must be initialized with the path corresponding to the directory in which 
Jboss was installed and the path in which jboss client libraries are available). 
• Enter  ant ear.ejb2  or ant ear.ejb3 (depending on the jboss version you 
want to use) under your Bonita installation directory to generate the bonita.ear 
file 
• Copy the bonita.ear file generated into JBOSS_HOME/server/default/deploy 
directory (default configuration) 
• Start the Jboss application server by executing run.bat or run.sh in the 
JBOSS_HOME/bin directory 
 
Bonita Open Solution should be up and running under Jboss. 
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 130 


 
  Bonita Open Solution 5.0.1 User Guide
 
5.7.2  JOnAS 4.x and 5.x installation and deployment 
 
To run Bonita Open Solution in JOnAS applications: 
 
• Download JOnAS 4.x or 5.x from the JOnAS web site (http://jonas.ow2.org) and 
follow the JOnAS application server installation instructions. 
• Edit the build.properties file to set your JOnAS configuration settings:  
o URL provider (default:  localhost with port 1099) and set jonas.root 
and jonas.lib properties values 
o (initialize these properties with the path corresponding to the directory in which 
JOnAS was installed and the path in which JOnAS client libraries are available). 
• Type  ant ear.ejb2 or ant ear.ejb3 (depending on the JOnAS version you 
want to use) under your Bonita installation directory to generate the bonita.ear 
file 
• Copy the bonita.ear file generated into JONAS_ROOT/apps/autoload directory 
(default 
• configuration) 
• Start the JOnAS application server by executing jonas start.bat or jonas 
start.sh in the 
• JONAS_ROOT/bin directory.   
 
Bonita Open Solution should be up and running under under JOnAS. 
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 131 


 
  Bonita Open Solution 5.0.1 User Guide
 
Part 6. How to configure Bonita Open Solution for a production
environment
 
6.1 How to configure a database
 
Bonita comes with a default configuration for data persistence in an H2 Database.  To use 
another database in a production environment, both Hibernate configuration files for the 
core and for the history database should be modified and a JDBC driver should be provided 
to the application server for the target database. 
 
The location of the Hibernate configuration files is declared in the Bonita environment 
configuration file, which is provided to the application server by setting its location in the 
property org.ow2.bonita.environment in the JAVA_OPTS environment variable. 
 
Here is the default configuration : 
<hibernate-configuration name='hibernate-configuration:core' >
<properties resource='hibernate-core.properties' />
...
<hibernate-configuration name='hibernate-configuration:history' >
<properties resource='hibernate-history.properties' />
...
 
With the above syntax, the Hibernate files should be present in the classpath as they are 
declared as resources.  To place them somewhere else, they should be declared as files 
(make sure to double the file separators on windows “\\”) : 
 
<hibernate-configuration name='hibernate-configuration:core' >
<properties file='/usr/tmp/hibernate-core.properties' />
...
<hibernate-configuration name='hibernate-configuration:history' >
<properties file='/usr/tmp/hibernate-history.properties' />
...
The location of the large data repository where deployment and attachment files are stored 
can also be configured: 
 
<large-data-repository name='large-data-repository'
class='org.ow2.bonita.services.impl.FileLargeDataRepository'>
<arg><string value='property:java.io.tmpdir' /></arg>
</large-data-repository>
 
Note that if you do not set the org.ow2.bonita.environment property with the environment 
file location, the default environment and Hibernate files present in bonita-
server.jar will be used. 
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 132 


 
  Bonita Open Solution 5.0.1 User Guide
 
6.2 How to configure security
 
Bonita comes with a default JAAS (Java Authentication and Authorization Service) 
configuration.  This configuration is provided to the application server by setting the 
property java.security.auth.login.config to JAAS configuration file path in 
JAVA_OPTS environment variable. 
 
This configuration comprises two LoginContexts : BonitaAuth and BonitaStore. These 
LoginContexts are mandatory if you want to use the Bonita User Experience  and Bonita 
forms.  Otherwise (if you want to use only the engine), name your LoginContext as you wish 
as you will be the one providing the source code for the login operations. 
 
• BonitaAuth is used by the User Experience when a User tries to log in, to verify 
that the credentials he provided are correct. 
• BonitaStore is used every time the User Experience calls the engine, to supply it 
with the logged‐in user’s identity. 
 
6.3 How to configure authentication (BonitaAuth LoginContext)
 
In the default configuration, BonitaAuth consists of only one LoginModule : 
 
BonitaAuth {
org.ow2.bonita.identity.auth.BonitaIdentityLoginModule
required;
};
 
BonitaIdentityLoginModule performs the authentication of the users using the 
authentication service configured in Bonita environment configuration file: 
 
<authentication-service name='authentication-service'
class='org.ow2.bonita.services.impl.DbAuthentication'>
<arg><string value='bonita-session:core' /></arg>
</authentication-service>
 
The default implementation of this service (DbAuthentication) is provided for a 
development environment only and should not be used in production as it goes by the 
engine DB to verify the user credentials. 
 
In production, as you need the authentication to be performed against your own users 
referential, you need to provide your own authentication service to replace 
DbAuthentication in the engine environment file. You can also provide your own JAAS 
LoginModule to replace BonitaIdentityLoginModule in JAAS configuration file. 
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 133 


 
  Bonita Open Solution 5.0.1 User Guide
 
To provide your own authentication service, implement the interface 
org.ow2.bonita.services.AuthenticationService
 
public interface AuthenticationService {
/**
* Check whether a user has admin privileges or not
* @param username the user's username
* @return true if the user has admin privileges, false
otherwise
* @throws UserNotFoundException
*/
boolean isUserAdmin(String username) throws
UserNotFoundException;

/**
* Check some user's credentials
* @param username the user's username
* @param password the user's password
* @return true if the credentials are valid, false otherwise
*/
boolean checkUserCredentials(String username, String
password);
}
 
Note that if you provide  your own JAAS LoginModule you still need to implement the 
authentication service, as the isUserAdmin method will be used to check whether the user 
is permitted access to the User Experience administration features.  
 
6.4 How to configure Login (BonitaStore LoginContext)
 
In the default configuration, BonitaStore consists of two LoginModules for a 
deployment in a J2EE application server and only one LoginModule for a deployment in a 
simple servlet container (Tomcat, Jetty). 
 
For example, here is the BonitaStore LoginContext for a JBoss JAAS configuration :  
 
BonitaStore {
org.ow2.bonita.identity.auth.BonitaRemoteLoginModule required;
org.jboss.security.ClientLoginModule required password-
stacking=useFirstPass;
}; 
 
The first LoginModule (BonitaRemoteLoginModule) is used to retrieve the credentials 
of the user and save them in the context shared between the LoginModules stacked in the 
LoginContext. 
 
The second LoginModule (ClientLoginModule) is used to propagate the identity of the 
user to the application server.  This LoginModule is specific and provided by the application 
server. 
 
In the BonitaStore LoginContext of the provided JAAS configuration for simple servlet 
containers, both operations are performed by one single LoginModule 
(LocalStorageLoginModule). 
 

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 134 


 
  Bonita Open Solution 5.0.1 User Guide
 
Part 7. How to analyze a problem in Bonita Open Solution
 
The Bonita Studio log file is available via the Menu Bar:  Help ‐> Show log. 
 
The Runtime and User Experience logs are available in the workspace directory:  BOS‐5.0 
\BOS 5.0 \Studio \ workspace \ .metadata \ .log. 
 
When you encounter a problem, please post a description of the problem and a copy of your 
log file on the Bonita Community Forum at www.bonitasoft.org/forum/. 
 
BonitaSoft developers, among others, actively contribute to the Bonita Community and will 
post a response.  

BOS Release V5.0.1 ‐ User Guide Version 1.1 – 15/2/10  www.bonitasoft.com | © BonitaSoft S.A.  page 135 


 

You might also like