Bos Userguide 5.0.1

135
Bonita Open Solution Version 5.0.1 User Guide Version1.1

Transcript of Bos Userguide 5.0.1

Page 1: Bos Userguide 5.0.1

 

 

 

   

Bonita Open Solution Version 5.0.1

User Guide Version1.1

Page 2: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

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 

Page 3: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

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 

Page 4: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

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 

Page 5: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

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 

Page 6: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

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 

Page 7: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

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 

Page 8: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

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 

Page 9: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

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  

Page 10: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

 

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.  

Page 11: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

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: 

Page 12: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

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

 

Page 13: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

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.   

Page 14: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

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:  

Page 15: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

 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 • End 

• Gate • Transition 

 

Page 16: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

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.  

Page 17: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

 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. 

 

Page 18: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

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 

Page 19: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

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 

Page 20: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

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

 

Page 21: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

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

Page 22: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

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 

 

Page 23: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

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 

Page 24: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

 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 

 

Page 25: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

 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. 

 

Page 26: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

 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 

server hosting LDAP directory 

string 

Port  LDAP directory port number 

number 

Protocol  choose LDAP, LDAPS, or TLS 

select 

User   LDAP User name  string Password  LDAP user password  string Group base DN  The DN that contains group 

records String 

People base DN  DN at which to start search   Scope  • SUBTREE (the entire 

subtree starting at the base DN) • ONELEVEL (entries immediately below the base DN) • BASE (search just the named entry) 

select 

Page 27: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

Filter  specify a subset in the LDAP directory set (eg Multiple Random – to select N candidates from specified groups Unique Random – to randomly select a single candidate) 

string 

Attributes  define attributes to return in result entries using LDAP syntax 

string or strings separated by “,” 

Size limit  maximum number of entries to return 

number 

Time limit (in seconds)  maximum time to allow search to run 

number 

Referral handling  FOLLOW or IGNORE referrals 

select 

Alias dereferencing  ALWAYS: Always dereference aliases.   SEARCHING:  Dereferences aliases only after name resolution NEVER:  Never dereference aliases.   FINDING: Dereferences aliases only during name resolution. 

select 

 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.  

Page 28: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

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 

 

Page 29: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

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.  

Page 30: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

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 

 

Page 31: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

 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.  

Page 32: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

 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.  

Page 33: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

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

Page 34: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

 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.  

Page 35: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

 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 

 

Page 36: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

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.  

Page 37: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

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.    

Page 38: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

 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. 

 

Page 39: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

 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 

Page 40: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

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.  

Page 41: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

2.6.1.1  Configure a Connector to send an email  

 Figure 38.  Configure a Connector to send an email 

Page 42: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

 Email 

Category:  Messaging Connector description:   send an email message Input  Description  Type Host   IP address or name of 

email server string 

Port  port defined for email system 

number 

Security:  SSL  check if SSL security authentication required 

boolean 

Security:  STARTTLS  check if STARTTLS security authentication required 

boolean 

Authentication:  User Name and password 

User name for the host account 

string 

Authentication:  password  User password for the host account 

string 

From  [email protected] string To:  [email protected],

[email protected] string 

CC:  [email protected], [email protected] 

string 

Bcc:  [email protected], [email protected] 

string 

Subject  text  string Message  message to recipient which 

can include variable(s) and text (hello ${var}) 

string 

Or select a data you want to use 

chose a variable to add  select 

HTML email  will activate HTML tags in message 

boolean 

Other headers: name  name of additional header information 

string 

Other headers: value  value of additional header information 

string 

 

Page 43: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

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:  

[email protected] string 

Password  Sender’s Twitter password  string Message  message to recipient which 

can include variable(s) and text (eg  hello ${var}) 

string 

Or select a data you want to use 

chose a variable to add  select 

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 

 

Page 44: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

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 to use 

choose a variable to add  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 

 

Page 45: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

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 

enter a string to find class select 

Methods  methods defined for selected class; enter value to set 

select 

 

Page 46: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

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 

command path to execute a shell file can include variable(s) 

string 

Or select a data you want to use 

choose a variable to add  select 

 Output  Description  Type Result  result of script or 

command string 

 

Page 47: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

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 

command object 

 

Page 48: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

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 

server hosting LDAP directory 

string 

Port  LDAP directory port number 

number 

Protocol  choose LDAP, LDAPS, or TLS 

select 

User   LDAP User name  string Password  LDAP user password  string Base DN  Identify Distinguished 

Name at which to start search 

string 

