User manual



I'm trying to use Bonita for modeling processes.

As far as I stay at the level of drawing a diagram, it's ok. But when I try to define and to use BDM and forms, I have a lot of "how to" questions and I do not find the necessary information to help me in using the correct methods and language items.

Is there somewhere a good exhaustive documentation like a user or reference manual describing Bonita functionalities in detail, even if it has a cost.

Thanks for your help.


Submitted by ddelfosse on Tue, 09/24/2019 - 12:26

Thanks for your answer.

I've looked at both (Bonita Camp video tutorials and Getting started) but I do not find the answers i'm looking for.

For example : I'm working on a process aimed to accomodate a semi-trailer driver in a secured plant. Some of them have permanent plastic badges they can scan. Others not. Thus, first question : Do you have a badge ? I store the answer in a process variable. Then a gateway to separate these two cases. If the driver answers he has a badge, I ask him to scan it (to enter the badge code, in a Bonita form !), otherwise I ask him his language. This is ok, I succeed to do this.

After that, I have to recover the driver's datas from a business object for the which I have stored some drivers examples in BDM Bonita Database. When I go to the Developement --> Consult (h2 console), I find my drivers with the suggested request : SELECT * FROM CHAUFFEUR .

But, in my form how do I use the SELECT statement with a "WHERE" clause and the value of the process variable where my driver has typed in his badge number ?

Sorry for the lenght of the question, but it was aimed to illustrate the kind of questions I'm asking myself. I cannot find the answer in the basic documentation ...


Submitted by ddelfosse on Tue, 09/24/2019 - 15:54

I've tried but ...

BDM--> Chauffeur :
NomPrenom - type string
Transporteur - type string
NumBadge - type string

Langue - type string

Entry in the BDM (2 of 3) :


Existing auto Request : FindByNumBadge :
FROM Chauffeur c
WHERE c.NumBadge= :NumBadge

ORDER BY c.persistenceId

Create a human activity with :
a contract on NomPrenom, Transporteur and Langue to be displayed
Operations automatically created : setNomPrenom, setTransporteur and setLangue
Create a form : affChauffeur
With a variable : varChauffeur :

associate the field to display the name of chauffeur to Value : data:varChauffeur.NomPrenom (read only). Same for other fields tranporteur and langue.

When I run the process, the form is displayed but the fields are empty.
What's wrong ?
(sorry, it would be much more understandable with screen captures ...)

Submitted by ddelfosse on Tue, 09/24/2019 - 15:55

Sorry for the display. Don't know why large caracters ????

Submitted by delphine.coille... on Tue, 09/24/2019 - 16:26

Hi Dominique, When you automatically create the form from your contract with your BDM (using 7.9), you cannot have a form including only read-only fields. Does your form contain widgets which can be edited as well?

PS : large format comes from the fact that you added spotted lines under your text, which has been converted into titles

Submitted by ddelfosse on Tue, 09/24/2019 - 16:38

I didn't create the form automatically from the contract with the "UI" tool. I went through the "form" tab and then the pencil tool. But, anyway, the fields were added automatically to the form. I just created the form variable and then attached it to the fields.
No other widget than the three read-only fields and a field for the badge number, with a text : {{chauffeurIn.NumBadge}} which was ther automatically, but it doesn't appear in the form.

Submitted by ddelfosse on Wed, 09/25/2019 - 09:00

What is the role of the "c" and "p" arguments in the API call ?

Submitted by bastien.laurent... on Wed, 09/25/2019 - 14:08

p = page and c = number of result.
For exemple, if you have 50 entries in your DB:
With p=0 and c= 20 ==> You will see the first 20 results.
Whith p=2 and c= 5 ==> You will see the data of 15 to 20.

Submitted by ddelfosse on Thu, 09/26/2019 - 10:32

Sorry, but with p=2 (page two - from 0 ?) and 5 entries per page, is this not the data of 11 to 15 ?
Page 0 : 0 to 4
Page 1 : 5 to 9
Page 2 : 10 to 14

2 answers



To do that, you need to use a query data like it's discribe here:

So, for exemple, you need to create a form variable of API type with an url like:

The request : findChauffeurByBadgeId need to be define in your Business data.



Bonjour Dominique,

If you want to start working with Bonita in the best conditions, I suggest you follow our Getting started Tutorial (in english) available in our official Documentation . Then, if you want to learn more, we suggest you follow our training on Community Edition : Bonita Camp

Of course if you have any question while practicing with Bonita, the community is here to help you.