A bug has been reported in production and there’s no obvious path to the problem. What are you going to do? A build process is failing and the errors make no sense. What are you going to do? A report is showing you things in the data that just shouldn’t happen. What are you going to do?
Category: Development
Using Lazy Evaluation to Write Salesforce Apex Code Without For-Loops
Functions or for-loops?
A developer working in Javascript has access to some really convenient functions on Arrays. Functions like filter() and map() can avoid the need to write for-loops. Is this actually a good thing? Can we write Apex this way?
Continue reading “Using Lazy Evaluation to Write Salesforce Apex Code Without For-Loops”
Got Alignment Issues on iPhone?
There’s nothing worse than building a beautiful email template only to find out it breaks on certain devices. I’ve come across this very strange alignment issue on iPhone repeatedly over the years. If you’ve seen it too, I also have the fix!
Parameterised Dependency Injection via Custom Metadata Types
Dependency injection using Custom Metadata Types is a great way to write code on Salesforce that is easily extensible. Even if you never actually end up extending your design Continue reading “Parameterised Dependency Injection via Custom Metadata Types”
Performance Testing of Process Builder vs Apex
The choice between writing custom Apex code or using declarative tools in Salesforce has always been a difficult one to make. Process Builder is capable of more than Workflow was, but it came at a big performance cost. In this article, Roger Mitchell measures that performance cost again. And it looks like things have improved considerably since 2016. Continue reading “Performance Testing of Process Builder vs Apex”
More ‘Out of the box’ Community Themes
When Lightning Communities were first introduced back in October 2015, there was only one theme available, Napili. This was great because it was a simple responsive theme with a few customisable options. Continue reading “More ‘Out of the box’ Community Themes”
Lightning Experience Configuration Converter
Looking to migrate from Salesforce Classic to Lightning Experience? A new tool from Salesforce could help speed this along for you. Continue reading “Lightning Experience Configuration Converter”
Randomness and Oblique Strategies to aid problem solving
In development, or any creative pursuit, we all get stuck. The trick is to know how to get unstuck, without just staring at a blank page. Continue reading “Randomness and Oblique Strategies to aid problem solving”
Patterns in Apex: Dependency Injection, Strategy, and Decorator
When you start out in Salesforce development, there seems to be little need for software design patterns. Perhaps because development starts with little triggers doing this and that in a few lines of code. But, as soon as the requirements, codebase, and team-size grow, then the advantages of patterns and other software engineering practices kick in. Continue reading “Patterns in Apex: Dependency Injection, Strategy, and Decorator”
How Variable Types Operate in the Lightning Component Framework
Attributes in a Lightning Component have declared types. But, with few exceptions, the type you use has never seemed to make much difference. Continue reading “How Variable Types Operate in the Lightning Component Framework”
Salesforce Trigger Handlers Driven by Custom Metadata
Salesforce has a number of recommendations regarding best practice when writing Apex triggers. Two of these recommendations are:
Continue reading “Salesforce Trigger Handlers Driven by Custom Metadata”
Never mind the half-baked solution, what was the problem? (The X Y Problem)
As a consultant, and as a developer, one of the most useful things you can do is to take a step back. If someone asks you a question about a detail of a solution they are working on, it’s often worth finding out what problem they were originally trying to solve. Continue reading “Never mind the half-baked solution, what was the problem? (The X Y Problem)”