Scope  • SUBTREE (the entire subtree starting at the base DN) • ONELEVEL (entries immediately below the base DN) 

select 

Page 49: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

• BASE (search just the named entry) 

Filter  specify a subset in the LDAP directory set (eg Multiple Random – to select N candidates from specified groups Unique Random – to randomly select a single candidate) 

string 

Attributes  define attributes to return in result entries using LDAP syntax 

string or strings separated by “,” 

Size limit  maximum number of entries to return 

number 

Time limit (in seconds)  maximum time to allow search to run 

number 

Referral handling  FOLLOW or IGNORE referrals 

select 

Alias dereferencing  ALWAYS: Always dereference aliases.   SEARCHING:  Dereferences aliases only after name resolution NEVER:  Never dereference aliases.   FINDING: Dereferences aliases only during name resolution. 

select 

 

Page 50: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

 

 Figure 45.  Configure LDAP Connector outputs 

 Output  Description  Type Result  result of Query:  

LdapAttributeListList of LdapAttributes

 

Page 51: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

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 

 

Page 52: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

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 

 

Page 53: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

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 

 

Page 54: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

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 

 

Page 55: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

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 

 

Page 56: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

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 

 

Page 57: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

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 

database host server string 

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 

authentication required boolean 

6  SID   check if database has an  boolean 

Page 58: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

Oracle system ID 6  oracleServiceName  check if this is to go to an 

alias  boolean 

6  oracleOCI  check is this is to go to an Oracle Instant Client 

boolean 

1,2,3,4,5,6  Query  the statement or query expression which can include variable(s) with the syntax ${var} 

string 

1,2,3,4,5,6  Or select a data you want to use 

choose a variable to add  select 

others  some databases require unique input (ie Oracle) 

 

  

Database Connectors Output Output  Description  Type rawSet  result of Query  

(remember to close the rawest after the last use) 

CachedRawSet 

 

Page 59: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

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 

 

Page 60: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

 Figure 53.  Configure launch a Talend job Connector output 

 Output  Description  Type bufferOutput  Definition of the schema of 

the response of the job Array array (table) of strings 

 

Page 61: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

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 

server.  You may use the MDM_host variable if defined 

string 

Port  Host port.  You may use the MDM_port variable if defined. 

number 

Version  The version to use. If empty, defaults to the [HEAD] version. You may use the MDM_universe variable if defined. 

string 

datamodel  The data‐model to use. You may use the MDM_dataModel variable if defined. 

string 

datacontainer  The data‐container to update. You may use the MDM_dataCluster variable if it is defined. 

string 

updatemap:  name  XPath of the element to update.  More than one element may be updated, add multiple rows using “add row”. There must be 

string 

Page 62: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

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 to set in the element for all the other rows. 

string 

Add row      

Page 63: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

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 

Alfresco directory host server 

string 

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 

 

Page 64: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

 Figure 56.  Configure Create an Alfresco folder Connector outputs 

 Output  Description  Type

responseType  Can be: • client error • redirection • server error • success • unknown 

String 

statusCode  Response status code  number statusText  Response status text  String stackTrace  Stacktrace if exception 

occured String 

 

Page 65: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

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 

Alfresco directory host server  

string 

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 

deleted  String 

 

Page 66: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

 Figure 58.  Configure Delete an Alfresco folder Connector outputs 

 Output  Description  Type

responseType  Can be: • client error • redirection • server error • success • unknown 

String 

statusCode  Response status code  number statusText  Response status text  String stackTrace  Stacktrace if exception 

occured String 

Page 67: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

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 

Alfresco directory host server 

string 

port  Alfresco directory port number 

number 

username  Alfresco user name  string password  Alfresco user password  string fileAbsolutePath  absolute path of the file to 

upload String 

description  file description  String mimeType  mime type of the uploaded 

file String 

destinationFolder  Alfresco destination folder of the uploaded file 

String 

 

Page 68: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

 Figure 60.  Configure Upload file for Alfresco folder outputs 

 Output  Description  Type

responseType  Can be: • client error • redirection • server error • success • unknown 

String 

statusCode  Response status code  number statusText  Response status text  String stackTrace  Stacktrace if exception 

occured String 

Page 69: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

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 

directory host server string 

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 

 

Page 70: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

 Figure 62.  Configure Create a new Folder in eXo outputs 

 Output  Description  Type

response  Can be: • client error • redirection • server error • success • unknown 

String 

statusCode  Response status code  number statusText  Response status text  String 

 

Page 71: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

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 

directory host server string 

