Salesforce Custom Convert Lead Page and Lead Conversion Process Using Visualforce and Apex

There are a number of “Black Box” processes in Salesforce that are essentially hardcoded functions that you have little or no control over. The out-of-the-box Lead Conversion process is one of these Black Box processes – when you click the standard ‘Convert’ button from a Lead record, you get redirected to a page called leadconvert.jsp.

While the standard page used for lead conversion is good enough most of the time for most customers, you may eventually find yourself asking, “How do I customize the Convert Lead screen? Data Modeling: The Advantages of Denormalization – Dreamforce ’13 Session Highlights

I recently had the opportunity to deliver my presentation Data Modeling: The Advantages of Denormalization to a sold out room at Dreamforce ’13. Based on the enthusiastic response and the feedback we received following the presentation about the lack of resources available on Salesforce Platform data modeling, I wanted to post highlights from the session here to give the community a starting point when thinking about designing a Salesforce data model. The session was inspired by a post entitled Data Modeling – Normalization is Not Your Friend that we published on this blog in 2010.

Create a Custom ‘New’ Button on a Related List to Return to the Parent Record After Clicking Save

Use Case

In Salesforce, when you click on the standard ‘New’ button on a Related List to create a new record on the child object from the record currently in context in a Detail Page, after you click ‘Save’ and save the new record, it returns you to the Detail Page for the newly created record by default. For parent-child object relationships that have high levels of data entry on the child object, this creates a user experience issue as the user will have to click on the link to the parent record in order to return to the Detail Page to continue adding child records or perform additional functions on the parent record.

Create a Custom Web Form Handler With Sites

No doubt you’ve run into this also…we needed a form handler that captured data for sObjects other than Cases or Leads (e.g. custom objects), we did not want to redirect visitors to a new page upon form submission, and our functional requirements were more complex than what the standard Salesforce form handlers could support. The standard Salesforce Web-to-Lead and Web-to-Case form handlers were not an option, so we had to create our own custom web form handler. And because we wanted to keep everything on, we decided to build this solution using VisualForce pages and an Apex controller served by Sites. We developed an alternative solution and wanted to share it with the community in the event it could help others.

Render VisualForce Components Dynamically Based on Object Level Security

We recently came across an interesting situation that I’m sure many developers have faced at one point or another:  While using VisualForce with standard controllers in the context of a single object gives you access to a fair number of useful standard components exposed by the platform, when you venture beyond the single object or require functionality beyond what the platform gives you “out-of-the-box,” the custom code can pile up fast.