• 3 replies
  • Latest Post - ‏2012-12-11T16:58:11Z by SystemAdmin
18 Posts

Pinned topic Reg the Intermediate message event

‏2012-12-03T17:05:11Z |
Please suggest on the below:

After user opens a task and user does a browser close when the user opens the same item (Mean while there may changes to the APPlication DB details) fresh data is not populating.

tried to use the intermediate message event to trigger the BPD.

Attaching the screenshot for the same.
Updated on 2012-12-11T16:58:11Z at 2012-12-11T16:58:11Z by SystemAdmin
  • kolban
    3322 Posts

    Re: Reg the Intermediate message event

    That is quite an interesting post you made there. I looked at the BPD diagram and see:

    o You have drawn it both right to left and in places left to right.
    o You have an Intermediate Event that seems to wire to itself. Not sure how that path will ever terminate

    I am missing the whole concept of users, tasks and browser closes.

    Can you post again with more details. Don't hesitate to take as long as you need to post as much detail as possible. Readers will take the time to read through lengthy posts in order to fully comprehend the questions being asked.

  • D4ED_Gowthami_Reddy
    18 Posts

    Re: Reg the Intermediate message event

    Thanks Niel
  • SystemAdmin
    7615 Posts

    Re: Reg the Intermediate message event

    Unfortunately you are going to run into browswer security problems with this. When a user either attempts to close a window or go from the current page to a new URL (which behaves similarly) you are very limited in the actions you can take. They bascially amount to the ability to pop up a dialog that says "Hey, you are about to close this window and that will lose your data. I sugest you go back and hit the postpone button instead. Do you still want to close the window? Yes/No".

    However to get to your root requirement, not losing the user data I can think of 2 ways to deal with this. The first would be if you are using the new coaches you could update the various data elements at the service level using Ajax as the user moves between the data element. This would likely mean you would only lose the last data element edited on a close.

    If you aren't on 8.0, then you would need to get fancier. You could do something really sophisticated like construct a cookie on the user's browser and store the data in the cookie. If the cookie is tied to some hidden data on the coach, like the task ID, you could use that as a key and re-do the data from the items in your cookie. Of course, if someone else updated the data, you are going to over-ride their updates with the stale data. So it starts to get complex…

    Even more complex, I don't think either of these will update the data at the BPD layer unless the 8.0 "Shared Data" concept, which I have not had time to play with, updates the BPD values when a service updates the values. Typically BPD updates on normal variables only happen when the service returns exectution to the BPD layer.

    Andrew Paier | Director of Special Operations | BP3 Global, Inc.