port  eXo directory port number  number username  eXo user name  string password  eXo user password  string uri  URI of the item to delete  String 

 

Page 72: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

 Figure 64.  Configure Delete an item from eXo outputs 

 Output  Description  Type

response  Can be: • client error • redirection • server error • success • unknown 

String 

statusCode  Response status code  number statusText  Response status text  String 

 

Page 73: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

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 

server  eXo directory host server 

string 

port  eXo directory port number  number username  eXo user name  string password  eXo user password  string file  the absolute path of the 

file to upload String 

contentType  mime type of the uploaded file 

String 

destinationUri  the destination URI of the folder of the uploaded file 

String 

 

Page 74: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

 

 Figure 66.  Configure Upload an eXo file outputs 

 Output  Description  Type

response  Can be: • client error • redirection • server error • success • unknown 

String 

statusCode  Response status code  number statusText  Response status text  String 

 

Page 75: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

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 

name:  [email protected] String 

password  Gmail password  string CalendarUrl  URL of Google calendar (eg 

http://www.google.com/calendar/feeds/ your_gmail_address/ private/full

string 

Title  Title of event  String Content  Content of event  String startTime  Date and time to start 

event Date 

endTime  Date and time to end event  Date  

Page 76: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

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 

name:  [email protected] String 

password  Gmail password  string CalendarUrl  URL of Google calendar  (eg

http://www.google.com/calendar/feeds/ your_gmail_address/ private/full) 

string 

Title  Title of event  String Content  Content of event  String startTime  Date and time to start  Date (and time) 

Page 77: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

event endTime  Date and time to end event  Date and time icon  URL of favicon  (eg 

http://www.google.com/favicon.ico

String 

Icon Title  Title of icon  String contentType  Text or HTML  String url  URL of web content  String Width  Width of web content in 

pixels number 

Height  Height of web content in pixels 

number 

 

Page 78: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

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 

name:  [email protected] String 

password  Gmail password  string show password  click to show password  checkbox CalendarUrl  URL of Google calendar (eg 

http://www.google.com/calendar/feeds/ your_gmail_address/ private/full)

String 

searchString  String to find event (by title) 

String 

 

Page 79: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

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 

format string 

 

Page 80: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

 

 Figure 71.  Configure Execute a Web service Connector outputs 

 Output  Description  Type Result  result of execution  source 

 

Page 81: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

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 

host server string 

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     

 

Page 82: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

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 

Page 83: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

• 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 

 

Page 84: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

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. 

 

Page 85: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

 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:  

Page 86: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

 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:  

Page 87: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

 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 

Page 88: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

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

 

Page 89: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

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 

 

Page 90: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

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. 

Page 91: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

 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.    

Page 92: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

 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.   

Page 93: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

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 

 

Page 94: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

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.    

Page 95: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

 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. 

Page 96: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

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

Page 97: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

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.  

Page 98: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

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

 

Page 99: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

 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.    

Page 100: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

 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.  

Page 101: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

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.    

Page 102: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

 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.    

Page 103: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

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 

 

Page 104: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

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.  

 

Page 105: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

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.    

Page 106: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

 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 

 

Page 107: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

 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 

 

Page 108: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

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.  

Page 109: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

 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>  

Page 110: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

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

Page 111: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

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.  

Page 112: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

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. 

Page 113: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

 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.  

 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.    

Inbox

Control Panel (with Admin menu)

Page 114: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

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. 

Page 115: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

 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.    

Page 116: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

 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 grey 

green  the Step is to be completed 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 

Page 117: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

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

 

Page 118: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

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 

 

Page 119: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

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 options… 

…is like writing an email 

Finishing your action with the ‘Submit’ button… 

…is like clicking the ‘Send’ button 

Assigning a Step to someone else… …is like forwarding a message to someone else 

 Click on a line (Case) in the Inbox to open the next Step requiring action.  

Page 120: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

  

 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 

 new window icon     

open the incomplete Case at the Step requiring input, in the proper Form assigned to it 

Page 121: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

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.   

 

Page 122: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

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 

 

Page 123: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

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  new window icon     

for an incomplete Step requiring 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 

 

Page 124: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

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 

 

Page 125: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

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.  

Page 126: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

 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 

 

Page 127: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

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. 

  

Page 128: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

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. 

 

Page 129: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

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  

Page 130: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

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.  

Page 131: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

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. 

 

Page 132: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

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. 

 

Page 133: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

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.  

Page 134: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

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

 

Page 135: Bos Userguide 5.0.1

  Bonita Open Solution 5.0.1 User Guide  

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

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.