You are on page 1of 15

Table of Contents

1. Introduction of SalesForce.......................................................................................................................3
1.1 SalesForce CRM:................................................................................................................................3
1.2 Force.com platform...........................................................................................................................3
1.3 AppExchange.....................................................................................................................................3
1.4 Web services......................................................................................................................................3
1.5 Configuration.....................................................................................................................................3
2. Force.com................................................................................................................................................3
3. Web services in SalesForce......................................................................................................................4
3.1 SOAP API............................................................................................................................................4
3.2 REST API.............................................................................................................................................4
3.3 Bulk API..............................................................................................................................................4
3.4 Metadata API.....................................................................................................................................4
3.5 Enterprise WSDL................................................................................................................................4
3.6 Partner WSDL....................................................................................................................................5
4. Apex.........................................................................................................................................................5
5. Visual Force.............................................................................................................................................5
5.1 What is VisualForce?..........................................................................................................................5
5.2 Visualforce Markup...........................................................................................................................5
5.3 Visualforce Controllers......................................................................................................................5
5.4 Where Can A VisualForce Pages Be Used?.........................................................................................6
6. Create your own First Visual Force Page.................................................................................................7
6.1 Add Some Functionality to your Visual Force page............................................................................7
6.2 Examples............................................................................................................................................7
6.2.1 Save the records into custom objects from text box on VF page:...............................................8
6.2.2 Bind the drop-down list on VF page:...........................................................................................9
6.2.3 Load the child Dropdown record on the selection of parent Dropdown record:........................9
6.2.4 Search the records, Show in Data Table and Fill the fields in the textboxes automatically:.....10
6.2.5 Insert or Update the records on one button:............................................................................12
References:................................................................................................................................................14
Documents provided by SalesForce:......................................................................................................14
Tools for Import and Export of data from one data base instance to SalesForce and vice versa:.........14
Workbooks by SalesForce......................................................................................................................14
Data Management videos:....................................................................................................................14
Data Migration: The Apex Data Loader:................................................................................................14
Developer Development Life cycle Force.com:.....................................................................................14
Pick-List Blog..........................................................................................................................................14
Based on pick-list selection, display corresponding page block on VF page:.........................................14
Dynamically add values to pick-list using Visualforce............................................................................14
Apex Code Developer's Guide:..............................................................................................................14
Visualforce Developer's Guide:..............................................................................................................14
Develop the Customize Look up on Visual Force page:.........................................................................14
Some useful Podcasts for Admin, Developer and Advance developer certification:.............................14
Wikipedia of SalesForce:........................................................................................................................14
Force.com for .NET Developers.............................................................................................................14
Force.com Canvas..................................................................................................................................14
Examples of Advanced Formula Fields...................................................................................................14
1. Introduction of SalesForce
Salesforce.com is a global cloud computing company. Though best known for its customer relationship management (CRM) 
product, which means it is used to keep track of and strengthen a company’s relationship with its existing and potential clients.
SalesForce also expanded in the following areas:

1.1 SalesForce CRM:


SalesForce CRM helps you easily manage all of your constituent Account, contacts, organizations, prospects, donation,
opportunities, and program information. With salesforce.com's cloud computing solution, you can get up and running in
minutes, just like using Google's Gmail or Amazon.

Must Watch:
Cloud Computing: What is Cloud Computing?
What is SalesForce?
SalesForce Platform Overview & Demo?

1.2 Force.com platform


Salesforce.com's platform as a service (PaaS) product is known as Force.com. The Force.com platform allows external
developers to create add-on applications that integrate into the main salesforce.com application and are hosted on
salesforce.com's infrastructure. These applications are built using Apex (a proprietary Java-like programming language for
Force.com) and VisualForce (an XML-like syntax for building user interfaces in HTML or Flex).

1.3 AppExchange
AppExchange is a marketplace for cloud computing Web application built for the Salesforce.com community and delivered by
partners or by third-party developers, which users can purchase and add to their Salesforce.com environment. All
salesforce.com partners can distribute applications and solutions on AppExchange. Applications created on the Force.com
platform are installed by Salesforce.com customers.

1.4 Web services


In addition to the web interface, salesforce.com offers a SOAP/REST Web service API that enables integration with other
systems.

