« first day (1693 days earlier)      last day (936 days later) » 

12:19 AM
I use one that I developed myself, taking inspiration from Hari Krishnan's framework and the approach to re-entrancy suggsted in Dan Appleman's "Advanced Apex Programming" (i.e. if you have a class X executing code as part of a trigger, and it performs some DML, then class X should control what work (if any) should be performed as a result of that DML)
That reminds me that I was working on an improved version of it that I could open-source
but then I fell into the hole of trying to handle allOrNone = false, and my progress rapidly approached 0
 
12:34 AM
Well, I'm not advanced enough to answer that question, I guess. Because most of what Derek said just went right over my head.
I guess we really didn't have a framework *per se* - at least not that we necessarily could say was named or explicitly put into action.

We inherited an old mess that we tried to clean up, including implementing DX and actually having a code repository. if this counts as a framework, we at first tried to have one trigger per object with trigger handlers. But that fell by the wayside as we started trying to organize and implement packaging.
We ended up with a hybrid hodgepodge when Salesforce development was moved to another team.

If any of that is a framework, you can tell me what it is called; otherwise, I guess we didn't have one.
--------
That was in past tense, because the reason I just popped back into this room was to say that I started with a new company this week, and today someone mentioned AMPscript. But I know 0 (<.. that's zero) about AMPscript, I guess because I know 0 (zero) about Marketing Cloud.

Other than the Code with AMPscript (https://trailhead.salesforce.com/en/content/learn/trails/code-with-ampscript) Trailhead Trail that I am about to go through, can anyone direct me to anything really good for getting up to speed with AMPscript efficiently?
 
12:59 AM
I think one of the big issues with Marketing Cloud is that there aren't any sandboxes or a developer edition, meaning you can't really play around with it unless/until you're paying for it.
@Moonpie One trigger per object is a best practice, and using handler classes to keep the logic (instead of putting it directly in the trigger) is the foundation for pretty much every trigger framework
so it does sound like you were using a framework (maybe Kevin O'Hara's?)
 
1:14 AM
I guess it wasn't in my team's hands long enough for us to figure out (or me to understand) this: So if one trigger per object is best practice, then how does one handle unlocked packages where one wants to keep certain trigger functionality contained in different packages for a 'common" object that has trigger functionality which should be spread across multiple packages?
 
 
1 hour later…
2:28 AM
@Moonpie I haven't looked into other trigger frameworks too much, but I think the approach that newer frameworks are taking has been to further segment trigger work into more Apex classes (so you'd break a generic "handleBeforeUpdate" method into more specialized classes that each do one thing) and use custom metadata types to determine the order in which they're executed.
The additional Apex classes would be able to live in the package that added the requirement for that additional trigger work (as opposed to in the package for the framework itself). I imagine the custom metadata type record would also be decentralized (part of the same package as the Apex class for the new trigger work).
 
 
8 hours later…
10:21 AM
Thanks. I'll make a note to look into it when I have some time.
 

« first day (1693 days earlier)      last day (936 days later) »