If you have been programming on the Salesforce/Force.com platform for any amount of time I’m sure you have come into contact with Apex Triggers. If not, Apex Triggers are units of code that execute whenever a database operation occurs. I’ve put together a post about Before and After Triggers that you should read if you aren’t very familiar with how triggers work.
Apex Triggers can get complicated very fast if your company has a very customized Salesforce Org. Apex Trigger Frameworks are a way of offering generic functionality that structures code in a certain way. If you were to use a building metaphor we could say that a framework is the supporting structure of the building – it’s the steel or wood shell that supports the building. Trigger Frameworks are very good at enforcing trigger best practices. Continue reading
As a software developer, it’s really important to take time and improve your programming skills by learning new technologies and techniques. By constantly trying to improve as a developer there’s potential to become a highly sought after developer. Continue reading
An approval process is process that is used to approve records going into Salesforce or being modified within Salesforce. Approval processes are commonly used in companies that are publicly traded or highly regulated. Having a knowledge of how setup Approval Processes in Salesforce and how to modify them is incredibly valuable if you plan to work in finance, or government. Continue reading
Salesforce supports basically two types of clones a clone and a deep clone. We’ll go over how to notice the difference later in this post and of course how to create both types. Of course, there will also be some example code on how to create both types of clones. Continue reading
In Salesforce, quotes are a representation of prices that have been proposed to a customer for products or services. If you aren’t familiar with opportunities, quotes and products please review my post about Designing a Sales Process in Salesforce.
An opportunity may have lots of quotes associated to it but only one quote may be synced to an opportunity at a time. Quote syncing links a quote a specific opportunity which allows updates to update between the Opportunity and Quote. Basically, when an Opportunity is added or removed it can be removed from the list of Opportunity Products without having to write any code. Keep in mind that this means Opportunity Products will be automatically removed and readded. I have been confused a few times by this. Continue reading
Salesforce is an incredibly popular product and has a pretty large following in the technical community. Salesforce Administrators, Business Analysts, Developers, and Architects are constantly being required. There’s a lot reasons to consider starting a career in Salesforce development. Continue reading
Apex Triggers are very powerful and are easily one of the most important parts of Salesforce because they significantly impact all database operations (inserts, updates, deletes, etc. ) With this incredible power and flexibility there’s a lot of room for problems. In my career as a Salesforce developer, I’ve looked at hundreds of different apex triggers and realized there are a lot of points of failure with apex triggers. This post is a very high level list of best practices and why they are important for apex triggers.
Salesforce’s multi-select picklist seems like a great fieldtype, but it has an incredible amount of limitations. I strongly recommend avoiding multi-select picklists in Salesforce. I’ve learned this and suffered a lot after incorrectly deciding to use them instead of using a bunch of checkboxes. Continue reading
Salesforce has a few different types of APIs that they support that can be used for many different purposes.For example, there’s an API called the Tooling API which is useful for manipulating apex, running tests, or etc. Continue reading
It’s no secret, that Salesforce programmers are huge fans of collections like lists, sets, and maps because they allow for much more efficient queries. I’ve decided to put together a post about how to use the Like Operator in SOQl and how to use it with Lists and Sets. Continue reading
Before a company can list an application on the Salesforce AppExchange, the company needs to go through the Salesforce Security Review process. Continue reading
Overtime, it’s easy for a Salesforce org to accumulate duplicate Leads, Contacts, Accounts and of course Opportunities. Duplicate data usually means that there’s some bad practices in your sales process or that staff aren’t checking to see if a contact or lead already exists. Companies rarely spend a lot of their time focusing on the data and how clean it is within their systems, but data can be a huge asset when making business decisions. Bad or duplicate data can result in a lot of time wasted by sales staff. Continue reading
Sending Emails from Salesforce is pretty easily implemented using Salesforce and the Email Templates. I strongly recommend using Email Templates over visualforce emails and hardcoding text emails within the source code because making changes can be really time consuming otherwise. Of course, there are times when it makes sense to use visualforce emails or hardcoding text emails but these exceptions should not be the norm. Continue reading
I thought a lot about whether I should make a post about common Salesforce Interview Questions. Continue reading
One of the most important parts of the Software Development Life Cycle (SDLC) is the the deployment process. In Salesforce, deployments aren’t really much more than copying metadata from one Salesforce organization to another. Salesforce has a few different deployment methods. Continue reading
Let’s face it, marketing automation is really expensive. Pardot is a marketing automation tool that is owned by Salesforce. Companies everywhere need to drive ROI out of all their purchases, this post is focused on Getting the Most ROI Out of Pardot. Continue reading
Global Picklists solve a really frustrating problem for Salesforce Administrators. Previously, if you wanted multiple fields to have the same values you had to make sure you always updated both fields when you wanted to add or delete values. Continue reading
In Salesforce, whenever Apex and triggers are deployed all of the apex tests are run as part of the deployment process. In an org with a lot of test classes and customizations it can take a really long time to run the tests which will increase the amount of time it takes for deployments. Continue reading