How to keep a process/case live when message is transfered between two pools?

Look at the image attached.

When I run this in Bonita, a case is generated when customer orders a pizza, a separte case is generated for "review status", and a new case is generated when "accept delivery".  Is there way to have them all put into one case?

Also, does a customer have to have an account login within the "organization" inorder to check the status?

Hi Lee,

you need to add other receiving message event, one for "pizza baked" status, one for the "delivered" status. Those receiving message event would work as "acknowledgment" mechanism, using correlation to reply back to the correct initial order.

For instance, once order a pizza task is finished, process would go to a receive message event "wait pizza baked". Once bake pizza task is finished, the pizza vendor pool would throw a message to first pool, which would change status of pizza to "baked", and process flow to another receive message event "wait delivery". Once delivery pizza task is done, pizza vendor will end throwing a message "pizza delivered", which would be received by our "wait delivery" event and finish the customer pool.

Thank you so very much renaud.pichot.
It works!

<p>
	&nbsp;</p>

<p>
	One more question while we are on this screen, so since Customer lane does not have an actor matched to the Organization. How do general public user access this order form? Or do a customer has to register an account that will be put into the Organization in order to have access to the "portal" so that they can monitor the status?</p>
&nbsp;</div>

Any example how I can create user on the fly?  As a customer, I should be able to track status of my own order, not other's.

I'm thinking about handeling this through a separate web page: 

User comes to the website to register an account. Once the user logs in, he/she can fill up a form that is submited to "bonita" (i'm not sure if this is achievable), Bonita handles the workflow from there, Bonita would push status to the webpage UI via API(connector).

But from my understanding, every process needs an "actor", and it has to be mapped to the organization.

So I am really confused about how to achieve this. Is bonita the right tool?

Hello, your question is not clear about what you want to do. Could you please edit it and improve it, so we can understand what is your issue ?

Thank you so very much renaud.pichot.
It works!

<p>
	&nbsp;</p>

<p>
	One more question while we are on this screen, so since Customer lane does not have an actor matched to the Organization. How do general public user access this order form? Or do a customer has to register an account that will be put into the Organization in order to have access to the "portal" so that they can monitor the status?</p>
- See more at: http://community.bonitasoft.com//answers/how-keep-processcase-live-when-message-transfered-between-two-pools#sthash.eE2x1lBT.dpuf</div>

I have the same problem. Can you share your experiences?thank you

Well, if you want your user to see his own order, and the order from other people, then you need something to identify him. Usually this would be through registration, maybe creating a new user on the fly if needed - using the API you would create a new user and map it to a customer group or role.

Then two questions arise: what do you want to show to your customer, and how do you want to notify him ? it can be through a dedicated web page (outside of Bonita portal), it can be on portal, through email or sms only ...

Yes you can !

Here are additional links explaining anonymous user and auto login.

First, having an anonymous user will allow you to configure an "anonymous" actor for this process. Then the auto login information show how to build the URL to access either the portal or the form without needing to log first.

Let me know if you succeeded in, otherwise maybe can you ask a new question/answer with this specific topic ?

Then concerning the on the fly user account creation, you could take advantage of enabling JAAS authentication mechanism (see here). When a user connect, you make normal authentication check. If user does not exist, create the user. Be careful about having bots creating thousands of new user: you have to think of a system to control those creation... this brings a lot of question, and I think your idea of using a separate web page is better :) But then why not having a "registration process" ? The visitor open a form anonymously, type in his information, submit and then you create this user in Bonita with an automatic task with the IdentityAPI. Then this user can connect to the portal and can start the "order pizza" process...