SFDO-Community / declarative-lookup-rollup-summaries

Declarative Lookup Rollup Summaries (DLRS) is a community built and maintained Salesforce application that allows you to create cross object roll-ups declaratively - no code! For install instructions and documentation, visit our website https://sfdo-community-sprints.github.io/DLRS-Documentation/
https://sfdo-community-sprints.github.io/DLRS-Documentation/
BSD 3-Clause "New" or "Revised" License
683 stars 235 forks source link

Optimizer Check - Add warning if Rollup Job is not scheduled #1394

Open sfenton3 opened 8 months ago

sfenton3 commented 8 months ago

Is your feature request related to a problem? Please describe. When there is an active rollup definition with the calculation mode set to scheduled, it must also schedule the RollupJob apex class to execute the rollup. Currently, asynchronous processing of rollups is confusing to users, they expect the rollups to work if the calculation mode is set to scheduled.

However, when a rollup is active and set to scheduled mode, it only upserts a Scheduled Item record for later processing. In this case, the admin needs to explicitly run the RollupJob global class in anonymous apex, or through the scheduler to process rollup definitions for the scheduled items.

Describe the solution you'd like Add another method in the OptimizerService.cls class in DLRS to check if any Apex rollup jobs are running or queued. If none are running or queued, and there are active rollup definitions with a calculation mode set to scheduled, we should warn users and direct them to the wiki as a help resource.

Additional context This issue shows an example of this in a real org. Link