task list / case list incoherence

Hi,

I have difficulties understanding case list versus task list visibility in Bonita 7.

Let’s say user A starts a process. Users A and user B are candidates for executing the first task :

  • User A and user B can see the task in their task list, as long has nobody has taken it.
  • User A can also see the corresponding case in the case list, whereas user B doesn’t see it (even selecting “Started by anyone”).
  • If user A takes the task, then user B doesn’t see the task anymore, and he doesn’t see the corresponding case either

This behaviour seems incoherent to me : if a user can see a task, I would expect he should also be able to see the corresponding case.

Now let’s say user A takes the task but doesn’t complete it, and next days he’s ill. User B doesn’t see the task, and doesn’t see the case either. How can he know that user A hasn’t completed it, and that the task should be reassigned ? How people are supposed to work in team if they don’t see cases they are candidates for ?

Is there a workaround for that ? I mean a parameter in Bonita so people can see a case when they have been candidates for a task ? Or is specific development needed ? Or another solution ?

Any hints appreciated,
Best regards,
Marina

Part 1:

Actually it makes sense as follows:

  • A Process is made up of Tasks which are assigned to Actors
  • A Case is an Instance of Process that is STARTED by a User
  • A Case is therefore an instance of a User Started Process, made up of tasks which are assigned to Actors

In Your case

  • User A and user B can see the task because they are Actors who can execute the task.
  • User A can see the Case because they are the one that started the case. This is correct and follows normal security principles. Note though that User Admin can also see the case if allowed, because they are Admin.
  • If User A takes the task, User B cannot see the task and is expected behaviour. User A is doing it, we don’t want two people doing the same thing at the same time, so User B cannot see it.

Perfectly correct.

This behaviour seems incoherent to me : if a user can see a task, I would expect he should also be able to see the corresponding case.

Absolutely not as outlined above.

Part 2:

Now let’s say user A takes the task but doesn’t complete it, and next days he’s ill. User B doesn’t see the task, and doesn’t see the case either. How can he know that user A hasn’t completed it, and that the task should be reassigned ? How people are supposed to work in team if they don’t see cases they are candidates for ?

Imagine Process K9 has tasks A B C D and E, Assume Actors are Users A and B for all tasks.

User A starts the Case, and completes Task A and B. Task C is open and visible for Users A and B - this is fine.

If User A Takes C and walks off for a coffee, then this is your problem. User A has not completed the task. And this is what you want to fix.

You should design your process to have a non-interrupting timer to either escalate or reassign the task to the open pool of Actors.

This is very standard practice for all BPM.

Is there a workaround for that ? I mean a parameter in Bonita so people can see a case when they have been candidates for a task ? Or is specific development needed ? Or another solution ?

It’s really the “another solution” - use the tools of BPM to do what you want it to do…

regards
Seán

PS: As this reply answers your question, please mark as resolved by ticking the tick mark on the left of this reply.

Hi Sean,

Thanks a lot for you detailed answer

It doesn’t completely satisfies me… Let me explain :
I completely agree when you say :

User A and user B can see the task because they are Actors who can execute the task.
User A can see the Case because they are the one that started the case. This is correct and follows normal security principles. Note though that User Admin can also see the case if allowed, because they are Admin.
If User A takes the task, User B cannot see the task and is expected behaviour. User A is doing it, we don't want two people doing the same thing at the same time, so User B cannot see it.

But if B actually completes a task, then he is able to see the case he has been actor in, even if he’s not the initiator. So candidates can see tasks but not cases, whereas actors can see both.

Concerning timeouts and escalation I am aware of that part of BPMN and I do use it, but it doesn’t really answer my problem. Bonita 7 behaviour wouldn’t bother me much from a theoretical point of view, but we actually use Bonita 5 in production and in Bonita 5 candidates can see cases even if they haven’t actually performed tasks. For the moment we rely on this.
A concrete example : each financial department is composed of a team of workers, and as they all see the cases they can answer questions about a case even when the person in charge is out of office. When we’ll move to Bonita 7 they won’t see each other cases, so each member of the team will have access to only part of the information and not the whole. This is what really bothers me in fact.

Maybe the solution is a specific application page so that all members of the team can see the relevant information about cases ? Do you see another way ? If there is a simple way to make cases visible to candidates and not just actors it would satisfy me, because except for that the new portal seems to meet our needs.

Best regards,
Marina