Hello!
I’m fairly new to Bonita so please show some mercy on me for asking such trivial questions.
I have followed the official Getting Started guide. Yet, it doesn’t cover more sophisticated diagramming like using gateways and providing conditions.
I tried to build a process with gateways on my own, but that resulted in a question related to what is the code behind the data used within a process.
- According to the documentation, a business data model is a simple Java class. Fine. Let’s say we have named it: RequestApproval.
This is the specification for all our data that will be used in the process. Here we declare all the variables that will be used later, say: status, refusalReason, userNote.
Then we select a pool (which actually represents the corresponding process) and specify a business variable. Again, the documentation says that this is no more than an instance of the class declared as a business data model. Our business variable is called requestApproval to comply with the documentation guidelines.
But we also have process variables, which, according to a discussion I read recently, are used when the variable is not supposed to be used outside the process.
Do I understand it correctly that the only real difference is in terms of accessibility?
A business variable is public whereas a process variable is private?
- Another difficulty I encountered is related to how I should reference variables in gateway conditions, for example?
For example. there’s a user task named Review Request which sets the status to either “approved” or “rejected” and connects to a XOR gateway. How should I write the conditions?
reviewRequestInput.status == “approved” or reviewRequest.status == “approved” ?
Initially I thought that the latter form is the correct one similarly to using attributes of an object.
Yet, Bonita automatically creates reviewRequestInput including the variables provided. Specifying the condition in the former way doesn’t work.
I realize that the issue here is my lack of understanding. Could anyone please break it down for me or at least point to an exhaustive source of information?