1.5 Configuration
SalesForce users can configure their CRM application. In the system, there are tabs such as "Contacts," "Reports," and
"Accounts." Each tab contains associated information. For example, "Contacts" has standard fields like First Name, Last Name
and Email. Configuration can be done on each tab by adding user-defined custom fields

Configuration can also be done at the "platform" level by adding configured applications to a SalesForce instance which is
adding sets of customized / novel tabs for specific vertical- or function-level (Finance, Human Resources, etc.) features.

2. Force.com
Force.com platform to build virtually any kind of app, most apps share certain characteristics such as:

 A database to model the information in the app


 Business logic and workflow to carry out particular tasks under certain conditions
 A user interface to expose data and functionality to those logged in to your app
 A public website to show data and functionality on the Web
Below, the Force.com Workbook link which provides series of short tutorials that show you how to use the breadth of the
Force.com platform to build your own on-demand applications. Each tutorial exposes you to a different aspect of the platform,
ranging from storing your data to adding workflow, business logic, user interfaces, and creating a public web site. Here is
Force.com workbook link: Force.Com Workbook (Suggested time to complete - two working days)

3. Web services in SalesForce


SalesForce provides different type of web services which we can use in our project. The  SalesForce prebuilt applications provide
powerful CRM functionality. In addition, SalesForce provides the ability to customize the prebuilt applications to fit any
organization. However any organization may have complex business processes that are unsupported by the existing
functionality. When this is the case, the Force.com platform includes a number of ways for advanced administrators and
developers to implement custom functionality. These include the SOAP API, Apex, and VisualForce.

3.1 SOAP API


Use SOAP API to create, retrieve, update or delete records, such as accounts, leads, and custom objects. With more than 20
different calls, SOAP API also allows you to maintain passwords, perform searches, and much more. Use SOAP API in any
language that supports Web services.

3.2 REST API


REST API provides a powerful, convenient, and simple REST-based Web services interface for interacting with  SalesForce. Its
advantages include ease of integration and development, and it’s an excellent choice of technology for use with mobile
applications and Web projects. However, if you have a large number of records to process, you may wish to use Bulk API, which
is based on REST principles and optimized for large sets of data.

3.3 Bulk API


Bulk API is based on REST principles and is optimized for loading or deleting large sets of data. You can use it to query, insert,
update, upsert, or delete a large number of records asynchronously by submitting batches which are processed in the
background by SalesForce.
SOAP API, in contrast, is optimized for real-time client applications that update small numbers of records at a time.
Although SOAP API can also be used for processing large numbers of records, when the data sets contain hundreds of
thousands of records, it becomes less practical. Bulk API is designed to make it simple to process data from a few thousand to
millions of records.

3.4 Metadata API


Use Metadata API to retrieve, deploy, create, update, or delete customizations for your organization. The most common use is
to migrate changes from a sandbox or testing organization to your production environment. Metadata API is intended for
managing customizations and for building tools that can manage the metadata model, not the data itself.
The easiest way to access the functionality in Metadata API is to use the Force.com IDE or Force.com Migration Tool. These
tools are built on top of Metadata API and use the standard Eclipse and Ant tools respectively to simplify the task of working
with Metadata API. Built on the Eclipse platform, the Force.com IDE provides a comfortable environment for programmers
familiar with integrated development environments, allowing you to code, compile, test, and deploy all from within the IDE
itself. The Force.com Migration Tool is ideal if you want to use a script or a command-line utility for moving metadata between
a local directory and a SalesForce organization.
3.5 Enterprise WSDL 
This API is for users who are developing client applications for their organization. The enterprise WSDL file is a strongly typed
representation of your organization's data. It provides information about your schema, data types, and fields to your
development environment, allowing for a tighter integration between it and the Force.com Web service. This is ideal if you're
writing an application for your own Force.com application and data. When using this type of WSDL you will need to re-import
and compile your integration if you want your integration to be aware of data schema changes.

3.6 Partner WSDL 


This API is for salesforce.com partners who are developing client applications for multiple organizations. As a loosely typed
representation of the object model, the partner WSDL can be used to access data within any organization. This is ideal if you
want to write something that will work against many different applications across many different partners without the need to
be aware of the exact data schema implemented by the customer.

