Login Failed in Apex Dataloader

Click Settings in Settings menu

 Don't forget to give your proxy host and proxy port

For Developer Edition, give password+security token as password. Username is as usual username.


Salesforce APEX Data Loader download

1. Go to Setup --> Administration Setup --> Data Management --> Data Loader.

2.  Click "Download the Data Loader" link to download the data loader.


Force.com IDE Installation in Eclipse

Steps to install Force.com IDE in Eclipse:

1. Start Eclipse

2. Go to Help--> Install New Software...

3. Click Add button.

4. In Name type as Force.com IDE and in Location type as  http://www.adnsandbox.com/tools/ide/install/

5. Click Ok.

6. Check the checkbox near Force.Com IDE.

7. Click Next and complete the setup.

Or visit the below link


How to deploy from sandbox to production

The ways in which we can deploy from Sandbox to production are

1) Changeset
2) IDE (Ex: Eclipse)


Moving data from Sandbox to Production

We cannot move data from Sandbox to Production.
We can move data from Production to Sandbox alone.

In order to move data from Sandbox to Production, use Export and Import feature.


Creating or Refreshing a Sandbox

Setup --> DataManagement --> Sandbox

The below link is used to describe 'How to Create or Refresh Sandbox':


For Trial version, just create your login credentials using the below link



Different sandboxes in Salesforce

  1. A full copy sandbox is a duplicate of your entire production organization.
  2. A developer sandbox is limited to a total of 10 MB while a configuration only sandbox is limited to 500 MB of data. Developer sandboxes are special configuration-only sandboxes intended for coding and testing by a single developer.
  3. Enterprise Edition comes with one developer sandbox and the Unlimited Edition comes with 15 developer sandboxes, 5 configuration-only sandboxes and 1 full copy sandbox. 
  4. Configuration-only sandboxes copy all your production organization’s reports, dashboards, price books, products, apps, and customizations, but exclude all your organization’s standard and custom object records, documents, and attachments.


Number of licenses for Developer Edition

A number of licenses provided:
  • 3 Force.com Free licenses
  • 2 Salesforce licenses
  • 3 Salesforce Platform licenses
  • 5.0 MB of Data Storage
  • 20.0 MB of File Storage ( attachments)
  • 5000 API requests per 24 hours
  • Any number of applications
  • A 500 MB bandwidth and 10 minute service request time limits (per rolling 24 hours) for Force.com Sites applications.


JavaScript Remoting - Spring '11 Force.com Platform Release

Develop rich JavaScript-based user interfaces on Force.com
  • Integrate Apex and Visualforce pages with JavaScript libraries
Visualforce now lets methods in Apex controllers to be called via JavaScript using the @RemoteAction annotation.
With JavaScript remoting, you can build even more robust functionality in their custom applications.


@RemoteAction global static String getItemId(String objectName) 
 /* ... */


Action Status decoration in Visualforce

  <apex:commandButton value="Find" action="{!find}" reRender="SearchList" status="SearchStatus"/>

  <apex:actionstatus id="SearchStatus">
    <apex:facet name="start">
    <c:enhancedactionstatus BackColor="#efefef" borderColor="#336699" borderSize="3" height="50px" width="120px" Message="Loading..." messageStyle="color:darkred;


<apex:component >
<!-- Attribute Definitions -->
<apex:attribute name="BorderColor" type="String" required="true" description=""></apex:
<apex:attribute name="Width" type="String" required="true" description=""></apex:
<apex:attribute name="Height" type="String" required="true" description=""></apex:
<apex:attribute name="BackColor" type="String" required="true" description=""></apex:
<apex:attribute name="BackColor" type="String" required="true" description=""></apex:
<apex:attribute name="BorderSize" type="String" required="true" description=""></apex:
<apex:attribute name="ImageUrl" type="String" required="false" description=""></apex:
<apex:attribute name="Message" type="String" required="false" description=""></apex:
<apex:attribute name="messageStyle" type="String" required="false" description="Message inline style"></apex:attribute>
<apex:attribute name="BorderStyle" type="String" required="false" description="Message box border style: solid, outset, inset, etc"></apex:attribute>

