Sign In Start Free Trial
Account

Add to playlist

Create a Playlist

Modal Close icon
You need to login to use this feature.
  • Book Overview & Buying Visualforce Development Cookbook
  • Table Of Contents Toc
Visualforce Development Cookbook

Visualforce Development Cookbook - Second Edition

By : Keir Bowden
4.9 (8)
close
close
Visualforce Development Cookbook

Visualforce Development Cookbook

4.9 (8)
By: Keir Bowden

Overview of this book

Visualforce is a framework that allows developers to build sophisticated, custom user interfaces that can be hosted natively on the Force.com platform. The Visualforce framework includes a tag-based markup language, similar to HTML that is used to write the Visualforce pages and a set of controllers that are used to write business logic to the Visualforce pages. Visualforce Development Cookbook provides solutions to a variety of challenges faced by Salesforce developers and demonstrates how easy it is to build rich, interactive pages using Visualforce. Whether you are looking to make a minor addition to the standard page functionality or override it completely, this book will provide you with the help you require throughout. You will start by learning about the simple utilities and will build up to more advanced techniques for data visualization and to reuse functionality. You will learn how to perform various tasks such as creating multiple records from a single page, visualizing data as charts, using JavaScript to enhance client-side functionality, building a public website, and making data available to a mobile device. With an interesting chapter on tackling common issues faced while developing Visualforce pages, the book provides lots of practical examples to enhance and extend your Salesforce user interface.
Table of Contents (11 chapters)
close
close

Adding a launch page

When a Visualforce page is deployed to production, only users whose profiles have been given access via the security settings will be able to access the page. Any user with a profile that does not have access will receive an Insufficient Privileges error, which is not a good experience and can lead users to think that the page is crashing.

A better solution is to check whether the user has access to the page and if they do not, present a user-friendly message that explains the situation and directs them to where they can get more help.

In this recipe, we will create a launch page accessible to all profiles that checks whether the user has access to the protected page. If the user has access, they will be transferred to the protected page, while if they don't, they will receive an explanatory message.

How to do it...

This recipe requires a second user login. Ensure that this is not created with the System Administrator profile, as that profile has access to all Visualforce pages regardless of the security settings:

  1. Navigate to the Visualforce setup page by clicking on Your Name|Setup|Develop|Visualforce Pages.
  2. Click on the New button.
  3. Enter ProtectedContent in the Label field.
  4. Accept the default ProtectedContent that is automatically generated for the Name field.
  5. Paste the contents of the ProtectedContent.page file from the code download into the Visualforce Markup area.
  6. Click on the Save button to save the page.
  7. Navigate to the Visualforce setup page by clicking on Your Name|Setup|Develop|Visualforce Pages.
  8. Locate the entry for the ProtectedContent page and click on the Security link.
  9. On the resulting page, ensure that the profile of your second user does not have access to the ProtectedContent page.
  10. Log in using your second user credentials and attempt to access any account record. You will receive an error message, as shown in the following screenshot:
    How to do it...
  11. Next, create the launch page controller by navigating to the Apex Classes setup page, clicking on Your Name|Setup|Develop|Apex Classes.
  12. Click on the New button.
  13. Paste the contents of the LaunchController.cls Apex class from the code download into the Apex Class area.
  14. Click on the Save button.
  15. Navigate to the Visualforce setup page by clicking on Your Name|Setup|Develop|Visualforce Pages.
  16. Click on the New button.
  17. Enter Launch in the Label field.
  18. Accept the default Launch that is automatically generated for the Name field.
  19. Paste the contents of the Launch.page file from the code download into the Visualforce Markup area.
  20. Click on the Save button to save the page.
  21. Navigate to the Visualforce setup page by clicking on Your Name|Setup|Develop|Visualforce Pages.
  22. Locate the entry for the Setup page and click on the Security link.
  23. On the resulting page, give access to all of the profiles and click on the Save button.

How it works...

Log in using your second user credentials and open the following URL in your browser: https://<instance>/apex/Launch.

Here, <instance> is the Salesforce instance specific to your organization, for example, na6.salesforce.com.

The resulting page displays a friendly error message announcing that your user does not have access to the page, and renders a clickable link to request access.

How it works...

The Launch page declaration contains an action attribute:

<apex:page controller="LaunchController" action="{!allowAccess}"> 

This invokes the allowAccess action method in the controller before the page is rendered:

public PageReference allowAccess() 
{ 
   PageReference pr=Page.ProtectedContent; 
   try 
   { 
       pr.getContent(); 
         } 
   catch (Exception e) 
   { 
       pr=null; 
   } 
         
   return pr; 
} 

The allowAccess method attempts to retrieve the contents of the protected page programmatically. If the contents are retrieved successfully, it returns the page reference for the Protected page, which redirects the user to that page. If an exception occurs, the method returns null, which leaves the user on the Launch page and displays the friendly error message.

CONTINUE READING
83
Tech Concepts
36
Programming languages
73
Tech Tools
Icon Unlimited access to the largest independent learning library in tech of over 8,000 expert-authored tech books and videos.
Icon Innovative learning tools, including AI book assistants, code context explainers, and text-to-speech.
Icon 50+ new titles added per month and exclusive early access to books as they are being written.
Visualforce Development Cookbook
notes
bookmark Notes and Bookmarks search Search in title playlist Add to playlist download Download options font-size Font size

Change the font size

margin-width Margin width

Change margin width

day-mode Day/Sepia/Night Modes

Change background colour

Close icon Search
Country selected

Close icon Your notes and bookmarks

Confirmation

Modal Close icon
claim successful

Buy this book with your credits?

Modal Close icon
Are you sure you want to buy this book with one of your credits?
Close
YES, BUY

Submit Your Feedback

Modal Close icon
Modal Close icon
Modal Close icon