Note: In order for a .NET application to integrate with Force.com, a reference to the SOAP API must be added to the application
within Visual Studio. This reference is established through the use of a WSDL file generated from the Force.com platform. A
WSDL file is an XML file that describes how a SOAP-based web service functions, how an application can communicate with the
web service, and the operations allowed to be conducted within the SOAP API. For complete detail check the following link
Integration with .NET by using WSDL.

4. Apex
Use Apex if you want to:
 Create Web services.
 Create email services.
 Perform complex validation over multiple objects.
 Create complex business processes that are not supported by workflow.
 Create custom transactional logic (logic that occurs over the entire transaction, not just with a single record or
object.)
 Attach custom logic to another operation, such as saving a record, so that it occurs whenever the operation is
executed, regardless of whether it originates in the user interface, a Visual force page, or from SOAP API

5. Visual Force

5.1 What is VisualForce?


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. In the VisualForce
markup language, each VisualForce tag corresponds to a coarse or fine-grained user interface component, such as a section
page, a related list, or a field. The behavior of VisualForce components can either be controlled by the same logic that is used in
standard SalesForce pages, or developers can associate their own logic with a controller class written in Apex.

Developers can use Visualforce to create a Visualforce page definition. A page definition consists of two primary elements:
• Visualforce markup
• A Visualforce controller

5.2 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 user interface components that should be included on the page, and the way they
should appear.
5.3 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 that is 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. If you use a standard controller on a page and the user doesn't have access to the object,
the page will display a insufficient privileges error message. You can avoid this by checking the user's accessibility for an object
and displaying components appropriately.

• A standard list controller enables you to create Visualforce pages that can display or act on a set of records. Examples of
existing Salesforce pages that work with a set of records include list pages, related lists, and mass action pages.

• A custom controller is a class written in Apex that implements all of a page's 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 user's profile.

• A controller extension is a class written in Apex that adds to or overrides behavior in a standard or custom controller.
Extensions allow you to leverage the functionality of another controller while adding your own custom logic.

Because standard controllers execute in user mode, in which the permissions, field-level security, and sharing rules of the
current user are enforced, extending a standard controller allows you to 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 user's profile.

Note: Although custom controllers and controller extension classes execute in system mode and thereby ignore user
permissions and field-level security, you can choose whether they respect a user's organization-wide defaults, role
hierarchy, and sharing rules by using the with sharing keywords in the class definition. For information, see “Using
the with sharing or without sharing Keywords” in the Force.com Apex Code Developer's Guide.
5.4 Where Can A VisualForce Pages Be Used?
Developers can use VisualForce pages 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
• Define custom tabs
• Embed components in detail page layouts
• Create dashboard components or custom help pages
• Customize, extend, or integrate the sidebars in the Service Cloud console (custom console components)

6. Create your own First Visual Force Page


With development mode enabled, you can create your first VisualForce page by entering a URL for the page in your browser's
address bar as follows:

https://Salesforce_instance/apex/myNewPageName

For example, if you want to create a page called “ForDocument” and your salesforce.com organization uses
na3.salesforce.com, enter http://na3.salesforce.com/apex/ForDocument.
Because the page does not yet exist, you are directed to an intermediary page from which you can create your new page.

Click Create Page <myNewPageName> to create it automatically.

Note: If you do not have Visualforce development mode enabled, you can also create a new page from Setup by
clicking Develop > Pages, and then clicking New.

Visualforce pages can always be edited from this part of setup, but to see the results of your edits you have to navigate
to the URL of your page. For that reason, most developers prefer to work with development mode enabled so they
can view and edit pages in a single window.

Note: To read about Visual Force Page Development in Detail follow the Visualforce Developer's Guide

6.1 Add Some Functionality to your Visual Force page


As we have fine idea regarding SalesForce capability till now. Now we will focus on some parts to the developer’s point of view.
As developer, we go mostly these kinds of requirements like Bind the drop-down list, Search any value from table, show the
data in table and bind the dropdown on the selection of another dropdown and many more. First of all we should clear how the
data is stored in SalesForce like any application we develop, we use SQL, MySql, Oracle databases to save our records. In case of
sales force we don’t need to worry about the database stuff as we already know that it’s a cloud based model, still we need
some kind of tables or any data source so that we can fetch, insert and delete our data into or from those tables.

Here in SalesForce already provides the some standard data source in form of standard object like account, contact,
opportunity and many more, but all these are designed for CRM based model so what if we have to develop our own
application:

