Global Model Actions / Skuid Model Triggers

  • 2
  • Idea
  • Updated 3 years ago
I know this is something than can be done using Apex Triggers, but who actually uses, nevermind likes, Apex?

I'd have set it up in the same way triggers are managed in Salesforce, but using action framework and snippets. Then loaded dynamically based on objects actually on page.

Especially useful for Before triggers since Salesforce Workflow, Flow and Process Builder is good enough to use for most things needed for an After trigger.
Photo of mB Pat Vachon

mB Pat Vachon, Champion

  • 42,714 Points 20k badge 2x thumb

Posted 3 years ago

  • 2
Photo of Rob Hatch

Rob Hatch, Official Rep

  • 44,006 Points 20k badge 2x thumb
Pat,  can you flesh this out a little bit.  I suspect there are some really cool things here - but your sketch needs some more details.  

Thanks. 
Photo of mB Pat Vachon

mB Pat Vachon, Champion

  • 42,714 Points 20k badge 2x thumb
A great example is multi currency field CurrencyISOCode. Since there's no way to set a dynamic default value using anything from Salesforce, even triggers as before triggers aren't evaluated when creating new rows, so I've been using Model Actions.

Problem with this is that I have manually do this in every model on every page I'd like this to be done. I have easily over 50 models that I've implemented this dynamic default currency. As an example, I set the CurrencyISOCode field on all models based on Line_Item__c to have the same currency as Receivable__c.

So, I'd prefer to have a new Skuid app page, not a Skuid page stored in skuid__Page__c, where I can see all objects listed in a tree structure grouped by the following:
  • Standard Objects
  • Custom Objects (not from package)
  • Skuid Objects
  • Conga Objects
  • etc
  • etc
Expanding any of these and clicking on any object would display all the model actions just like they would be on a skuid page. Kinda like Master pages but not quite.

Other things can stored here as well, but I'm not sure if it's a better place than a Master page or Static Resource. Static Resource is probably best proper development.
Photo of Matt Sones

Matt Sones, Champion

  • 31,478 Points 20k badge 2x thumb
I love the way you think, Pat. 

Building triggers with the skuid action framework would be WAY better (easier, faster) than re-learning apex every time I need a trigger.
Photo of mB Pat Vachon

mB Pat Vachon, Champion

  • 42,714 Points 20k badge 2x thumb
So Matt got me thinking with his post.

Can this not be done in the same way as Conga Composer does it's processing?

So, create a separate service, just like Conga, that takes parameters to process a skuid page. ie. skuid_page_id and other parameters needed. Then if the page can do Action Framework on page load, then Bob's your uncle.

So basically use Outbound messages within Workflow.