Change default database of Bonita 6.5
Hello, I am using bonita 6.5 and I would like to change the organizational database : users , roles , tasks , permissions...(not data) of bonita to my mysql database. I've followed the documentation but then I realised that it's maybe for data and I wonder if that's true ! 1) If it's for data then how can I change the oraginzational DB ? 2) Otherwise , how can bonita "know" that I have users ... in that DB ? And what are the changes that I have to make ? Thanks.
What do you want to change in the Org DB?
By the way there isn't one, its Org Tables in the Bonita DB...
In Studio you will have to change the tables in the H2 Database. There are many ways to do this, pick your H2 Database editor....
In portal you would then have to update your chosen database, not necessarily compatible with the definitions in H2...
Before you ask, nope I don't know the tables specifically.
You would then need to create/rebuild portal and Studio to have your specific requirements for defining Users, or Processes that would populate these updated tables.
Note however that with every upgrade you would have to migrate this code every time. This may not be considered optimal use of the system.
You may find it easier to use Custom Fields, which partially work in Community edition...
regards Seán McP
Yep, it's clear...
What you have here is the "original" holiday request problem.
Every employee can request a holiday, and Employees managers can approve a holiday request. What happens when a manager requests a holiday? He is both Employee and Manager.
Right then here we go:
Yes this is perfectly possible in BonitaSoft using Actors.
for my example the holiday request...
Step 1 - Actor = Everyone: Everyone asks for a holiday. (Bonita Actor Filter Initiator)
Step 2 - Actor = Employee Manager: The employees manager is the dis/approver of the holiday. (Bonita Actor Filter Initiator-Manager)
this will solve your problem of the User Can Request/User can Approve issue.
You can also create your own Actor Filters for special circumstances such as these.
Hope that solves your problem, regards
The Organization tables for Bonita are stored in the same database as everything else. There is no separate database.
If you installed Bonita first, got it running and then want to change it to mySQL, Bad luck this is not really possible, or at least not easy.
It is much, much easier to do while installing.
Hang-on, what are you installing? If you are installing Studio. NOT POSSIBLE to change the database. Yes that's in capitals for a reason. It is not possible to change the Studio database.
If you are talking about a Tomcat/JBoss Portal Bundle then you can do this by following the instructions here:
These instructions work and work well as I've done it many times.
That answers your direct question re the database - how do i store the database in mySQL.
For the other questions...see comments above...
regards Seán McP
Thanks for your answer , actually I want to make a database where I can specify conflicting rules in a table , conflicting tasks in another ... So I can enforce constraints on users according to that database , so for example , if a user want to execute 2 tasks that are in the conflicting table , I wouldn't allow that . But I don't know where I am supposed to write these conditions . I am working with community edition and Tomcat bundle .
I am not sure I understand it , I think it's studio but I have Tomcat bundle , does this make a sense ?
Let's suppose that a user x has both the permission to make a request and to approve it. When we create the process in bonita we can specify ,using the actor filter , that the one who does the approval task has to be the admin of the one who sent the request. X can open a session with the role of making a request , send a request and then switch to the other role and approve it . To prevent this , I thought that I have to use a new database where I have the history of all tasks executed by a user , and a table for conflicting tasks for example in that case , before allowing him to make the second task , I have to do a query in the DB to make sure that he hasn't already done a conflicting task with the one he wants to perform. I hope it's clear now .
I am using studio , so what would you suggest as an alternative to changing the tables ? Thanks
Thanks for your answer but I am working on a project where I have to extend the functionalities of access control in bonita . If everytime someone creates a process has to make an actor filter , then I didn't add anything . And about travel request , even if initiator log out and open a new session with manager role , he would be unable to approve the request ?
I agree with you but my supervisor in that project is insisting that I must have my own database with the following tables : conflicting roles , conflicting users... and that she has already supervised the same project 2 years ago and the solution was to change the database and that was successful (but she doesn't know how because her speciality is security..). Also I found that topic : http://community.bonitasoft.com/groups/usage-operation-5x/problem-change...
Is it possible because it's an old version ? wasn't it bonita studio ?
Let's make things simple ,if 2 users friends and I want that one cannot approve the request of the other (conflicting users or conflict interest) .If I want to realise that with an actor filter (is it possible ?) .Then everytime , I have to create an actor filter . I think it would be better if I can define all the conflicting users I have in a table , at the administration time .