escalation

  • 3 February 2010
  • 4 replies
  • 1 view

Badge +3

Hello There,


I have the following scenario.


I have an activity which has a client event.


User has to respond to that event before a date.


Now the problem is the date before which the user has to respond will/can change.


Hpw to set up escalation to the activity which would also take care of the date change.


Right now the escalation code set only once and it is not able to check for the dynamic date change. How to overcome this situation,


 


Regards


Amarnath


4 replies

Badge +8

It's not possible in current version of k2, you can set escalation but the event which run to set the properties fires just once.


So in other words you cannot force escalations to load this value again and again. Now having said that you can write your code to achieve that.

Badge +3

how could i write a code to that. Do you have any example?


 


Regards


Amarnath

Badge +4

Hi Amarnath


Currently if your escalation date changes, escalation rules will only fire on the original date set.



I believe there is a feature request logged to handle this, so hopefully we will see this in the product in the future.



How I would normally handle this is to have an activity running parallel to the client event that loops to itself.  You can then configure the start rule to wait for a day or hour or minute.  This activity will then compare your date to today’s date and then you will need to handle the escalation with custom code.


Another option is to configure an escalation that fires daily or hourly or by the minute and repeat it for a big number.  You will then need some custom code in your escalation action that compares the date and then handle the escalation in custom code.  This approach is similar to my first option, but this approach could make use of working hours if needed.


The problem with these approaches is that it does put a lot of overhead on the K2 server, especially if the interval of checking becomes more frequent like hourly or by the minute.  You will have to make a judgment call taking into consideration the escalation frequency and process instance numbers.


In another project, we had a similar problem.  The nice things were that we already had an external service that runs daily and compared the dates.  So I used an asynchronous server event, storing the serial number in a database.  The external service then compared the dates and if the escalation was due, and then finished the server item. 


This approach takes the overhead away from K2, but could be more work especially if you have to create the service from scratch.


I hope this helps.


Henk

Badge +3

Thanks Henk

Reply