To develop any customize application by using of Force.com platform we got one data source called custom objects, these
objects are same as table in other database we can create number of fields with different data type. For more information gone
through the tutorial Force.Com Workbook.

6.2 Examples
Now we will take a look on some example which will help you to implement in a custom application:

6.2.1 Save the records into custom objects from text box on VF page:
Step 1: Create the Custom Object (Employee)
1. Login to your SalesForce account
2. Go to Setup-> Create -> Objects and follow the instructions
Step 2: Create one VF page (Already described in previous topic) paste the following code:

VF Code:
<apex:page standardController="Employee__c" extensions="EmployeeDemo" >
<apex:form >
<h1>Congratulations</h1>
This is your new Page: ForDocument
<Apex:pageBlock >
<apex:inputField value="{!objEmployee.Employee_Name__c}"/>
<apex:pageBlockSection >
<apex:commandButton Action="{!Save}" Value="Save" />
</apex:pageBlockSection>
</Apex:pageBlock>
</apex:form>
</apex:page>

Controller:
public with sharing class EmployeeDemo
{
public Employee__c objEmployee {get;set;}
public EmployeeDemo(ApexPages.StandardController controller) //Constructor
{
objEmployee= new Employee__c();
}
public PageReference Save()
{
Try
{
Insert objEmployee;
}
Catch (Exception ex)
{
System.debug('\n\nException ='+ex.getMessage()+'\n\n');
}
PageReference pr = new PageReference('/apex/ForDocument'); // To refresh the page again
pr.setRedirect(true);
return pr;
}
}

Step 3: Debug the log and check record got saved or not

As we are catching any exception in the catch block so you can check the debug log if any error occurred in saving the records.
Below is brief process to check the log.

2. Go to Setup -> Monitor -> Logs -> Debug Logs option -> Create the monitored user
3. If any error comes you can check the log like below:

6.2.2 Bind the drop-down list on VF page:


Now we will bind all the records of Employee object to drop down on VF page

Step 1: Insert some records in the object employee which we have already created and paste the code below on VF page and in
Controller:

Visual-Force:

<apex:page standardController="Employee__c" extensions="EmployeeDemo" >


<apex:form >
<apex:pageblock title="Employee" >
<apex:pageBlockSection title="Load Drop Down" >
<apex:selectList required="true" multiselect="false" size="1" label="Employee" style="align:left">
<apex:selectOptions value="{!LoadEmployee}"/>
</apex:selectList>
</apex:pageBlockSection>
</apex:pageblock>
</apex:form>
</apex:page>

Apex-Code:
public with sharing class EmployeeDemo
{
public EmployeeDemo(ApexPages.StandardController controller)
{
objEmployee= new Employee__c();
}
public Employee__c objEmployee {get;set;}
public List<selectOption> getLoadEmployee()
{
List<selectOption> Employees = new List<selectOption>();
Employees.add(new selectOption('None','None'));
for(Employee__c empname : [select ID,Employee_Name__c from Employee__c] )
{
Employees.add(new selectOption(empname.ID,empname.Employee_Name__c));
}
return Employees;
}
}
6.2.3 Load the child Dropdown record on the selection of parent Dropdown record:
Step 1: For this kind of requirement first create the master-child or lookup relation between the objects. Here we have created
look-up relation between Employee and Department objects

Visual-Force:
<apex:page standardController="Employee__c" extensions="EmployeeDemo" >
<apex:form >
<apex:pageblock title="Employee" >
<apex:pageBlockSection title="Department">
<apex:selectList required="true" multiselect="false" label="Departments" size="1" value="{!
DepartmentSelectedvalue}">
<apex:selectOptions value="{!LoadDepartment}"/>
<apex:actionSupport event="onchange" reRender="detailEmployee"/>
</apex:selectList>
</apex:pageBlockSection>
<apex:pageBlockSection title="Employee" id="detailEmployee" >
<apex:selectList required="false" multiselect="false" size="1" label="Employee" style="align:left">
<apex:selectOptions value="{!LoadEmployee}"/>
</apex:selectList>
</apex:pageBlockSection>
</apex:pageblock>
</apex:form>
</apex:page>

