Custom Objects

Most of the work revolves around creating custom objects, there are standard objects provided by the platform but custom objects are the core structure data model that makes your application relevant & useful to your organization.

Custom Objects are the the heart of any application
– provide a structure for storing data
– power the interface elements for users to interact with the data
– store information that is unique and important to your organization
– are reportable and searchable
– have configurable access control features
– has properties such as custom fields, relationships to other objects, page layouts , tabs(optional)

Key Technologies Behind the Platform

  • Multitenant architecture – An application model in which all users and apps share a single, common infrastructure and code base
  • Metadata-driven development model – An app development model that allows apps to be defined as declarative “blueprints,” with no code required. Data models, objects, forms, workflows, and more are defined by metadata.

    NOTE: There is a Metadata API that allows you to directly manipulate the XML that controls the Metadata of your application/organization.

  • Web Services API – An application programming interface that defines a Web service that provides direct access to all data stored in the platform from virtually any programming language and platform
  • Apex – The world’s first on-demand programming language, which runs in the cloud on the platform servers
  • Visualforce – A framework for creating feature-rich user interfaces for apps in the cloud
  • Sites – Public websites and applications that are directly integrated with your organization—without requiring users to log in with a username and password
  • AppExchange directory -A Web directory where hundreds of apps are available to customers to review, demo, comment upon, and/or install. Developers can submit their apps for listing on the AppExchange directory if they want to share them with the community. Understanding the Basics

The applications you build on follows a building block layer logic of MVC(Model-View-Controller). Being able to quickly identify on which building block you are working would help on studying the different exam outline.

From wikipedia.

The model is the domain-specific representation of the data upon which the application operates. Domain logic adds meaning to raw data (for example, calculating whether today is the user’s birthday, or the totals, taxes, and shipping charges for shopping cart items). When a model changes its state, it notifies its associated views so they can be refreshed.

Many applications use a persistent storage mechanism such as a database to store data. MVC does not specifically mention the data access layer because it is understood to be underneath or encapsulated by the model. Models are not data access objects; however, in very simple apps that have little domain logic there is no real distinction to be made. Also, the ActiveRecord is an accepted design pattern which merges domain logic and data access code – a model which knows how to persist itself.

The view renders the model into a form suitable for interaction, typically a user interface element. Multiple views can exist for a single model for different purposes.

The controller receives input and initiates a response by making calls on model objects.

NOTE: What I post for my study preparations here are my own understanding and interpretation which are open for corrections and discussions. So please feel free to comment for corrections, I’m always eager to learn. Certification Study Resource

For starters first go to register at for a free account.

Then download the Fundamentals ebook – This book is intensive and requires a lot of reading. It guides you in building your first application using different kind of relationships, adding security, loading data via excel and alot more. It doesn’t cover some other features in the exam though like Data Loader and salesforce enabled features like multicurrency, audit field, etc.. But never the less a good resource.

I found this website which is a great help if you want to get certified, it’s focus though is on Spring 09 release .
Certified Developer

And before taking the exam a prerequisite is that you have finished the Fundamentals or took the DEV 401 Essentials Training. Good news though is there is an available Itunes podcast of the Dev 401 recorded training . A true jackpot resource. So if you don’t have iTunes get it now and download the podcasts.

One thing I felt I was weak and had lots questions is case scenarios and which features of the platform is best to use. So I would be focusing on enhancing that skill too.

Chow for now.

Exam Preparation- Study Guide for Certified Developer

I’m retaking it again this May. In less than 30 days to be exact. So I’m utilizing this blog now as my resource center.

The exam I failed is for the Certified Developer.

The Certified Developer certification exam encompasses the declarative capabilities of the platform. To achieve this credential, a candidate must successfully complete the exam. This exam is a prerequisite to the Certified Advanced Developer exam.

The Certified Developer exam is intended for an individual who has experience developing custom applications on the platform, including practical application of the skills and concepts noted in the exam objectives below. The candidate has successfully completed the Building Applications with and Visualforce course (DEV 401) from or an Authorized Training Center or possesses equivalent experience and knowledge. The candidate:
:: 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 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
:: Is capable of designing and developing reports/analytics
:: Can identify appropriate solutions to specific business challenges/process requirements by applying knowledge of these features in the current version of the platform
:: Has invested time in studying the materials from the course and the additional required study materials provided by

So this are what I need to focus on. I’ll be updating this post to link to several new post I would be creating related to my preparation.

Exam Outline are the following:

5% Applicaton Design
List and describe components of an application
Describe the model-view-controller design paradigm
Given a scenario, determine whether sufficient information is available to plan/build/design an application

5% Overview of Platform
List and describe the steps required to design and deploy a successful application built using the declarative capabilities of the platform
List and describe the building blocks of an application provided by the platform

32% Data Model
Describe how to create a functional data model for a business application
Given a scenario, select the features required to create a functional data model for a business application
Describe the properties and implications of choosing one object relationship type over another and distinguish among relationship types
Given a scenario, distinguish among object relationship types, describe how to create relationships, and determine which relationship should be recommended
List and describe the features used to set permission and data access in a custom app
Given a scenario, select the appropriate feature (e.g., profiles, defaults, roles) to provide appropriate permissions and data access in a custom app
List and describe optional (Salesforce -enabled) features for managing the application (e.g., create audit fields, encrypted fields, multicurrency)

15% User Interface
List and describe the components of any application user interface (e.g., tabs, applications, detail pages, list views)
Given a scenario, determine the capabilities and constraints of the declarative framework for building a user interface (e.g., what can and can’t be done in a page layout)
Describe use cases for how Visualforce can extend the user interface in the declarative framework and when to do so
Describe the capabilities and functionality of Sites.

23% Business Logic
List and describe how to create formulas, validation rules, and workflow rules
Given a scenario, determine which feature to use to solve a business requirement and/or describe how to apply the solution
List and describe the capabilities of the approval processes
Given a scenario, select the appropriate features of approval processes to satisfy business requirements
List and describe the features of the platform for debugging and monitoring automated business processes
Describe use cases for extending business logic through Apex

10% Data Management
List and describe the capabilities and constraints of import wizards
List and describe the capabilities and constraints of API-based tools for managing data
List and describe the functions of the data loader
Describe use cases and functions of external IDs and upsert
Given a scenario, determine appropriate uses of the GUI and command-line interface for the data loader
Describe the characteristics of record IDs

10% Reporting and Analytics
List and describe capabilities and constraints of reports and analytics of the platform
Given a scenario, determine methods for analyzing and displaying data

Download the full Salesforce Certified Developer Guide Spring ’10 here.