Home > Salesforce > Salesforce Spring ’13 Developer Release Exam Notes

Salesforce Spring ’13 Developer Release Exam Notes

I just passed the Salesforce Spring ’13 Developer Release Exam.

Training videos are usually provided the same way as for the admin part, but this time we got a specific developer resources page for the Spring ’13 updates instead.

I prepared by reading all topics on this page and listening to the Spring ’13 Release Developer Preview Webinar. Do this and perhaps take advantage of my notes and you’ll do fine. Just make sure you got all the basics with the Salesforce.com data- and sharing model covered.

  • Recommended from Salesforce is also to review the Force.com Multitenant Architecture White paper.
  • Review the document topics listed below (search Salesforce Help):
    • Overview of Object Relationships
    • Considerations for Relationships
    • Creating Custom Object Sharing Rules
    • Criteria-Based Sharing Rules Overview
    • Securing Data Access
    • Overview of Sharing Settings
    • Setting Your Organization-Wide Sharing Defaults



Bulk API
Compressed Reponses:
You can now request gzip-compressed responses from Bulk API, which reduces network traffic and improves response time.

Metadata API
Organization Settings Changes:
In Spring ‘13, several Metadata API types have been updated or added to improve support for organization settings. For the declarative file-based API, all organization settings types are accessed via the Settings name and setting component member.Each organization settings component gets stored in a single file in the settings directory of the corresponding package directory.

Streaming API
Tasks Supported:
Tasks are now supported in PushTopic queries.

Increased Limits for Unlimited and Enterprise Edition Organizations:
Streaming API now has increased limits for Unlimited Edition and Enterprise Edition organizations


  • With Force.com Canvas you can develop in the language of your choice and easily surface the app inside of Salesforce. The app can be inside your firewall, living on Heroku, in SAP or basically anywhere.
  • Lightweight and easy-to-use JavaScript libraries allow your app to authenticate and communicate without having to deal with cross-domain network issues. This provides your users with a single command center to drive all their apps.
  • Force.com Canvas allows you to authenticate by using OAuth 2.0 or a signed request. This means that your app can connect to Salesforce at a data layer while remaining seamless for users.
  • Developers: Create your app and allow your customers to install it with a single click. Administrators: Easily install apps from developers and quickly manage who in your org can use the app.
  • The canvas app is within an iframe of the visualforce page
  • The Force.com Canvas SDK is an open-source suite of JavaScript libraries and provides simple methods that use existing Salesforce APIs (SOAP API, REST API, Chatter REST API) so you can build a seamless end-user experience inside of salesforce.com.

Force.com Canvas Limits:
Two new limits:

  • Number of calls per day per user: 5,000.
  • Heroku Quick Start calls per day per user: 100

Support For Internet Explorer Version 8 added:
The full list of supported browsers is:

  • Mozilla® Firefox® (preferred)
  • Google ChromeTM
  • Microsoft® Internet Explorer® version 8
  • Apple® Safari® (be sure to set the Block Cookies setting to Never)

Expose a Canvas App on a Visualforce Page:

  • You can now expose a canvas app on a Visualforce page by using the component. This means you can display a canvas app anywhere you can display a Visualforce page.  I.e. use the standard visualforce component <apex:canvasApp> to surface this app from any custom page.  As before you can also access the canvas apps from the Chatter tab.
  • Use the parameters attribute to pass controller values into your canvas app.
  • Change canvas size
  • Example:
    <apex:page sidebar=”false” showheader=”false” standardController=”Invoice_Statement__c”>
    <apex:canvasApp developerName=”denv_warehouse” parameters=”{‘orderId’ : ‘{!Invoice_Statement__c.Id}’}” />
    </apex:page>where ‘denv_warehouse’ is a connected app.

A Connected App is an application that integrates with salesforce.com using Identity and Data APIs, such as SOAP API or REST API. Connected Apps use the standard OAuth 2.0 protocol to authenticate, provide Single Sign-On, and provide tokens for use with Salesforce APIs. In addition to standard OAuth capabilities, Connected Apps allow Administrators explicit control over who may use the application, and various security policies which should be enforced.

Connected app = API Client
Can be a:

  • Web application (including Force.com canvas)
  • Mobile application