Apex-Code:
public with sharing class EmployeeDemo
{
public EmployeeDemo(ApexPages.StandardController controller)
{
objEmployee= new Employee__c();
}
public Employee__c objEmployee {get;set;}
public string DepartmentSelectedvalue {get;set;}
public List<selectOption> getLoadEmployee()
{
List<selectOption> Employees = new List<selectOption>();
Employees.add(new selectOption('None','None'));
for(Employee__c empname : [select ID,Employee_Name__c from Employee__c where Department__c
=:DepartmentSelectedvalue] )
{
Employees.add(new selectOption(empname.ID,empname.Employee_Name__c));
}
return Employees;
}
public list<selectoption> getLoadDepartment()
{
List<selectoption> Departments = new List<selectoption>();
Departments.add(new selectOption('None','None'));
for(Department__c departmentname : [select ID, DepartmentName__c from Department__c] )
{
Departments.Add(new selectoption(departmentname.ID,departmentname.DepartmentName__c));
}
return Departments;
}
}

6.2.4 Search the records, Show in Data Table and Fill the fields in the textboxes automatically:
In this Example we will try to search the record on the basis of input criteria, if records are found those will come in data table
and on the click of one link button (which is in data-table), fields will be filled automatically according to requirement.

Visual-Force:
<apex:page standardController="Employee__c" extensions="EmployeeDemo" >
<apex:form >
<apex:pageblock title="Employee" >
<apex:pageBlockSection title="Employee Lookup">
<apex:inputText id="txtlookup" value="{!inputValue}" />
<br/>
<apex:commandButton value="Look up" action="{!Lookup}"/>
<br/>
<br/>
<apex:dataTable id="dtEmplyeeRecords" value="{!objEmployee}" var="er" width="100%" >
<apex:column value="{!er.Id}" width="33%" headerValue="Employee ID"/>
<apex:column width="33%" headerValue="Employee Name">
<apex:commandLink value="{!er.Employee_Name__c}" >
<apex:param name="testusername" assignTo="{!testuser}"
value="{!er.Employee_Name__c}" />
</apex:commandLink>
</apex:column>
<apex:column value="{!er.Phone_Number__c}" width="33%" HeaderValue="Phone Number" />
</apex:dataTable>
<br/>
<apex:inputText value="{!testuser}" id="txtclickedvalue"/>
</apex:pageBlockSection>
</apex:pageblock>
</apex:form>
</apex:page>

Apex-Code:
public with sharing class EmployeeDemo
{
public EmployeeDemo(ApexPages.StandardController controller)
{}
public List<Employee__c> objEmployee {get;set;}
Public String inputValue {get; set;}
Public String testuser {get; set;}
Public String LikeCondition = '';
public List<Employee__C> gtEmployee()
{
LikeCondition = '%' + inputValue + '%' ;
objEmployee = [Select ID,Employee_Name__c,Phone_Number__c from Employee__C where Employee_Name__c
like :LikeCondition or Phone_Number__c like :LikeCondition ] ;
return objEmployee ;
}
public void Lookup()
{
gtEmployee();
}
}

6.2.5 Insert or Update the records on one button:


Visual-Force:
<apex:page standardController="Employee__c" extensions="EmployeeDemo" >
<apex:form >
<apex:pageblock title="Employee" >
<apex:pageBlockSection title="Search Employee">
<apex:inputText id="txtlookup" value="{!inputValue}" label="Search" />
<apex:commandButton value="Look up" action="{!Lookup}"/>
</apex:pageBlockSection>
<apex:pageBlockSection title="Employee List">
<apex:dataTable id="dtEmplyeeRecords" value="{!listEmployee }" var="er" width="100%" >
<apex:column value="{!er.Id}" width="33%" headerValue="Employee ID"/>
<apex:column width="33%" headerValue="Employee Name">
<apex:commandLink value="{!er.Employee_Name__c}" >
<apex:param name="paramName" assignTo="{!EmployeeName}" value="{!er.Employee_Name__c}" />
<apex:param name="paramid" assignTo="{!EmployeeID}" value="{!er.id}" />
<apex:param name="paramphonenumber" assignTo="{!EmployeePhoneNumber }"
value="{!er.Phone_Number__c}"/>
</apex:commandLink>
</apex:column>
<apex:column value="{!er.Phone_Number__c}" width="33%" HeaderValue="Phone Number" />
</apex:dataTable>
</apex:pageblocksection>
<apex:pageBlockSection title="Insert Update Employee" >
<br/>
<apex:inputHidden value="{!EmployeeID}"/>
<apex:inputtext value="{!EmployeeName}" label="Employee Name" />
<apex:inputtext value="{!EmployeePhoneNumber}" label="Phone Number" />
<br/>
<apex:commandButton Action="{!Save}" Value="Save"/>
</apex:pageBlockSection>
</apex:pageblock>
</apex:form>
</apex:page>

