How Salesforce Developers can Make a Salesforce Admin's Life Easier
A Salesforce administrator is many things; a configurator (yes, this is what Salesforce officially calls them), a business analyst, a requirements expert, and most of all a problem solver. How do Salesforce admins solve problems most of the time, with their brains obviously, but also with clicks and without code. There is a fine line between Salesforce admin and Salesforce developer. As a matter of fact you can be a certified Salesforce developer without writing a single line of code because to develop on the Force.com platform is not just Apex and Visualforce but also understanding of the data model and being able to build custom objects, fields, and formulas along with workflows and validation rules to build some pretty complex applications.
With all that said, there are still the advanced developers out there. The people who dive deep into Apex and Visualforce and make things happen that the average, and even above average, administrator cannot. Complex business logic and batch Apex iterating over millions of records is not something anyone would ask of an admin, yet there are some things that an admin can do with a little help from their advanced developer friends that some people may find surprising. Here are three of my favorite ways that an advanced developer can utilize techniques to help admins flex their own developer muscles.
Using Custom Labels for Text on Visualforce Pages
A lot of development on the Force.com platform involves writing custom user interfaces so that end users have an augmented and often times more pleasent experience entering data into forms. These forms are built using Visualforce, Salesforce’s markup language akin to HTML. Developers can add all sorts of instructional text, labels for fields, and other text based elements to a page to make it easier to use. The best thing that a developer can do to help an administrator out would be to utilize Custom Labels whenever building their Visualforce pages and document the use of them very well. By referencing a custom label instead of hardcoding text values onto a page a developer is doing two things; first, making their code more modular and, more importantly, second, allowing an administrator using clicks and not code to modify the text on a page. Every label is a configurable item that can even include some markup in it to make things bold or underlined.
Using Custom Settings to Control Logic
Using Custom Settings is yet another trick that a developer can use to allow an administrator the ability to modify the most complex of logic. A custom setting is almost like a custom object that has fields and values that are looked up against when running code. An example might be a series of scheduled Apex jobs that need to run nightly. A developer could use a Custom Setting to put in the times that the series of jobs should run as well as any other values that would otherwise be hardcoded into their Apex like who the job should run as or which criteria of records to iterate over. Another example would be pagination on a Visualforce page. A Custom Setting can be utilized to determine how many records to show on one page before paginating to the next page. All of these settings can then be modified by an admin, again with clicks and not code, to change some of the most complex logic in a matter of seconds.
Using Field Sets in Visualforce Pages
This is my favorite handy tool that a developer can utilize to make an admin look and feel like a rockstar. While still technically in beta, Field Sets have been around since Spring ‘11, and are very reliable. Much like our first example of Custom Labels that help to modify Visualforce pages, Field Sets are groupings of Fields on a given object that can be grouped together using configuration yet are displayed as a group on Visualforce pages. Since the Field Set itself is put together using clicks an administrator can drag and drop fields into and out of Field Sets and therefore change what fields are displayed on a Visualforce page really easily. You can even make fields required using a simple page layout like wizard. Field Sets make Visualforce pages much more dynamic and flexible and allow for admins to make tweaks to pages without needing to know how to write a line of code.
These are my top three favorite things that advanced developers can do to make the life of a Salesforce admin much easier. I’m sure there are a few tricks and tips that I left out so let me know what your favorites are by commenting below, on our Facebook page, or hit me up on Twitter @JustEdelstein.