Professional Documents
Culture Documents
Study Guide
Spring 10
Contents
About the Force.com Certification Program ................................................................................. 1
Section 1.
Section 2.
Section 3.
Section 4.
Section 5.
Exam Outline.............................................................................................................. 3
Section 6.
Section 7.
Section 8.
Section 9.
Section 9-1.
Section 9-2.
Section 9-3.
Section 9-4.
Section 9-5.
Section 9-6.
Section 9-7.
Section 9-8.
Section 9-9.
The Salesforce.com Certified Force.com Developer certification exam encompasses the declarative
capabilities of the Force.com platform. To achieve this credential, a candidate must successfully
complete the exam. This exam is a prerequisite to the Salesforce.com Certified Force.com
Advanced Developer exam.
::
The Salesforce.com Certified Force.com Advanced Developer exam: A multiplechoice/multiple-select proctored exam. This portion of the credential program must be passed
successfully to move on to the next portion: the programming assignment.
2.
3.
The Advanced Developer essay exam: Upon submission of the programming assignment, the
candidate will be required to complete a short-answer proctored exam that covers the specifics
of the programming assignment. The candidate will need to go to a testing center and
complete the essay exam. The essay exam, in combination with the programming assignment,
will be evaluated and scored as the final portion of the Salesforce.com Certified Force.com
Advanced Developer certification program.
May not necessarily manage or configure a standard Salesforce CRM application, but has
experience with the Salesforce user interface and data model
::
Has broad knowledge of the declarative functionality of the Force.com platform, can describe
various use cases for this functionality, and can use this functionality to create applications using
the standard Salesforce interface
::
Has a good understanding of the capabilities of the declarative functionality and can identify what
application design specifications require the use of Apex or Visualforce
::
::
::
Has invested time in studying the materials from the course and the additional required study
materials provided by salesforce.com
A candidate for this exam is not expected to be able to develop code using the Apex programming language,
administer any standard Salesforce CRM application, or use the Force.com IDE or Force.com API.
Additionally, candidates are not expected to be able to package or migrate applications.
::
::
::
::
Building Applications with Force.com and Visualforce (DEV 401). To register, go to:
www.salesforce.com/training
::
Weighting
5%
5%
32%
15%
23%
10%
10%
Within a custom recruiting application, Universal Containers uses a custom position object to track
positions. Positions expire 90 days after they have been approved. A Workflow Rule is in place to send
an email to the hiring manager listed on a position 15 days before the expiration date.
What will happen if the expiration date of a position is extended by 30 days?
A.
B.
C.
D.
2.
A developer wants to ensure that when a parent record is deleted, child records are not deleted. Which
relationship should the developer choose?
A.
B.
C.
D.
3.
5.
lookup
master-detail
many-to-many
master-to-master
4.
A group of executives has requested a convenient way to see daily metrics without having to log in to
Salesforce.
How would a developer accomplish this goal?
A.
B.
C.
D.
2.
3.
4.
A, C
5.
S ec tion 9-1.
T he C ons ole
The console is a tab that combines a list view and related records into one screen with different frames so
users have all the information they need when interacting with Salesforce. With the console, users can
quickly find, view, and edit records such as cases, accounts, and contacts with fewer clicks and without
switching back and forth between screens. Administrators choose the information displayed in the console to
accommodate users varied and evolving business needs.
Console layouts define what objects are available to users in the consoles list view frame. For example, if
you want users to see list views of cases and contacts in the console, then you would add both cases and
contacts to a console layout, and then assign that console layout to the appropriate user profiles. A user can
only view objects in the consoles list view frame if those objects are added to the console layout to which his
or her profile is assigned.
From the console layouts list page, accessed by clicking Setup | Customize | Console | Console
Layouts, you can:
::
::
::
::
Account
::
Opportunity
::
Contact
::
Lead
::
Case
::
Task
::
Event
::
Custom Objects
To enable this feature, please contact Salesforce.com Support. Once the feature is enabled, youll be able to
set these fields when creating the record. Because these fields are intended to be audit fields, youll only be
able to set them on create, not update. Also, if this feature is enabled, salesforce.com cant guarantee that the
records will have the correct data in these audit fields because they can be set on create.
In general, salesforce.com recommends that this feature only be enabled while youre doing data migration.
In certain cases (such as routinely copying new data from an external system to Salesforce) this feature can
be enabled permanently. The feature must be enabled by Salesforce.com Support and requested by an
administrator in the organization.
Encrypted fields are encrypted with 128-bit keys and use the AES (Advanced Encryption Standard)
algorithm.
::
Encrypted custom fields cant be unique, have an external ID, or have default values.
::
Although other text fields can contain up to 255 characters, encrypted text fields are limited to 175
characters due to the extra space needed for the encryption algorithm.
::
Encrypted fields arent available for use in filters such as list views, reports, roll-up summary
fields, and rule filters.
::
Encrypted fields cant be used to define report criteria, but they can be included in report results.
::
Encrypted fields arent searchable, but they can be included in search results.
::
Encrypted fields arent available in the following: Salesforce CRM Mobile, Force.com Connect for
Outlook, Force.com Connect for Lotus Notes, Force.com Connect Offline, lead conversion,
workflow rule criteria or formulas, formula fields, outbound messages, default values, and Web-toLead and Web-to-Case forms.
::
You can use encrypted fields in email templates; however, the value is always masked regardless of
whether you have the View Encrypted Data permission.
::
If youve created encrypted custom fields, make sure your organization has secure connections
using SSL (Secure Sockets Layer) enabled. To enable this setting for your organization, see
Setting Session Security.
::
If you have the View Encrypted Data permission and you grant login access to another user, be
aware that the other user will be able to see encrypted fields unmasked (in plain text). To avoid this
possibility, first clone your profile and remove the View Encrypted Data permission from the
cloned profile, then assign yourself to the cloned profile before granting login access to the other
user. If you dont have the appropriate permissions to clone and change your profile, contact your
administrator for assistance.
::
Only users with the View Encrypted Data permission can clone the value of an encrypted field
when cloning that record.
Best Practices
Encrypted fields are editable regardless of whether the user has the View Encrypted Data permission. Use
validation rules, field-level security settings, or page layout settings to prevent users from editing encrypted
fields.
You can still validate the values of encrypted fields using validation rules or Apex scripts. Both work
regardless of whether the user has the View Encrypted Data permission. Data for encrypted fields in the
Debug Log is masked.
Existing custom fields cant be converted into encrypted fields nor can encrypted fields be converted into
another data type. To encrypt the values of an existing (unencrypted) field, export the data, create an
encrypted custom field to store that data, and import that data into the new encrypted field.
Mask Type is not an input mask that ensures the data matches the Mask Type. Use validation rules to ensure
that the data entered matches the Mask Type selected.
Use encrypted custom fields only when government regulations require it because they involve additional
processing and have search-related limitations.
Show Task Email Notification This checkbox controls whether the Send Notification Email
checkbox displays when users create or edit a task.
::
Select Task Email Notification This checkbox by default controls whether the Send Notification
Email checkbox is selected by default when users create or edit a task. Note that a users personal
preference for defaulting the state of the checkbox takes precedence over the organization-wide
setting. For more information, see Creating Tasks.
Page layouts for the user object only include custom fields, custom links, S-controls, and Visualforce pages.
Tagging, related lists, custom buttons, and standard field customizations are not included on page layouts for
the user object. Also, field-level security is only available for custom fields on the user object.
You can define mini page layouts for the user object; however, you cant add standard fields or related lists.
Also, a customized mini page layout will not display in the console. For more information, see Defining
Mini Page Layouts.
In the organization-wide import wizards for accounts, contacts, and leads, administrators have access to
import into any field, even if a field is hidden or read-only in their page layout or field-level security settings.
Individual users can import only into the fields that are accessible to them via their page layout or field-level
security settings.
In Personal, Group, and Professional Editions, page layouts control which fields users can access in related
lists, list views, reports, Force.com Connect Offline, email and mail merge templates, custom links, and when
synchronizing data. In Enterprise, Unlimited, and Developer Editions, this access is controlled by field-level
security.
For information on setting which fields display for users in search results, see Customizing Search Layouts.
In Professional, Enterprise, Unlimited, and Developer Editions, individual users can customize which tabs
and related lists display for their personal use. For more information, see Customizing Your Display.
When editing a person account page layout:
::
If you add Shipping Address next to Billing Address in the Address Information section, a link will
display on the person account edit page that lets you copy the billing address to the shipping
address. Also, an equivalent link appears if you add Other Address to the Address Information
section.
::
Contact fields and related lists are available on person account page layouts. However, contact
custom links and custom buttons arent available.
You can only move some items to certain sections on the page layout. For example, you can drag a custom
S-control to any field section on the page layout, but not to a Related List Section or Button Section.
Create the appropriate buttons before editing your page layout. For example, create an account custom button
for the detail page and a contact custom list button before putting them both on an account page layout. For
implementation tips and best practices on custom buttons, see Custom Button Considerations.
If you use the original page layout editor to view a page layout that was created in the new page layout editor,
the original page layout editor will show any blank spaces you added. You cant move or add blank spaces in
the original page layout editor, but you can remove them by dragging them to the box on the right.
Create custom user interfaces (UIs) that easily leverage standard Salesforce styles
::
::
Build wizards and other navigation patterns that use data-specific rules for optimal, efficient
application interaction
Visualforce is a framework that lets developers build sophisticated, custom UIs that can be hosted natively on
the Force.com platform. The Visualforce framework includes a tag-based markup language similar to HTML.
In the Visualforce markup language, each Visualforce tag corresponds to a coarse or fine-grained user
interface component, such as a section of a page, a related list, or a field. The behavior of Visualforce
components can either be controlled by the same logic used in standard Salesforce pages, or developers can
associate their own logic with a controller class written in Apex.
What is a Visualforce page?
Developers can use Visualforce to create a Visualforce page definition. A page definition consists of two
primary elements:
::
Visualforce markup
::
A Visualforce controller
Visualforce Markup
Visualforce markup consists of Visualforce tags, HTML, JavaScript, or any other Web-enabled code
embedded within a single <apex:page> tag. The markup defines the UI components that should be included
on the page and the way they should appear.
Visualforce Controllers
A Visualforce controller is a set of instructions that specify what happens when a user interacts with the
components specified in associated Visualforce markup, such as when a user clicks a button or link.
Controllers also provide access to the data that should be displayed in a page and can modify component
behavior.
A developer can either use a standard controller provided by the Force.com platform or add custom controller
logic with a class written in Apex:
::
A standard controller consists of the same functionality and logic used for a standard Salesforce
page. For example, if you use the standard Accounts controller, clicking a Save button in a
Visualforce page results in the same behavior as clicking Save on a standard Account edit page.
::
A custom controller is a class written in Apex that implements all of a pages logic, without
leveraging a standard controller. If you use a custom controller, you can define new navigation
elements or behaviors, but you must also reimplement any functionality that was already provided
in a standard controller.
Like other Apex classes, custom controllers execute entirely in system mode, in which the object
and field-level permissions of the current user are ignored. You can specify whether a user can
execute methods in a custom controller based on the users profile.
::
A controller extension is a class written in Apex that adds to or overrides behavior in a standard or
custom controller. Extensions let you leverage the functionality of another controller while adding
your own custom logic.
Because standard controllers execute in user modein which the permissions, field-level security, and
sharing rules of the current user are enforcedextending a standard controller lets you build a Visualforce
page that respects user permissions. Although the extension class executes in system mode, the standard
controller executes in user mode. As with custom controllers, you can specify whether a user can execute
methods in a controller extension based on the users profile.
Where can Visualforce pages be used?
Developers can use Visualforce pages in ways similar to S-controls to:
::
Override standard buttons, such as the New button for accounts or the Save button for contacts
::
Override tab overview pages, such as the Accounts tab home page
::
::
Embed components in detail page layouts, similar to the way inline S-controls can be embedded
A class A template or blueprint from which developers can create Apex objects. Classes consist
of other classes, user-defined methods, variables, exception types, and static initialization code
under Setup | Develop | Apex Classes.
2.
A trigger An Apex script that executes before or after specific data manipulation language
(DML) events occur, such as before object records are inserted into the database or after records
have been deleted. Triggers are stored as metadata in Salesforce at Setup | Customize |
Standard_Object_Name | Triggers for standard objects and on the object detail page for
custom objects at Setup | Create | Objects.
Apex scripts generally run in system context; that is, the current users profile-based permissions, field-level
security, and sharing rules are not taken into account during script execution.
The Data Loader is a client application for the bulk import or export of data. Use it to insert, update, delete,
or extract Salesforce records.
When importing data, the Data Loader reads, extracts, and loads data from comma separated values (CSV)
files. When exporting data, it outputs CSV files.
The Data Loader complements the Web-based import wizards that are accessible from the Setup menu in the
online application. Refer to the following guidelines to determine which method of importing best suits your
business needs:
Use the Data Loader when:
::
::
You need to load into an object that isnt yet supported by Web-based importing
::
::
::
::
The object you need to import is supported by the Web-based import wizards
::
You want to prevent duplicates by uploading records according to account name and site, contact
email address, or lead email address
2.
3.
The Solution with Record Type ID 50130000000L7s5 will be accessible in the Sandbox org as
well.
10
S ec tion 9-11.
P roc es s V is ualizer
::
Improve communication about the approval process and gain buy-in from step owners
::
Reinforce your companys policies by documenting the decisions you reached when the approval
process was designed
::
Print an annotated version of the approval process, where numbers added to the diagram
correspond to details in a table, which is included in the printable view
::
Share approval process diagrams by saving annotated versions as PDF files (requires an Adobe
PDF print driver)
::
Help you quickly locate key details by searching multi-step or complex diagrams for matching text
::
The specific actions to take when a record is approved, rejected, recalled, or first submitted for
approval
SG_CertifiedDeveloper_Spring10_2010-04-07