Date and age-based alerts: SugarBPM or scheduled job?

Hello Sugar lovers!

We're getting more and more requirements to perform actions after a date or age has been reached: sleeping opportunities, renewal reminders, escalate accounts without activity... These generally cannot be solved by a report (dashboard or scheduled) since the reporting engine does not allow calculations (eg days before renewal, age since last contact...). 

My first intuition sent me towards a simple BPM with an event-based gateway and/or wait event (no dependency on a developer resource, easily maintainable), but: 

  1. Once the process has started and is "waiting", a priori you can't change the "alert" date, for instance if a contract start date changes (for whatever reason), the delay is recalculated, or any other criteria changes. Can you? 
  2. This will create a waiting process instance for each and every record until it is "closed". AFAIK these processes are polled every minute, which could take a massive hit on performance after a while. Is that correct? 

So what we generally do is:

  1. Develop a daily scheduled job that loops through the records and sets a flag if the criteria are met
  2. Design a BPM that is triggered on the flag change and that performs the necessary actions (sending an email etc)

This works, but any change in the criteria requires code-level modifications (+packaging, deployment...). 

I'd live to read your view on this!

Cheers,

Damien

Parents
  • Eventually you can encapsulate the criterias into a admin config view. The custom scheduled job can fetch criteries from that config and do the job. This way the maintenance effort will reduce.

    We frequently implement features like that to our customers so they are free to update those config criterias.

    André Lopes
    Lampada Global
    Skype: andre.lampada
Reply
  • Eventually you can encapsulate the criterias into a admin config view. The custom scheduled job can fetch criteries from that config and do the job. This way the maintenance effort will reduce.

    We frequently implement features like that to our customers so they are free to update those config criterias.

    André Lopes
    Lampada Global
    Skype: andre.lampada
Children
No Data