Apex-Code:
public with sharing class EmployeeDemo
{
public List<Employee__c> listEmployee {get;set;}
public Employee__c objEmployee {get;set;}
Public String inputValue {get; set;}
Public String EmployeePhoneNumber {get; set;}
public string EmployeeName{get;set;}
Public String LikeCondition = '';
public string EmployeeID{get;set;}
public EmployeeDemo(ApexPages.StandardController controller)
{
objEmployee = new Employee__c();
}
public List<Employee__C> getEmployee()
{
try
{
LikeCondition = '%' + inputValue + '%' ;
listEmployee = [Select ID,Employee_Name__c,Phone_Number__c from Employee__C where Employee_Name__c like
:LikeCondition or Phone_Number__c like :LikeCondition ] ;
}
Catch (Exception ex)
{
System.debug('\n\nException ='+ex.getMessage()+'\n\n');
}
return listEmployee ;
}
public void Lookup()
{
getEmployee();
}
public PageReference Save()
{
Try
{
objEmployee.Employee_Name__c = EmployeeName;
objEmployee.Phone_Number__c = EmployeePhoneNumber;
if (EmployeeID!='')
{
objEmployee.ID = EmployeeID;
}
upsert objEmployee;
}
Catch (Exception ex)
{
System.debug('\n\nException ='+ex.getMessage()+'\n\n');
}
PageReference pr = new PageReference('/apex/ForDocument'); // To refresh the page again
pr.setRedirect(true);
return pr;
}
}
References:
As of now we have just taken the overview of SalesForce. In real SalesForce provides very robust technologies in the clod
computing model. Here are some links by which we can explore this model. These links include some PDF, Video, and HTML
tutorial:

Documents provided by SalesForce:


http://wiki.developerforce.com/page/Documentation

Tools for Import and Export of data from one data base instance to SalesForce and vice versa:
https://help.salesforce.com/HTViewHelpDoc?id=import_which_data_import_tool.htm&language=en_US#

Workbooks by SalesForce
http://wiki.developerforce.com/page/Force.com_workbook

Data Management videos:


http://www.youtube.com/watch?annotation_id=annotation_433377&feature=iv&src_vid=JuuGhv3SFiw&v=ylsym-1-jNw

Data Migration: The Apex Data Loader:


http://cloud4good.com/announcements/data-migration-the-apex-data-loader/

Developer Development Life cycle Force.com:


http://www.salesforce.com/us/developer/docs/dev_lifecycle/

Pick-List Blog
http://writeforce.blogspot.in/2012/11/the-trouble-with-picklists-visualforce.html

Based on pick-list selection, display corresponding page block on VF page:


http://www.srinusfdc.com/2012/08/based-on-picklist-selection-how-to.html

Dynamically add values to pick-list using Visualforce


http://www.forcetree.com/2009/06/dynamically-add-values-to-picklist.html

Apex Code Developer's Guide:


http://www.salesforce.com/us/developer/docs/apexcode/salesforce_apex_language_reference.pdf

Visualforce Developer's Guide:


http://www.salesforce.com/us/developer/docs/pages/salesforce_pages_developers_guide.pdf

Develop the Customize Look up on Visual Force page:


http://blog.jeffdouglas.com/2011/08/12/roll-your-own-salesforce-lookup-popup-window/

Some useful Podcasts for Admin, Developer and Advance developer certification:
http://www.salesforcetrainingpodcasts.com/podcasts/

Wikipedia of SalesForce:
http://wiki.developerforce.com

Force.com for .NET Developers


http://events.developerforce.com/en/pages/force-dot-com-dot-net

Force.com Canvas
http://wiki.developerforce.com/page/Force.com_Canvas
Examples of Advanced Formula Fields
http://www.salesforce.com/us/developer/docs/usefulFormulaFields/

You might also like