Apex and Visualforce - build your imagination in Salesforce
Have you ever logged into Salesforce and wondered if there was any way to make the most important components ‘prettier’? Do you want to update values from multiple objects all in one clean interface? Would you like to enable complex, dependent task and email triggers? If so, it is likely you will need to leverage Apex coding and/or Visualforce pages.
You may have heard of Apex and Visualforce while chatting with a developer or your Salesforce consulting firm. Perhaps you nodded along without fully understanding the terms. Don’t worry, you’re not alone. They’re complicated concepts that require specialized skills. Apex enables developers to write triggers, controllers, and other features into your instance of Salesforce, allowing for customization on the back end. Similarly, Visualforce enables optimization of the user interface (UI)--or customization on the front end. These tools can be difficult to understand and are riddled with misconceptions, so let’s think about them in terms we can all understand…Legos!
Let’s start with the basics
Native Objects: Once Salesforce is set up and installed, you have access to a wide variety of native objects, and can rename/configure/connect/construct these objects to your heart’s content. Think of native objects as the standard Legos you can purchase from any store. There are any number of shapes you can build, and any number of business processes you can facilitate with native objects, as long as you’re following along with the foundational structure of Salesforce.
Managed Packages: If you decide to layer Salesforce with a managed package like the Nonprofit Starter Pack or NGO Connect, it’s like you’re receiving a Lego kit with specific instructions about how to build out your Salesforce instance. Depending on the complexity of your system, your business processes, and whether or not you’ve used Salesforce before, the setup will most likely require the support of a Salesforce consulting firm. If you’ve never played with Legos before, or if you’ve only built island huts and now you’re working on a medieval castle, it makes sense that you would need help. With a managed package, you still have the ability to customize and align the system to your business process, however, there will be restrictions to what you can do depending on how objects and components are prebuilt with the package.
Enhancing your construction and customization
Custom pieces: Let’s say you’ve gone through the entire process of constructing a Salesforce instance, and everyone in your organization is actively using it. It’s normal to discover obstacles to success or barriers to efficiency. Maybe you’d like to simultaneously trigger 5 different emails to 10 different people or 4 tasks to 3 people upon one status change. Both sets of requirements exceed the built-in capacities of Salesforce. In these instances, you will need to leverage Apex coding and/or Visualforce pages.
*There are plenty of scenarios that might require customization - these are just a few examples.
Sticking with our metaphor, Apex coding and/or Visualforce pages are Lego pieces you can custom order (i.e. 6 sided pieces, or a 43 block piece) to facilitate a unique, specific function. These custom pieces may fit precisely the way you need them to, but if you need to change them, you will need the help of a developer. Apex coding is a great way to allow for increased automation and more attractive pages in Salesforce.
The sky is the limit; both Legos and Salesforce are incredible platforms because you can build anything you can imagine. Check out some awesome examples of some custom Salesforce pages using Apex and Visualforce here. If you need a system that is specifically tailored to your organizational needs or a page that needs to look a specific way for your audience, Apex and Visualforce can make it happen.
WARNING! Choking hazards and sticker shock: Have you ever purchased a fancy Lego package? They’re definitely not giving them away for free. It’s important to remember that there may be a significant investment required for using Apex.If you do find an instance where you need Apex coding or Visualforce to facilitate particular processes, you should spend some time considering the cost/benefit analysis of using Apex and discuss alternative approaches with your consultant. If you have custom code associated with your processes, any changes in your process will require changes to the code, which can be tricky and expensive.
Do you have questions about customization? Would you like to chat Apex, Visualforce, or other ways of optimizing your instance of Salesforce?