Skip to main content

#Forward0 debatiendo

Hello @Nonprofit Success Pack​!!!

 

So I have a few thoughts about something I just discovered regarding TDTM. 😐

 

My dev team and I just discovered that the the TDTM "config" on Trigger Handlers records present in our Production and Full Sandbox orgs is NOT mirrored on Partial Copy, Developer Pro and Developer Sandboxes. Which means that if Trigger Handler records are "inactivate" in Production and a new Developer Sandbox is spun up to work on let's say development enhancements around NPSP Address Management improvements based on the assumption that they are "inactive" then we would find ourselves in a little bit of a pickle.

 

Should we have known/remembered that Trigger Handler records are records and due to the nature of Developer Sandboxes coming with ZERO records? Yes we should have. Does the note on this piece of documention help? Yes it does, but with that said I have a couple of ideas/thoughts. It is possible that some of these are already being worked on or other, but wanted to share with community see what others have to contribute. 🙂 #Forward Looking Statement.​

 

  1. Could I recommend that on top of the note on the Manage Trigger Handlers for NPSP, that a BIG RED WARNING SIGN on Table-Driven Trigger Management (TDTM) Overview and/or other sections of TDTM documentation informs people that TDTM "config" is NOT mirrored from Production orgs to Partial Copy, Developer Pro, or Developer Sandboxes. Please and thank you!
  2. I know Trigger Handler records are records and that they do not come to these sandboxes, but is there any way to build some sort of customization that when they are "initialize" in one of these type of sandboxes per the note that the config in Production is mirrored? If not no worries, I know it is a tall ask, but if I do not ask then I do not know. 😃
  3. I think my final thought is....what about Custom Metadata Types. I feel like this is an even taller ask as I think all the code would need to get refactor to read from CMT rather than records, but at least CMT is metadata and that comes through sandbox refreshes, change sets and etc. Maybe you are working or thinking about this already and maybe you cannot say much, but maybe a wink? 😉

 

Thanks for hearing me out and well thank you for having this space to share my thoughts. Cheers!

18 comentarios
0/9000

Nonprofit Success Pack version 3.159 will be pushed to sandbox orgs tonight. It will be pushed to production orgs on July 30. Please check your sandbox orgs and report any issues. Full release details are available at https://github.com/SalesforceFoundation/Cumulus/releases/tag/rel%2F3.159

 

Changes

 

  • We updated the language in the Empty Household Account health check message to point to the correct health check report. Previously, the error message pointed to the Household object report.
  • We resolved an issue where users couldn't enable Customizable Rollups on the first try. Additionally, we resolved an issue where customers received a false timeout error message when trying to save a new or updated Customizable Rollup or Filter Group. If you see a false timeout error, go to Setup and search for Deployment Status. Verify that the deployment succeeded. Otherwise, you may be at risk of duplicate records. Note that this doesn't completely resolve intermittent false timeouts that we've been tracking; we are still investigating a different strategy.
  • We introduced a new global TDTM_RunnableMutable interface to support passing a mutable instance of the DmlWrapper to the run method. Customer TDTM classes that implement this new interface can include a new DmlWrapper parameter in the run() method of their TDTM class to support handling duplicate record updates. Thanks to @rogeramitchell@njjc, and @matthewpoe for their work on design and implementation of this new feature. More information on using the new interface can be found at https://powerofus.force.com/s/article/NPSP-Deploy-Custom-Apex-TDTM#ariaid-title7 and https://github.com/rogeramitchell/tdtm-mutable-example
  • We introduced code related to integration between NPSP and the forthcoming Data Storage Optimizer product. This update includes a new TDTM managed class on the GAU object. NOTE: If you have a custom TDTM trigger on the General Accounting Unit (GAU) object running in the BeforeDelete context, read these instructions: https://salesforce.quip.com/1lNTAg9mYyom

 

Telemetry Enhancements

  • NPSP Feature Telemetry collects feature and usage metrics when customers use our products. We use this information to understand the level of usage and adoption of various NPSP features. No personally identifiable information is collected through NPSP Feature Telemetry. Read more about NPSP Telemetry here: https://powerofus.force.com/s/article/NPSP-Feature-Telemetry. We added the following to NPSP Feature Telemetry:
    • Count of Opportunities with multiple Payments
    • Is a custom Recurring Donation schedule in use

 

Issues Closed

#4346: Enabling Customizable Rollups the first time does not fully enable the feature

#4306: Health Check: Incorrect Report and language referenced in Error Alert

 

Community Idea Delivered

Add method to update an item in the DMLWrapper collection

 

github.com

15 comentarios
  1. 31 jul 2019, 15:48

    @Michael Smith​ @Cori O'Brien​ Running on production with 3.159, I just received an error "Saving the Rollup has timed out. Please see the Customizable Rollups documentation for more information." Note, this occurred when changing the filter, not create a new rolloup. I can resolve via metadata or other means but want you to be aware that the fix may not cover rollup edits. Where should I report this?

0/9000