I typically do not blog about each new release of this tool, but since its been awhile and there is some key features in this release I thought I would add to the usual release notes. If you are not aware this is a community driven tool that helps address a current platform limitation around rollup summaries. Specifically the inability to do rollup summaries between lookup relationships. This is possible between master detail relationships using the declarative mode of Lightning Platform, but not between Lookup Relationships. The tool is open sourced and supported by an amazing community! The following highlights some key aspects of this recent update.
Improved Lightning Experience Support
The tool does its thing in the background as users work so regardless if you configure it through Salesforce Classic or Lightning Experience, for your users it is irrelevant. This release has an actual Lightning App packaged with it and each of the custom UIs now leverage the default Visualforce Lightning styling. You can still use it in Classic, though the new Lightning Rollup Summaries Tool tab will not be visible.
Evolution of Rollup Configuration Storage
The tool has been around since 2013 and has undergone some changes, especially since the advent of Custom Metadata, which is now the primary means by which its configuration is stored. Support for the original Custom Object based storage of configuration is still present but is now more hidden by default to avoid confusing new users. This release includes more messaging in the older UI to help users tell the difference. Unfortunately some legacy implications still confused users which I also wanted to address in this new release.
No More Shadow Rollup Records
Scheduled rollups can leverage an incremental calculation mode to differ calculations until a scheduled batch job executes, which improves interactive performance. The tool does this as the users update records by inserting into the Lookup Rollup Summary Schedule Items object to queue up the future recalculations. This object was architected before the Custom Metadata based rollups and thus demanded a reference to a Custom Object based rollup even if the user was using the Custom Metadata based rollups.
Previous releases of the tool attempted to workaround this silently by automatically creating so called “shadow rollup” configurations. However when users came across these, especially if they where still using Custom Object based rollups, it caused confusion. Starting with release v2.12 these will no longer be created. Though for those of you upgrading there is some actions to take on your side.
Action to Take and New Lookup Rollup Summaries Tools Tab
In order to drop the confusing shadow rollup workaround described above I had to remove a field from the Lookup Rollup Summary Schedule Items object. This however is only removed from the package and will not automatically delete from orgs on package upgrade. I have ensured that your existing rollups will still work and still leverage this field, so there is no immediate action after upgrading.
However, if you create a new incrementally scheduled rollup and attempt to insert a child record you will see the error message that reminds you need to delete this field manually. You will also see a reminder to delete this field through the new tools tab.
As you can see above the new Optimizer component is also designed to share other useful insights into your use of the tool. In addition to the field deletion reminder I have also added a notification to remind the admin to review the Lookup Rollup Summary Log tab for errors that have occurred during incremental scheduled rollup executions. Each of the notifications comes with a more detailed Wiki page. Once everything has been cleared you get a nice confirmation telling you so!
Email Notifications for Batch Job Error Messages
The tool uses scheduled Apex jobs to run manual full, scheduled full and incremental recalculations of rollups. For incrementally recalculations expected errors get redirected to the Lookup Rollup Summary Log tab (hence the above reminder in the tools tab). However other errors in previous releases where only visible if you visited the Setup menu Apex Jobs page or had Apex Email Notifications enabled. Starting with release v2.12 such errors (unless they are governor limit errors) will be emailed to the user who scheduled the job.
No Need for Remote Site Configuration
Finally I also updated the tool to leverage a platform enhancement that relaxed the need to have a Remote Site configuration when using Salesforce API’s such as the Metadata API used by the tool when configuring rollups. This only applies to orgs with My Domain.
Customize Test Code for Parent Apex Trigger Tests
Sometimes the tool needs to generate Apex Trigger Test code for parent objects. In this release you can now customize that test code if there are required fields needed to be able to insert a test parent object.
Future Releases
There is currently 82 enhancement ideas and 22 known bugs to pick from. If you want the perspective on must have fixes and enhancements from one the amazing contributors, Dan Donin, you can see Dan’s filtered list here.
Hopefully having moved the project to SFDX you or a developer you know will feel encouraged to help out with some of these. I am also keen for ideas on how to enhance above optimizer feature to provide more proactive recommendations to admins and cut down on common questions and keep configurations optimum.
Finally there is a long standing request for UI to help configure the rollup filters that might finally be closer to reality thanks to some great work here. Meanwhile, thanks for all for the support!
April 5, 2020 at 8:19 pm
Thanks very much Andy! I’m very excited to dig into these new changes and and cannot begin to tell you how much I personally appreciate your continued work on this wonderful tool. It really is amazing and an essential part of the Salesforce kit. Greetings from the Berlin Developer group and will pass this on in our next ‘virtual’ & virus-free meeting!
April 6, 2020 at 12:05 pm
Thanks Alexis your most welcome and say “Hi!” to your Berlin Developer Group from me! Andy.
April 8, 2020 at 11:33 am
Hey @andy – I’m not seeing this in the appexchange – am I missing something?
April 9, 2020 at 3:37 pm
No, never really got round to filling in the details. I am submitting latest for security review though. So will get it sorted.
April 10, 2020 at 5:06 am
Thank you sir!
April 22, 2020 at 12:25 am
Hi @Andy, when can we expect the latest version available.
May 9, 2020 at 6:31 am
Check the Readme file on the GitHub repo all links are always on that. Thanks
April 23, 2020 at 3:31 am
Hi @andy, when can we expect the latest version available.
May 9, 2020 at 6:34 am
As it’s a community product – there is no formal release schedule – it just depends on when folks have time including me. What do you need?
May 6, 2020 at 10:53 pm
Hi Andrew, I just discovered your tool yesterday. So usefull for me ! thx a lot !
May 8, 2020 at 12:14 pm
Hey Andrew, I am having some trouble with this in my org, Salesforce support said they cannot help me and I need to contact you. I cannot see anywhere else I can request support. Could you assist me please?
May 9, 2020 at 6:39 am
Hi. Sure the best way is to tap into the community chatter group. The link to that is near the top of the readme file on tools GitHub repo. Thanks
October 5, 2020 at 1:25 am
Hey Andrew, we have trouble with roll_up summary due to security changes on guest users. Salesforce advised to contact you to resolve the issue. Can you please assist me in this issue?
Thanks in Advance
December 31, 2020 at 9:02 pm
This is not a paid tool – its is an open source and community supported tool. Thus there is no official support. However there is a great community behind the tool. Check out the README file on the GitHub repo and on that is a Chatter Community Group link. You can post into that.
October 5, 2020 at 2:33 am
Hi Andrew.
I am having some trouble with roll_up summary in my org, Salesforce support said they were not able to debug your code and to contact you. Could you assist me in this issue as we are unble to contact your support.
December 31, 2020 at 9:01 pm
This is not a paid tool – its is an open source and community supported tool. Thus there is no official support. However there is a great community behind the tool. Check out the README file on the GitHub repo and on that is a Chatter Community Group link. You can post into that.
October 6, 2020 at 1:20 pm
I’m trying to update to version 2.12 from 2.11 in a sandbox using this link…
https://test.salesforce.com/packaging/installPackage.apexp?p0=04t0N000001E2L5
Getting this error, any help appreciated…
This app can’t be installed.
There are problems that prevent this package from being installed.
Package Not Found The requested package doesn’t yet exist or has been deleted. If this is a recently created package version, please try again in a few minutes or contact the package publisher.
December 31, 2020 at 9:00 pm
I retire old versions as i release new ones. Try the README file for the very latest.
October 7, 2020 at 8:23 am
Hello. With the new release if I change a dlrs record that was once “Realtime” to “Scheduled Full Calculate” and it already had a trigger code deployed for it will it auto remove the trigger code? Or will it still perform real-time calculations as well as the scheduled calculation? due to realtime dlrs Exclusive Lock errors I want to switch it to scheduled off business hours only.
December 31, 2020 at 8:57 pm
It will not auto remove the trigger – you need to do that yourself with the Manage Child Trigger button.
December 3, 2020 at 10:36 am
Hi Andrew,
I saw your comments about going through Security review.
Is it listed on Salesforce Appexchange? If yes, please let us know the link !
December 31, 2020 at 8:48 pm
Please check the release history in the README file.