<div id="salesforceSource_
blurybackground" style="position:absolute; left:1px; top:1px; width:100%; height:100%; text-align:center; vertical-align: middle; background-color: #dcdcdc; opacity:0.6;filter:alpha(
<div id="salesFroceSource_
StatusBox" style="position:absolute; left:100px; top: 100px;width: {!Width}; height:{!Height}; opacity:1;filter:alpha(
<table border="{!BorderSize}" cellpadding="0" cellspacing="0" style="border-left-color: {!BorderColor};
border-bottom-color: {!BorderColor}; width: {!Width}; border-top-color: {!BorderColor}; height:{!Height};
BorderColor}; border-style:{!BorderStyle}; background-color:{!BackColor};
<td align="left" valign="top">
<table border="0" cellpadding="4" cellspacing="0" style="width: 100%; height: 100%">
<td style="border-bottom-color:{!
BorderColor}; border-bottom-width:1px; border-bottom-style:solid;
<img src="{!ImageUrl}"/></td>
<td style="border-bottom-color:{!
BorderColor}; border-bottom-width:1px; border-bottom-style:solid;
<script type="text/javascript">
var AgreementForm = document.getElementById("
AgreementForm.style.height = window.screen.availHeight + "px";
AgreementForm.style.width = window.screen.availWidth + "px";

var ContainerElem = document.getElementById("
//ContainerElem.style.display = "block";

function AlignToCenter(Element)
var availableHeight = 0;
var availableWidth = 0;
if (Element.ownerDocument)
var docElement = Element.ownerDocument.
availableHeight = parseInt(docElement.
if (availableHeight == "NaN") availableHeight = 0;

availableWidth = parseInt(docElement.
if (availableWidth == "NaN") availableWidth = 0;

if (availableHeight == 0 || availableHeight == "NaN")
availableHeight = window.screen.availHeight - 200;
if (availableWidth == 0 || availableWidth == "NaN")
availableWidth = window.screen.availWidth - 100;

var msgBoxTop = parseInt((availableHeight - parseInt(Element.clientHeight)
var msgBoxleft = parseInt((availableWidth - parseInt(Element.style.width))

if (msgBoxTop == "NaN" || msgBoxTop == 0)
msgBoxTop = 100;

Element.style.left = msgBoxleft + "px";
Element.style.top = msgBoxTop + "px";

Getting checked checkboxes values using apex

The below code is used to get the checked checkboxes values


<apex:page standardController="Member__c" extensions="deleteBlog" >
<apex:form >

  <apex:pageblock title="Member" >
    <apex:pageblockButtons >
      <apex:commandButton value="Find" action="{!find}" reRender="SearchList"/>
    <apex:pageblocksection >
      <apex:inputfield value="{!Member__c.Name}"/>
  <apex:pageblock id="SearchList" title="Member List"  >
    <apex:pageBlocktable value="{!memList}" var="memLst" >
      <apex:column title="Select" > 
        <apex:inputCheckbox value="{!memLst.checked}" ></apex:inputcheckbox>
      <apex:column value="{!memLst.themem.Name}" title="Member Name" />
      <apex:column value="{!memLst.themem.E_Mail_Id__c}" title="E-Mail Id"/>
      <apex:column value="{!memLst.themem.Mobile_Number__c}" title="Mobile Number"/>
    <apex:pageblockButtons >
      <apex:commandButton value="Delete" action="{!Del}" reRender="SearchList"/>


public class deleteBlog
    public boolean checked{get;set;}
    public List<Member__c> memTmpLst;
    public List<mem> memList {get;set;}
    public Member__c memb;
    String[] selectedNam = new String[]{};
    List<String> selectednames =new List<String>();
    public List<String> temp {get;set;}
    public List<Member__c> memDelList;  
    public Integer i; 
    public class mem
      public Member__c themem {get; set;}
      public Boolean checked{get; set;}
      public mem(Member__c m,Boolean s)
        themem = m;
        checked = s;

    public deleteBlog(ApexPages.StandardController controller)
      this.memb = (Member__c)controller.getRecord();
    public void find()
      String nam = memb.Name;
      memList = new List<mem>();
      if(memList == null)
        memList = new List<mem>();
      String sql = 'SELECT Name,Mobile_Number__c,E_Mail_Id__c FROM Member__c WHERE Name LIKE\'%'+nam+'%\'';
      memTmpLst = Database.query(sql);
      for(Member__c m:memTmpLst)
        mem me = new mem(m,false);
    public void del()
      memDelList = new List<Member__c>();
      for(mem m:memList)
        if(m.checked == true)
            memDelList = new List<Member__c>();
      Delete memDelList;

Try and Catch in Apex

Sample code for use of try and catch:

        temp = Apexpages.currentPage().getParameters().get('memNam');
      catch(Exception e)
        temp = e.getMessage();       

To align Pageblock center

The <center> tag in HTML is used to align the <apex:pageblock> center:

Sample Code:

  <apex:pageBlock >
    <select id ="ctgry" onchange = "memb()">
      <option>Please Select</option>
      <option value = "Member">Members</option>
      <option value = "Blog">Blogs</option>
      <option value = "Photo">Photos</option>

Simple way.

Listbox using visualforce

To create listbox, just use HTML coding

<select id = "myId">
  <option value = "ap">Apple</option>
  <option value = "oran">Orange</option>
  <option value = "pine">Pineapple</option>

To get the value in apex controller, use the below javascript

function sample()
    var temp = document.getElementById("myId").value;


<apex:page Controller="Delet">

<apex:form >


  <apex:pageBlock >
    <apex:selectList value="{!ctgry}" size="1">
      <apex:selectOptions value="{!ctgrys}"/>

Apex Controller:
public class Delet

    public String[] ctgry = new String[]{};

    public Delet()


    public List<SelectOption> getCtgrys()
      List<SelectOption> options = new List<SelectOption>();
      options.add(new SelectOption('US','US'));
      options.add(new SelectOption('CANADA','Canada'));
      options.add(new SelectOption('MEXICO','Mexico'));
      return options;
    public String[] getCtgry()
      return ctgry;
    public void setCtgry(String[] ctgry)
    this.ctgry = ctgry;


To use apex class as controller in salesforce


<apex:page controller="myController" tabStyle="Account">
  <apex:sectionHeader title="New Account Edit Page" />
    <apex:pageBlock title="Create a New Account">
      <apex:pageBlockButtons location="bottom">
        <apex:commandButton action="{!sav}" value="Save"/>
      <apex:pageBlockSection title="Account Information">
        <apex:inputField id="accountName" value="{!account.name}"/>
        <apex:inputField id="accountSite" value="{!account.site}"/>


public class myController 
   Account account;

   public Account getAccount() 
      if(account == null) account = new Account();
      return account;

   public PageReference sav() 
      insert account;
      PageReference acctPage = new ApexPages.StandardController(account).view();
      return acctPage;

To contact salesforce.com


To open new page from current page using APEX

The below code is used to open new page 'AddAllBlog' from current page.

Apex Code:

  public PageReference skip()
  PageReference pg = new PageReference('/apex/AddAllBlog');
  return pg;  

If you give URL as 'http://google.com' instead of '/apex/AddAllBlog', it will open google website.

To get values from input field in controller extension using Apex

The following code explains how to get values from <apex:inputfield> in controller extension using apex


  <apex:pageblock title="Blog" mode="edit" >
    <apex:pageBlockButtons >
      <apex:commandButton action="{!nxt}" value="Next"/>
    <apex:pageBlockSection columns="1">
      <apex:inputField value="{!Blog__c.name}"/>
      <apex:inputField value="{!Blog__c.URL__c}"/>


  Public Blog__c blg;
  this.blg = (Blog__c)controller.getRecord();

  String nam = blg.name;

  Sting url = blg.URL__c;

To convert String to Date in salesforce

The below simple code is used to convert String to Date data type using Apex

Sample Code:

  1. String todate = '12/27/2013';  
  2. Date dt = Date.parse( todate );  
  3. system.debug(' Parsed Date is ' + dt );  


Page Editor in Salesforce

 The below code is used to show Save button and the fields to be filled.
Its a simple example for page editor.

Visualforce code:

<apex:page standardController="Member__c" extensions="AddAll">
<apex:form >

<apex:pageblock title="Member" mode="edit" >

    <apex:commandButton action="{!save}" value="Save"/>
  <apex:pageBlockSection columns="1">
    <apex:inputField value="{!Member__c.name}"/>
    <apex:inputField value="{!Member__c.E_Mail_Id__c}"/>
    <apex:inputField value="{!Member__c.Mobile_Number__c}"/>
    <apex:inputField value="{!Member__c.Birthday__c}"/>

Inputfield in Salesforce

The <apex:inputField> corresponds to a field on a Salesforce object.


Application in Salesforce

Application in Salesforce is nothing but grouping of Tabs, Objects, etc...


Additional Fields and Operators for Filtered Dashboards in Spring '12

With Spring ‘12, you can filter on date, date/time, and currency fields in addition to picklist, lookup, and text fields.

Added support for additional filter operators:
• Not equal to
• Less than
• Greater than
• Less or equal
• Greater or equal
• Contains
• Does not contain
• Start with
• Includes
• Excludes

With the additional operators, dashboard filters now support the same set of operators as report filters. Salesforce have also introduced a new filter: “between.” Use the between operator to get results that are greater than or equal to aminimum value and less than a maximum value.


Analytics Edition in Salesforce

Analytics Edition is available with the Professional, Enterprise, and Unlimited Editions of Salesforce. For more information on Analytics Edition, including how to purchase it for your organization, see www.salesforce.com/analytics or contact salesforce.com.

Salesforce Analytics Edition is a powerful new addition to Salesforce reporting. Analytics Edition gives your organization sophisticated tools for building flexible, powerful reports. You no longer need to spend hours in Excel or third-party business intelligence apps to gain business insight: Analytics Edition lets business users create the reports they need to gain decision-making insights against a deep and rich set of business data.


Salesforce CRM Training Institutes

Inspiring Careers
Bangalore - Marathahalli

Chennai - Adyar
044-45504412 / 45504152 9840044593
Best Institute

Chennai - Adyar
044-42115338 9677167119

Laureola Solutions
Chennai - Velachery
044-42150105 7299996600, 9094008778, 7299996645 / 35

EduRiver Technologies
Chennai - Alandur
044 64601777 8428304474

Peridot Systems
Chennai - Adyar
044-42115526 8056102535

Salesforce DEV 401 Study material

For DEV 401 Book, visit the below link


All the best...


Salesforce DEV 401 Study Guides

5% Application Design

5% Overview of Force.com Platform

32% Data Model

15% User Interface

23% Business Logic

10% Data Management

10% Reporting and Analytics


Salesforce DEV 401 Study Materials

For clearing DEV 401 exam, there is no proper study material.

Visit http://certification.salesforce.com/Home for more information.

There will be less number of direct questions. Mostly questions were easy to answer, if we have good practical knowledge. So visit http://www.salesforce.com/services-training/training_certification/ for practical knowledge.

Clearing DEV 401 is not an easy joke. Work hard before you apply for the exam.

Create an account in http://developer.force.com/ and experience all the features in SFDC. Explore all the features available. Practical knowledge plays a vital role in clearing the exam.

All the very best for all!!! Just Rock!!!


Salesforce Dev 401Exam Important topics

  • Master-Detail / Lookup / Hierarchical relationships
  • Report / Report Types 
  • Dashboards
  • Org-Wide Default
  • Sharing Rules

  • Approval Processes (Unanimous / Parallel / Skipping Steps / Dynamic Routing)
  • Junction Object
  • Data Loader / Import Wizard
  • Formula Fields
  • Analytical Snapshot
  • Workflows
  • Encrypted Fields
  • External Ids
  • Governor Limits

Topics to be covered for Salesforce DEV 401 Certification

- Security controls (also learn about criteria based sharing)
- Profiles
- Page layouts & Mini page layouts
- Record Ids
- Process Visualizer
- Multiple currencies
- object level permissions
- Field level permissions
- Record level permissions
- Record level access
- Role hierarchy
- Reports
- How are objects related to reports?
- Type of dashboard to component to use per case scenarios
- What can be done with custom report types?
- Analytic Snapshots
- Workflows
- Parallel approval
- Approval process
- Use case for time triggered actions
- Limitations of data loader on importing standard, custom objects
- Features of the data loader
- Sidebar feature how are items added
- User objects
- Types of relationships including hierarchal
- Use case on best relationship to use
- Use case for using Visualforce and Apex
- Force.com Sites
- Encrypted Fields
- External ID fields
- System Fields
- Formula fields
- Console

Objects available for push notifications

• Custom objects
• Cases
• Accounts
• Contacts
• Leads
• Campaigns
• Opportunities


Live Agent in Salesforce

Live Agent lets you add real-time Web chat to your existing customer service channels. Place chat buttons on your website, public knowledge base, or Customer Portal and allow your customers to contact your support agents instantly.

Live Agent API Endpoint URL is available in Live Agent Settings.

Enable Live Agent check box on the user record.

1. Create Skills.
2. Create Chat Button.
Chat Button - Standard Chat Button
Automated Invitation - Pop Up Chat Button
Customer Time-Out(seconds) - End Chat after time-out
Cusotmer Time-Out Warning(seconds) - Warning for customer for inactivity

Chat Routing Options - https://help.salesforce.com/articleView?id=live_agent_chat_routing_options.htm&type=5

3. Live Agent Configurations
Sneak Peak Enabled - Enable it to show "Typing"
Notifications Enabled - Indicates whether to display a desktop alert when an agent receives a new chat request.
Visitor Blocking Enabled - Indicates whether an agent can block visitors from an active chat within the Salesforce console.
Assistance Flag Enabled - Indicates whether an agent can send a request for help (“raise a flag”) to a supervisor.
Chat Conferencing Enabled - Indicates whether agents can invite other agents to join them in customer chats.

3. Create Deployments.
Allow Access to Pre-Chat API - Allows to use VF page for pre-chat form

1. Works only with Console App.
2. Make sure Include Live Agent in this App check box is enabled to have Live Agent in the app.
3. When an agent accepts a transferred chat, only the chat is transferred to the agent.
Ownership of related records, such as a case, aren't transferred to the agent.

Live Agent Supervisor tab access is required to view as Supervisor.
Supervisor can sneak peak if it was enabled.
Supervisor can whisper messages to the agent if it was enabled.

Live Agent features:

• A dedicated console that lets agents easily manage chat sessions, view incoming chat requests, and transfer chats to other agents.
• Quick Text, which allows agents to create standard chat messages, such as greetings and reusable troubleshooting steps.
• Seamless integration with Salesforce records and Salesforce Knowledge articles in the chat console, giving agents easy access to customer information and knowledge articles.
• Six chatlets, mini applications that run within the Live Agent console to extend its functionality
• Visitor and chat transcript records, which let agents and supervisors view and monitor information about customers and their issues.
• The ability to customize your chat buttons and windows to include your company’s logo, specify the language users see, control how chats are distributed to agents, and associate each button with a specific agent skill set.
• Customizable agent configurations that let you create different chat experiences for agents and customers.

Check the below link for Implementation of Live Agent