As a developer you publish to an install URL and give out so that admins can use it to bring the app into their org.

Setup -> Administration Setup -> Manage Apps -> Connected Apps

New in API version 27.0, the Tooling API provides SOAP and REST interfaces that allow you to build custom development tools for Force.com applications.

  • Next generation API for building custom development tools
    • REST and SOAP
  • Manage working copies of code artifacts
    • Apex class/triggers, Visualforce Page/Component
  • Manage debug process
    • Trace flags, heap dump markers, Apex Code/SOQL overlays
  • Manage debug artifacts
    • Heap dumps, debug logs

For example, you can:

  • Add features and functionality to your existing Force.com tools.Eg. plugins for development tools
  • Build dynamic modules for Force.com development into your enterprise integration tools.
  • Build specialized development tools for a specific application or service.

The new Progress tab in the Developer Console includes a panel that displays all asynchronous requests in real time. To see only the operations that are in progress, select Hide Finished Runs. To terminate any deployments that haven’t finished, click Cancel All Deployments.

On the Logs tab, select Show My Current Logs Only(previously called This Session Only) to display only logs generated by you since opening the Developer Console. Deselect to see all debug logs saved for your organization, including newly-generated system logs created by other users.

On the Heap Dumps tab, select Show My Current Heap Dumps Only (previously called This Session Only) to display only heap dumps generated by you since opening the Developer Console. Deselect to see all heap dumps saved for your organization, including newly-generated heap dumps created by other users.

Connect in Apex exposes Chatter API resources as objects in Apex. Use classes in the ConnectApi namespace to develop Chatter applications on the Force.com platform without using Apex callouts (HTTP callouts to the chatter api)

  • New and improved methods
  • New feed item templates to make feed items easier to render by defining their layout

TRIGGERS FOR CollaborationGroup AND CollaborationGroupMember
Triggers are now available for CollaborationGroup and CollaborationGroupMember sObjects. You can create the triggers by clicking Your Name > Setup > Customize > Chatter > Triggers, and then selecting CollaborationGroup Triggers or CollaborationGroupMember Triggers.

Starting with Apex code saved using Salesforce.com API version 27.0, the Id field is now writeable on sObject instances for all sObject types—standard objects, custom objects, and generic sObjects—for update operations. The insert operation doesn’t support setting Id fields on sObjects.

This change enables you to update existing records that correspond to sObject instances you already have, such as sObjects you obtained from deserializing JSON input. To do so, set the Id field on the sObjects to IDs of existing records in the database and call update. This call updates the corresponding records with all the other fields that are set on the sObjects.


Invalid URLs Blocked:
This critical update blocks custom links or custom buttons from rendering invalid URLs when their content source is of type URL. It doesn’t affect custom links or custom buttons whose content source is either OnClick JavaScript or Visualforce Page. You can locate the update under Your Name > Setup > App Setup > Critical Updates. Prior to Spring ’13, we rendered all custom link and custom button URLs even those with invalid markup. However, with this update, when you create or edit the URLs, we display an error if the URL is invalid. In the user interface, custom links and buttons defined with invalid URLs display as disabled and show an error message on hover.

Visualforce PDF Rendering Engine Improvements:
This update improves the consistency of how the Visualforce PDF engine processes page resources, such as images and CSS files. Prior to the Spring ’13 release, some images and CSS files would not display properly on Visualforce pages rendered as a PDF document.

Single View State Enhancement:
Decreases Visualforce page size, and improves loading time and rendering efficiency. Prior to the Spring ’13 release, Visualforce pages with more than one form tag would generate multiple copies of the view state in the HTML markup.

  1. July 19, 2013 at 6:29 am

    Hi Niklas,

    I am planning to crack the SFDC Dev 401 exam with in a few days.So please provide the latest material for this exam which you have.The exam will be based on Summer 13 release.

    Thanks & regards,
    Rupam Raut
    Email ID:-rautrupam@gmail.com,rautrupam@hotmail.com

  2. July 29, 2013 at 10:10 am

    Hi Rupam,
    I just created a blog post covering the development parts of the summer ’13 release.
    Enjoy -> https://sfswe.wordpress.com/2013/07/29/salesforce-summer-13-developer-release-exam-notes/

  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: