You've heard about the joys of using platform events from Jonathan in Advanced Logging Using Nebula Logger - their versatility and interoperability with exception handling being a primary example of where the two features dovetail nicely together. Something interesting starts to occur when your platform events start firing other platform events, especially when those platform events originate from Apex that is already running asynchronously| www.jamessimone.net
Learn how to implement the Nebula Logger project for Salesforce for advanced logging, and some of the challenges experienced over the years with implementing a custom logging tool.| www.jamessimone.net
A few months ago I was tasked with replacing Declarative Lookup Rollup Summaries (DLRS) in an org suffering from frequent deadlocks. Rollup summary fields in Salesforce are plagued by severe limitations -- only being available on master-detail relationships being just the start of the list. Read on to learn about how I built Rollup to assist in orgs looking for DLRS-like flexibility with a much smaller performance overhead, complete with elastic scaling (go fast when you need to, slow when th...| www.jamessimone.net
Setting delays programmatically within Apex represents a unique challenge. We don't have access to the current thread instructions that are being carried out, nor do we have any kind of higher-level `delay` function. While this is frequently fine for internal usage, where the last thing you would want is for your compiled code to be slow, that's not always the case when interacting with external APIs. It's common for APIs to be 'rate-limited' - go over the number of requests you're supposed t...| www.jamessimone.net
The abstract enum class in Apex can be very helpful as a class-like object, but there are a few things you should keep in mind to avoid getting bitten by the use of enums.| www.jamessimone.net
Learn how to use Repositories to protect your SOQL usage and easily swap implementations in unit tests| www.jamessimone.net