When I started with Salesforce, clicks not code was the mantra – which I got on with nicely.
A configuration lead approach means quick turnaround and admin maintainability, since Salesforce has done a lot of the initial legwork for you.
Lightning has and continues to push this approach forward – allowing even more customisation to pages and UI.
For myself at the time, code was something to be feared, parcelled off to developers with a brief, returned, tested and deployed.
This lead to coded solutions being very rigid, and configuration solutions covering areas way beyond the scale they were meant to, there was a clear divide with code only being used to pick up the slack where config hits limitations.
Often did we see ‘Too Many SOQL Queries’ or have issues where Flows UI didn’t quite live up to expectations. Ways had to find ways to work around these – for keeping that maintainability that code can appear to take away.
Not so anymore – Salesforce has, over the years, been pushing new features to try and break down this barrier – and allow the mixing of both config and code, to provide more scalable, but still the admin manageable solutions.
The starting point on this journey for myself was Flow - a fantastic tool for allowing admins to move past the limits of process builder for sure – but still stuck with its own set of limitations that can lead to poor practice or solutions that run fowl of limits in Flows with interfaces the ‘screen’ part is often a let-down with limited options to make a user-friendly interface.
The example that springs to mind is the way Flow handles multiple records (or doesn’t). If you want the user to select one or many records from a list – you have to use a drop-down or multi-select – which isn’t really the best user experience and is often confusing to the end-user.
Salesforce usually offers some form of a table to handle this (think Duplicate Merging, list views, etc) so why doesn’t Flow?
After seeing the same issue appear time and time again I found myself asking the question ‘how does one work past these common issues?’
They come up time and time again, and replacing the whole flow with a Lightning web component or Aura component seems like a lot of wasted time, to solve one or two small issues as Flow can do 90% of what it needs to.
After a good deal of poking around on the web and chatting to our resident developer, we discovered that Lightning Components could be added to flow screens – great, that solves my problem! And, as it turns out, many more.
The Flow Datatable has found its way into so many projects since and has been iterated on several times since as requirements arise.
From then on, we started developing small components that could supplement Flow – and, as Flow can provide these components with data, and then the components feed whatever they do back out to Flow, the components could be nearly completely re-usable.
For me, this impacted the way I tackled problems completely – now, I didn’t have to think about IF a problem could be solved through configuration – it became a question of SHOULD a problem be solved by configuration and if so, could it be improved by code.
Likewise, it gives me a toolset I can work with – need multiple records to be displayed at once? Great, use the data table. Need to work out the difference in time taking into account working hours – fantastic, there’s an Apex action for that.
For any consultant or internal admin, this is a load off – and can lead to better solutions that don’t push the config to its limit.
Most importantly, it’s broken down some of that border between developers and admins – I now know what my developers need input/output wise, and have learned a lot more about terms/language that works for them – meaning I get exactly what I want.
Likewise, it allowed developers to get more involved in configuration – as opposed to writing it off as inefficient or limited. This to me is the most valuable takeaway of all.
In this post, we go over an edge case that exemplifies why API names in Salesforce matter and what can happen if they are not properly used. Hint: it can easily block your deployments.
Still entering manual notes after phone calls? Our partner Aircall offers the best solution for cloud telephony with Salesforce. We can advise you on the best setup and strategy. Want to know more? Read this article and start your free trial and reach out to us for more support.
You may have heard about the Log4j2 vulnerability that has been resolved recently for the Salesforce products. To better understand the severity of this issue, It is suggested that this vulnerability has impacted almost 1 million exploits.
According to Salesforce, MFA is going to take effect on February 1, 2022. It will be required for all single-sign-on SSO logins and logins through the user interface, and you can turn it on directly in your Salesforce products or use your SSO provider’s MFA service. Read more here.
Salesforce Functions are code you can run on demand which can be useful for resource intensive processing and automation tasks which you can hand over to functions which can offer an alternative to using Heroku or additional middleware.