Types of api's and
what are they ? In Sfdc
https://googleweblight.com/?lite_url=https://developer.salesforce.com/blogs/tech-pubs/2011/10/salesforce-apis-what-they-are-when-to-use-them.html&ei=Uc7snHlm&lc=en-IN&s=1&m=956&ts=1442563216&sig=APONPFnNFMVbxNeOKvBDDp6i1z7lZJ-i8g
Total 8 type are there : REST APi, SOAP Api, Chatter Api,
Bulk Api, Metadata Api, Streaming Api, apex REST Api, Apex SOAP Api.....
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.
SOAP API:
SOAP API provides a powerful, convenient, and simple
SOAP-based Web services interface for interacting with Salesforce.You can use
SOAP API to create, retrieve, update, or delete records. You can also use SOAP
API to perform searches and much more. Use SOAP API in any language that
supports Web services.
For example, you can use SOAP API to integrate Salesforce
with your organization’s ERP and finance systems, deliver real-time sales and
support information to company portals, and populate critical business systems
with customer information.
Chatter API:
Chatter API is a REST API that provides programmatic access
to Chatter feeds and social data such as users, groups, followers, and files.
It's used by developers who want to integrate Chatter into a variety of
applications such as mobile applications, intranet sites, and third-party Web
applications. Chatter API is similar to APIs offered by other companies with
feeds, such as Facebook and Twitter. Its advantages include ease of integration
and development.
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.
The easiest way to use Bulk API is to enable it for
processing records in Data Loader using CSV files. This avoids the need to
write your own client application.
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.
Streaming API:
Use Streaming API to receive notifications for changes to
data that match a SOQL query that you define.
Streaming API is useful when you want notifications to be
pushed from the server to the client. Consider Streaming API for applications
that poll frequently. Applications that have constant polling action against the
Salesforce infrastructure, consuming unnecessary API call and processing time,
would benefit from this API which reduces the number of requests that return no
data. Streaming API is also ideal for applications that require general
notification of data changes. This enables you to reduce the number of API
calls and improve performance.
Apex REST API:
Use Apex REST API when you want to expose your Apex classes
and methods so that external applications can access your code through REST
architecture. Apex REST API supports both OAuth 2.0 and Session ID for
authorization.
Apex SOAP API:
Use Apex SOAP API when you want to expose your Apex methods
as SOAP Web service APIs so that external applications can access your code
through SOAP. Apex SOAP API supports both OAuth 2.0 and Session ID for
authorization.
[18/09 1:55 pm] +91 90301 12342: In which sequence trigger
and automation rules run in Salesforce.com ?
[18/09 2:09 pm] +91 90301 12342: The following is the order
salesforce logic is applied to a record.
1. Old record loaded from database (or
initialized for new inserts)
2. New record
values overwrite old values
3. System
Validation Rules
4. All Apex
“before” triggers (EE / UE only)
5. Custom
Validation Rules
6. Record saved to
database (but not committed)
7. Record reloaded
from database
8. All Apex
“after” triggers (EE / UE only)
9. Assignment
rules
10. Auto-response
rules
11. Workflow rules
12. Escalation rules
13. Parent Rollup
Summary Formula value updated (if present)
14. Database commit
15. Post-commit logic
(sending email)
[18/09 2:10 pm] +91 90301 12342: Q):when we need to chose
for iterable interface in batch?
[18/09 2:23 pm] +91 90301 12342: How many global variables
are there and what are they ?
[18/09 2:25 pm] +91 97040 18884: I think
Class,method,private,
public,variable etc
[18/09 2:27 pm] +91 90301 12342: Total 19 are there
1. $Action
2. $Api
3. $Component
4. $ComponentLabel
5. $CurrentPage
6. $Label
7. $Label.Site
8. $ObjectType
9. $Organization
10. $Page
11. $Profile
12. $Resource
13. $SControl
14. $Setup
15. $Site
16. $User
17. $UserRole
18.
$System.OriginDateTime
19. $ User.UITheme
and $User.UIThemeDisplayed
[18/09 2:31 pm] +91 90301 12342: How to restrict any
trigger to fire only once?
[18/09 2:37 pm] +91 90301 12342: Triggers can fire twice,
once before workflows and once after workflows.
“The before and after triggers fire one more time only if
something needs to be updated, If the fields have already been set to a value,
the triggers are not fired again.”
Workaround:
public class HelperClass {
public static
boolean firstRun = true;
}
trigger affectedTrigger on Account (before delete, after
delete, after undelete) {
if(Trigger.isBefore){
if(Trigger.isDelete){
if(HelperClass.firstRun){
Trigger.old[0].addError('Before Account Delete Error');
HelperClass.firstRun=false;
}
}
}
}
[18/09 2:39 pm] +91 90301 12342: What is property in apex ?
[18/09 2:42 pm] +91 90301 12342: Other than SOQL and SOSL
what is other way to get custom settings?
Explain about Salesforce annotations ?
Apex annotations modify the way a method or class is used.
Below is the list of annotations supported by salesforce
@Deprecated
Use the
deprecated annotation to identify methods, classes, exceptions, enums,
interfaces, or variables that can no longer be referenced in subsequent
releases of the managed package in which they reside. This is useful when you
are re-factoring code in managed packages as the requirements evolve. New
subscribers cannot see the deprecated elements, while the elements continue to
function for existing subscribers and API integrations.
@Future
Use the
future annotation to identify methods that are executed asynchronously. When
you specify future, the method executes when Salesforce has available
resources.
To test methods defined with the
future annotation, call the class containing the method in a startTest,
stopTest code block. All asynchronous calls made after the startTest method are
collected by the system. When stopTest is executed, all asynchronous processes
are run synchronously.
@IsTest
Use the
isTest annotation to define classes or individual methods that only contain
code used for testing your application. The isTest annotation is similar to
creating methods declared as testMethod.
@ReadOnly
The
@ReadOnly annotation allows you to perform unrestricted queries against the
Force.com database. All other limits still apply. It's important to note that
this annotation, while removing the limit of the number of returned rows for a
request, blocks you from performing the following operations within the
request: DML operations, calls to System.schedule, calls to methods annotated
with @future, and sending emails.
@RemoteAction
The
RemoteAction annotation provides support for Apex methods used in Visualforce
to be called via JavaScript. This process is often referred to as JavaScript
remoting.
@TestVisible
Use the
TestVisible annotation to allow test methods to access private or protected
members of another class outside the test class. These members include methods,
member variables, and inner classes. This annotation enables a more permissive
access level for running tests only.
Apex REST annotations:
@RestResource(urlMapping='/yourUrl')
The
@RestResource annotation is used at the class level and enables you to expose
an Apex class as a REST resource.
@HttpDelete
The
@HttpDelete annotation is used at the method level and enables you to expose an
Apex method as a REST resource. This method is called when an HTTP DELETE
request is sent, and deletes the specified resource.
@HttpGet
The @HttpGet
annotation is used at the method level and enables you to expose an Apex method
as a REST resource. This method is called when an HTTP GET request is sent, and
returns the specified resource.
@HttpPatch
The
@HttpPatch annotation is used at the method level and enables you to expose an
Apex method as a REST resource. This method is called when an HTTP PATCH
request is sent, and updates the specified resource.
@HttpPost
The
@HttpPost annotation is used at the method level and enables you to expose an
Apex method as a REST resource. This method is called when an HTTP POST request
is sent, and creates a new resource.
@HttpPut
The
@HttpPut annotation is used at the method level and enables you to expose an
Apex method as a REST resource. This method is called when an HTTP PUT request
is sent, and creates or updates the specified resource.
[26/09 9:06 am] +91 90301 12342: What are different
Organization Wide Defaults? Explain each of them?
Below are the different OWD values
Private
If the OWD
for an object is set to private, then only the owner, and users above that role
in role hierarchy, can view, edit and report on those records
Public Read Only
If the OWD
for an object is set to Public Read Only, then all users can view and report on
records but they cannot edit them. Only the record owner and the users above
that role in the role hierarchy can edit the records
Public Read/Write
If the OWD for an object is set to Public Read/Write, then
all users can view, edit and report on all records. But only owner of the
record can delete the records.
Public Read/Write/Trfer
This is available only for Case and Lead objects
If the OWD for an object is set to Public Read/Write/Trfer
then, all users can view, edit, trfer and report on all the records but only
owner of the record can delete the records
Public Full Access
This is available only for Campaign object.
If the OWD for Campaigns are set Public Full Access then,
all users can view, edit, delete and report on all records.
No Access, View Only or Use
This is available only for Price Book object.
If the OWD for Price Book is set Use then, all users can
access the Price Book information and as well as using the Price Book
configuration for Opportunities with Products.
If the OWD for Price Book is set View Only then, all users
can access the Price Book information but not to use that Price Book detail in
Opportunities with Products
If the OWD for Price Book is set No Access then, it
restricts users from accessing information for Price Book and Prices.
Controlled By Parent
If the OWD for any object is set as Controlled By Parent,
then user can perform an action on the record based on whether they can do the
same on the parent record associated with it
[26/09 9:33 am] +91 99599 98895: TEST CLASSES IN SALESFORCE
Test.startTest() and Test.stopTest() are very useful when
your test class hits Sales force Governor Limits.
The code inside Test.startTest() and Test.stopTest() have
new set of Sales force Governor Limits.
As a good practice, make sure initializing the variables, fetching
records, creating and updating records are coded before Test.startTest() and
Test.stopTest()
and calling the controllers for code coverage is done inside
Test.startTest() and Test.stopTest().
The code before Test.startTest() and after Test.stopTest()
have new set of Sales force Governor Limits and code between Test.startTest()
and Test.stopTest()
have new set of Sales force Governor Limits.
EX:
private class TestClass {
static testMethod void test() {
Test.startTest();
Call the controller for code
coverage
Test.stopTest();
}
}
Normal Test class:
public class demoTestClass(){
public void demoMethod(){
.
.
.
}
}
@isTest
public class TestMethodClass {
static testMethod void testMethod() {
demoTestClass newDemo = demoTestClass();
newDemo.demoMethod();
}
}
Test Class for Callout :
To cover callout in class we have to write a test class
first which is used for dummy callout and that test class has to use in our
original test class
so total we have to write 2 test classes
1. To call dummy web service
2. Real test class
Class :
-----
public class CalloutClass {
public static HttpResponse getInfoFromExternalService() {
HttpRequest req = new HttpRequest();
req.setEndpoint('https://graph.facebook.com/oauth/access_token');
req.setMethod('GET');
Http h = new Http();
HttpResponse res = h.send(req);
return res;
}
}
Test class for dummy web service :
@isTest
global class MockHttpResponseGenerator implements
HttpCalloutMock {
global HTTPResponse respond(HTTPRequest req) {
System.assertEquals('https://graph.facebook.com/oauth/access_token',
req.getEndpoint());
System.assertEquals('GET', req.getMethod());
HttpResponse res = new HttpResponse();
res.setHeader('Content-Type', 'application/json');
res.setBody('{"foo":"bar"}');
res.setStatusCode(200);
return res;
}
}
Test class for CalloutClass class:
@isTest
private class CalloutClassTest {
@isTest static void testCallout() {
Test.setMock(HttpCalloutMock.class, new
MockHttpResponseGenerator());
HttpResponse res =
CalloutClass.getInfoFromExternalService();
String contentType = res.getHeader('Content-Type');
System.assert(contentType == 'application/json');
String actualValue = res.getBody();
String expectedValue = '{"foo":"bar"}';
System.assertEquals(actualValue, expectedValue);
System.assertEquals(200, res.getStatusCode());
}
}
Test class for PageReffernce :
Class:
-----
public PageReference add() {
insert technology;
return null;
}
Test Method:
-----------
public static testMethod void testMyController() {
PageReference pageRef = Page.yourPageName;
Test.setCurrentPage(pageRef);
MyController controller = new MyController();
controller.add();
}
Test Class for batch apex:
@isTest
private class myTestClass {
static testMethod void myTestMethod() {
generateTestData();
Test.startTest();
DemoBatchClass batchObj = new DemoBatchClass();
batchObj.execute();
Test.stopTest();
}
}
[26/09 9:06 am] +91 90301 12342: What are different
Organization Wide Defaults? Explain each of them?
Below are the different OWD values
Private
If the OWD
for an object is set to private, then only the owner, and users above that role
in role hierarchy, can view, edit and report on those records
Public Read Only
If the OWD
for an object is set to Public Read Only, then all users can view and report on
records but they cannot edit them. Only the record owner and the users above
that role in the role hierarchy can edit the records
Public Read/Write
If the OWD for an object is set to Public Read/Write, then
all users can view, edit and report on all records. But only owner of the
record can delete the records.
Public Read/Write/Trfer
This is available only for Case and Lead objects
If the OWD for an object is set to Public Read/Write/Trfer
then, all users can view, edit, trfer and report on all the records but only
owner of the record can delete the records
Public Full Access
This is available only for Campaign object.
If the OWD for Campaigns are set Public Full Access then,
all users can view, edit, delete and report on all records.
No Access, View Only or Use
This is available only for Price Book object.
If the OWD for Price Book is set Use then, all users can
access the Price Book information and as well as using the Price Book
configuration for Opportunities with Products.
If the OWD for Price Book is set View Only then, all users
can access the Price Book information but not to use that Price Book detail in
Opportunities with Products
If the OWD for Price Book is set No Access then, it
restricts users from accessing information for Price Book and Prices.
Controlled By Parent
If the OWD for any object is set as Controlled By Parent,
then user can perform an action on the record based on whether they can do the
same on the parent record associated with it
[26/09 9:33 am] +91 99599 98895: TEST CLASSES IN SALESFORCE
Test.startTest() and Test.stopTest() are very useful when
your test class hits Sales force Governor Limits.
The code inside Test.startTest() and Test.stopTest() have
new set of Sales force Governor Limits.
As a good practice, make sure initializing the variables, fetching
records, creating and updating records are coded before Test.startTest() and
Test.stopTest()
and calling the controllers for code coverage is done inside
Test.startTest() and Test.stopTest().
The code before Test.startTest() and after Test.stopTest()
have new set of Sales force Governor Limits and code between Test.startTest()
and Test.stopTest()
have new set of Sales force Governor Limits.
EX:
private class TestClass {
static testMethod void test() {
Test.startTest();
Call the controller for code
coverage
Test.stopTest();
}
}
Normal Test class:
public class demoTestClass(){
public void demoMethod(){
.
.
.
}
}
@isTest
public class TestMethodClass {
static testMethod void testMethod() {
demoTestClass newDemo = demoTestClass();
newDemo.demoMethod();
}
}
Test Class for Callout :
To cover callout in class we have to write a test class
first which is used for dummy callout and that test class has to use in our
original test class
so total we have to write 2 test classes
1. To call dummy web service
2. Real test class
Class :
-----
public class CalloutClass {
public static HttpResponse getInfoFromExternalService() {
HttpRequest req = new HttpRequest();
req.setEndpoint('https://graph.facebook.com/oauth/access_token');
req.setMethod('GET');
Http h = new Http();
HttpResponse res = h.send(req);
return res;
}
}
Test class for dummy web service :
@isTest
global class MockHttpResponseGenerator implements
HttpCalloutMock {
global HTTPResponse respond(HTTPRequest req) {
System.assertEquals('https://graph.facebook.com/oauth/access_token',
req.getEndpoint());
System.assertEquals('GET', req.getMethod());
HttpResponse res = new HttpResponse();
res.setHeader('Content-Type', 'application/json');
res.setBody('{"foo":"bar"}');
res.setStatusCode(200);
return res;
}
}
Test class for CalloutClass class:
@isTest
private class CalloutClassTest {
@isTest static void testCallout() {
Test.setMock(HttpCalloutMock.class, new
MockHttpResponseGenerator());
HttpResponse res =
CalloutClass.getInfoFromExternalService();
String contentType = res.getHeader('Content-Type');
System.assert(contentType == 'application/json');
String actualValue = res.getBody();
String expectedValue = '{"foo":"bar"}';
System.assertEquals(actualValue, expectedValue);
System.assertEquals(200, res.getStatusCode());
}
}
Test class for PageReffernce :
Class:
-----
public PageReference add() {
insert technology;
return null;
}
Test Method:
-----------
public static testMethod void testMyController() {
PageReference pageRef = Page.yourPageName;
Test.setCurrentPage(pageRef);
MyController controller = new MyController();
controller.add();
}
Test Class for batch apex:
@isTest
private class myTestClass {
static testMethod void myTestMethod() {
generateTestData();
Test.startTest();
DemoBatchClass batchObj = new DemoBatchClass();
batchObj.execute();
Test.stopTest();
}
}
[26/09 9:35 am] +91 99599 98895: REST:
Stands for: Representational state transfer
Rest is :
Ø Stateless
Ø Client – server based
Ø HTTP Based
Ø It is not a protocol
Ø Support Both JSON and XML
@RestResource:
In Rest web services we need to implement @Rest Resource
annotation .
We need to map endpoint URL here .
Syntax: @RestResource(urlMapping =’/endpoint url/*’..
Then we need to implement class with following Http methods
@Httppost = create
@Httpget = read
@Httpput = update
@Httpatch = update
@Httpdelete = delete
Then we need implement following
Restcontext : it is a container class it holds
twoobjects
Restrequest: params,requestbody,requestpath
Restresponse: return messages etc
@RestResource(urlMapping = '/v29/account/*')
global class restwebservices{
@Httpget
global static account getdetails(){
Restrequest req =
restcontext.request;
Restresponse res
= restcontext.response;
string name =
req.requestURI.substring(req.requestURI.lastindexof('/')+1);
account a =
[select id,name,phone,type,website,rating from account where name =: name];
return a;
}
@Httppost
global static id createaccont(string
name,string phone,string website){
Restrequest req =
restcontext.request;
Restresponse res
= restcontext.response;
account a = new
account();
a.name = name;
a.phone = phone;
a.website =
website;
insert a;
return a.id;
}
}
[26/09 10:03 am] +91 90301 12342: What are the post refresh
considerations?
1. New
Organization ID is assigned to the refreshed sandbox every time it is
refreshed. Hence we need to replace the hard coded organization id in our
sandbox post refresh with newly created organization id.
2.To ensure the
uniqueness, in all user records, user name will be appended by sandbox name, if
the resulting user name is not unique then, second round of modification is
performed to prepend the user name with alpa numeric string to make sure the
resulting username is unique.
3.The copy process
does not copy contact data to developer and configuration sandboxes. Therefore,
customer portal users are not copied. These customer portal users need to be
created manually on need basis.
4. User email
addresses are modified in sandbox to avoid sending any mail from sandbox such
as notifications triggered by workflows and escalations rules.
5.Newly created
sandboxes have the default email deliverability setting System email only. We
need to change this to All Email.
6. If Server URL is
hardcoded in the code, then we need to replace it with the newly created URL
[26/09 10:16 am] +91 90301 12342: What are differences
between custom settings and custom objects?
Custom Settings:
1. Custom settings
are SOQL inexpensive
2. We can’t write
triggers on custom settings
3. Fields on which
we can create custom settings are restricted like picklists, lookups and
formula fields can’t be created in
custom settings
4. No Page layouts,
record types, validation rules and workflow rules can be used on custom
settings
Custom Objects:
1. Custom Objects
are SOQL Expensive
2. We can have
triggers on custom objects
3. No restrictions
on creation of fields
4. Can be used on
Custom objects
[26/09 10:21 am] +91 90301 12342: What are different user
licenses available in salesforce and explain them?
Below is the list of
licenses available in salesforce
Full access to
salesforce CRM and appExchangeàà1)
Salesforce
Access only to Custom
apps but not standard CRMàà2)
Salesforce Platform
Designed to access
only one custom app with unlimited number of tabsàà3) Force.com One App
Grant user access to
Force.com Light app or Force.com enterprise app but no CRM functionalityàà4)Force.com
Knowledge Subscription
Designed for users who only need access to the Salesforce
Knowledge appàà5) Knowledge Only User
User has access to
chatter which includes feeds, profiles, files and groupsàà6) Chatter Free
Designed to allow
customers in Chatter groups. Customers are users outside of a company’s email
domainàà7) Chatter External
User has access to
Groups, feeds, people, profiles and files along with access to view accounts
and contacts, modify custom objects and use CRM contents, Ideas and
wersàà8) Chatter Only
What is traction workbench in salesforce?
Traction workbench
is a salesforce feature for implementing the language in multiple languages.
i.e not just the data but also all your configurations and customizations that
you do as part of the implementation.
What is workbench in salesforce?
Workbench is a
powerful, web-based suite of tools designed for administrators and developers
to interact with salesforce.com organizations via the force.com APIs. Workbench
includes robust support for the Force.com Partner, Bulk, Rest, Streaming,
Metadata, and Apex APIs that allows users to describe, query, manipulate, and
migrate both data and metadata in Salesforce.com organizations directly in their
web browser with a simple and intuitive user interface
[26/09 10:24 am] +91 90301 12342: What is a Solution?
– An answer to a
common question or problem
– Enables Customer
Support users get up to speed quickly
– Enables Support
teams to answer questions quickly and consistently
– Customers search
for and browse published Solutions to selfassist
– Content-Rich
Solutions are an enhancement to the Solution Object which allows solution
writers to integrate rich text and
images into their solutions to completely solve a problem
What is a Category?
– Mechanism to
organize Solutions
– Solutions may be
associated to one or more Categories
– Categories make up
a Solution Category tree structure
What are Suggested Solutions?
– The suggested solutions
feature displays up to ten relevant solutions that may help users and customers
solve a particular case from the case detail page and the Self-Service portal.
• Suggested Solutions can be enabled for the following:
Cases tab
Self Service Portal
Case auto-response
rules and emails
[26/09 10:28 am] +91 90301 12342: Jump Start Wizard vs.
Standard Wizard ?
The Jump Start
wizard creates a one-step approval process for you in just a few minutes The
Standard Wizard is useful for complex approval processes.
Jump Start Wizard
• The jump start
wizard is useful for simple approval processes with a single step.
• Use the jump
start wizard if you want to create an approval process quickly by allowing
Salesforce to automatically choose some default options for you.
Standard Wizard
• The standard
wizard is useful for complex approval processes.
• Use it when you
want to fine tune the steps in your approval process.
• The standard
wizard consists of a setup wizard that allows you to define your process and
another setup wizard that allows you to
define each step in the process.
[26/09 10:41 am] +91 90301 12342: Time-Dependent Workflow –
Considerations
Maximum of 10 time
triggers per rule
Maximum of 40
actions (10 x 4 types) per time trigger, and 80 actions per workflow rule
Workflow default
user must be set up before creating time-based rules
Precision limited to
hours or days
Cannot convert leads
with time-dependent actions in the Workflow Queue
Time triggers cannot
be added to or removed from activated workflow rules
Not possible to
create a time-dependent action associated to a rule with a trigger type of
Every time the record is created or updated
When the Add Time
Trigger button is unavailable?
The evaluation
criteria are set to Evaluate the rule when a record is: created, and every time
it’s edited.
The rule is
activated.
The rule is
deactivated but has pending actions in the workflow queue.
Time-Dependent
Workflow Limitations:
Time triggers don’t support minutes or seconds.
Time triggers can’t reference the following:
• DATE or
DATETIME fields containing automatically derived functions, such as TODAY or
NOW.
• Formula
fields that include related-object merge fields.
You can’t add or remove time triggers if:
• The workflow
rule is active.
• The workflow rule is deactivated but has
pending actions in the queue.
• The workflow
rule evaluation criteria are set to Evaluate the rule when a record is:
created, and every time it’s edited.
• The workflow
rule is included in a package
[26/09 10:46 am] +91 90301 12342: What is a Business
Process?
Business process allows you to track separate sales,
support, and lead lifecycles across different divisions, groups, or markets.
Available Business Processes:
Sales Processes – Create different sales processes that
include some or all of the picklist values available for the Opportunity Stage
field
Support Processes – Create different support processes that
include some or all of the picklist values available for the Case Status field
Lead Processes – Create different lead processes that
include some or all of the picklist values available for the Lead Status field
Solution Processes – Create different solution processes
that include some or all of the picklist values available for the Solution
Status field
[26/09 12:31 pm] +91 95952 01404:
http://blog.whatfix.com/10-marc-benioff-quotes-that-will-motivate-you-to-achieve-greatness/?utm_campaign=blogpost&utm_source=facebookgroups&utm_medium=social
[26/09 10:03 am] +91 90301 12342: What are the post refresh
considerations?
1. New
Organization ID is assigned to the refreshed sandbox every time it is
refreshed. Hence we need to replace the hard coded organization id in our
sandbox post refresh with newly created organization id.
2.To ensure the
uniqueness, in all user records, user name will be appended by sandbox name, if
the resulting user name is not unique then, second round of modification is
performed to prepend the user name with alpa numeric string to make sure the
resulting username is unique.
3.The copy process
does not copy contact data to developer and configuration sandboxes. Therefore,
customer portal users are not copied. These customer portal users need to be
created manually on need basis.
4. User email
addresses are modified in sandbox to avoid sending any mail from sandbox such
as notifications triggered by workflows and escalations rules.
5.Newly created
sandboxes have the default email deliverability setting System email only. We
need to change this to All Email.
6. If Server URL is
hardcoded in the code, then we need to replace it with the newly created URL
[26/09 10:16 am] +91 90301 12342: What are differences
between custom settings and custom objects?
Custom Settings:
1. Custom settings
are SOQL inexpensive
2. We can’t write
triggers on custom settings
3. Fields on which
we can create custom settings are restricted like picklists, lookups and
formula fields can’t be created in
custom settings
4. No Page layouts,
record types, validation rules and workflow rules can be used on custom
settings
Custom Objects:
1. Custom Objects
are SOQL Expensive
2. We can have
triggers on custom objects
3. No restrictions
on creation of fields
4. Can be used on
Custom objects
[26/09 10:21 am] +91 90301 12342: What are different user
licenses available in salesforce and explain them?
Below is the list of
licenses available in salesforce
Full access to
salesforce CRM and appExchangeàà1)
Salesforce
Access only to Custom
apps but not standard CRMàà2)
Salesforce Platform
Designed to access
only one custom app with unlimited number of tabsàà3) Force.com One App
Grant user access to
Force.com Light app or Force.com enterprise app but no CRM
functionalityàà4)Force.com Knowledge Subscription
Designed for users who only need access to the Salesforce
Knowledge appàà5) Knowledge Only User
User has access to
chatter which includes feeds, profiles, files and groupsàà6) Chatter Free
Designed to allow
customers in Chatter groups. Customers are users outside of a company’s email
domainàà7) Chatter External
User has access to
Groups, feeds, people, profiles and files along with access to view accounts
and contacts, modify custom objects and use CRM contents, Ideas and
wersàà8) Chatter Only
What is traction workbench in salesforce?
Traction workbench
is a salesforce feature for implementing the language in multiple languages.
i.e not just the data but also all your configurations and customizations that
you do as part of the implementation.
What is workbench in salesforce?
Workbench is a
powerful, web-based suite of tools designed for administrators and developers
to interact with salesforce.com organizations via the force.com APIs. Workbench
includes robust support for the Force.com Partner, Bulk, Rest, Streaming,
Metadata, and Apex APIs that allows users to describe, query, manipulate, and
migrate both data and metadata in Salesforce.com organizations directly in
their web browser with a simple and intuitive user interface
[26/09 10:24 am] +91 90301 12342: What is a Solution?
– An answer to a
common question or problem
– Enables Customer
Support users get up to speed quickly
– Enables Support
teams to answer questions quickly and consistently
– Customers search
for and browse published Solutions to selfassist
– Content-Rich
Solutions are an enhancement to the Solution Object which allows solution
writers to integrate rich text and
images into their solutions to completely solve a problem
What is a Category?
– Mechanism to
organize Solutions
– Solutions may be
associated to one or more Categories
– Categories make up
a Solution Category tree structure
What are Suggested Solutions?
– The suggested
solutions feature displays up to ten relevant solutions that may help users and
customers solve a particular case from the case detail page and the
Self-Service portal.
• Suggested Solutions can be enabled for the following:
Cases tab
Self Service Portal
Case auto-response
rules and emails
[26/09 10:28 am] +91 90301 12342: Jump Start Wizard vs.
Standard Wizard ?
The Jump Start
wizard creates a one-step approval process for you in just a few minutes The
Standard Wizard is useful for complex approval processes.
Jump Start Wizard
• The jump start
wizard is useful for simple approval processes with a single step.
• Use the jump
start wizard if you want to create an approval process quickly by allowing
Salesforce to automatically choose some default options for you.
Standard Wizard
• The standard
wizard is useful for complex approval processes.
• Use it when you
want to fine tune the steps in your approval process.
• The standard
wizard consists of a setup wizard that allows you to define your process and
another setup wizard that allows you to
define each step in the process.
[26/09 10:41 am] +91 90301 12342: Time-Dependent Workflow –
Considerations
Maximum of 10 time
triggers per rule
Maximum of 40
actions (10 x 4 types) per time trigger, and 80 actions per workflow rule
Workflow default
user must be set up before creating time-based rules
Precision limited to
hours or days
Cannot convert leads
with time-dependent actions in the Workflow Queue
Time triggers cannot
be added to or removed from activated workflow rules
Not possible to
create a time-dependent action associated to a rule with a trigger type of
Every time the record is created or updated
When the Add Time
Trigger button is unavailable?
The evaluation
criteria are set to Evaluate the rule when a record is: created, and every time
it’s edited.
The rule is
activated.
The rule is
deactivated but has pending actions in the workflow queue.
Time-Dependent
Workflow Limitations:
Time triggers don’t support minutes or seconds.
Time triggers can’t reference the following:
• DATE or
DATETIME fields containing automatically derived functions, such as TODAY or
NOW.
• Formula fields
that include related-object merge fields.
You can’t add or remove time triggers if:
• The workflow
rule is active.
• The workflow
rule is deactivated but has pending actions in the queue.
• The workflow
rule evaluation criteria are set to Evaluate the rule when a record is:
created, and every time it’s edited.
• The workflow
rule is included in a package
[26/09 10:46 am] +91 90301 12342: What is a Business
Process?
Business process allows you to track separate sales,
support, and lead lifecycles across different divisions, groups, or markets.
Available Business Processes:
Sales Processes – Create different sales processes that
include some or all of the picklist values available for the Opportunity Stage
field
Support Processes – Create different support processes that
include some or all of the picklist values available for the Case Status field
Lead Processes – Create different lead processes that
include some or all of the picklist values available for the Lead Status field
Solution Processes – Create different solution processes
that include some or all of the picklist values available for the Solution
Status field
[26/09 12:31 pm] +91 95952 01404:
http://blog.whatfix.com/10-marc-benioff-quotes-that-will-motivate-you-to-achieve-greatness/?utm_campaign=blogpost&utm_source=facebookgroups&utm_medium=social
[27/09 10:05 am] Wtapp noida Frnd: 46. A user profile has login hour
restrictions set to Monday through Friday 8am to 5pm. It is Tuesday and it is
now 5.01 PM.
Which behavior of the application should the user expect?
a. The user
will be logged out and any unsaved work-in-progress will be lost
b. The user
will be logged out and any unsaved work-in-progress will be saved
c. The user
will be able to continue working and start new sessions
d. The user
will be able to continue working, but will be unable to start any new sessions
[27/09 10:06 am] Wtapp noida Frnd: 78. Which dashboard component can display
data from the summary rows of reports? (2 answers)
a. Chart
b. Metric
c. Table
d. Gauge
[27/09 10:09 am] Wtapp noida Frnd: 76. Which chart type can be used to display
summary values from two different levels of grouping in a report. (2 answers)
a. Stacked bar
chart
b. Funnel chart
c. Donut chart
d. Grouped line
chart
What is apex scheduler?
Apex scheduler is
used to invoke Apex classes to run at specific times, first implement the
Schedulable interface for the class, then specify the schedule using either the
Schedule Apex page in the Sales force user interface, or the System. schedule
method.
The Schedulable interface contains one method that must be
implemented, execute.
global void execute(SchedulableContext sc){}
The implemented method must be declared as global or public.
The following example implements the Schedulable interface
for a class called mergeNumbers:
global class scheduledMerge implements Schedulable{
global void execute(SchedulableContext SC) {
mergeNumbers M = new mergeNumbers();
}
}
The following example uses the System.Schedule method to
implement the above class.
scheduledMerge m = new scheduledMerge();
String sch =
'20 30 8 10 2 ?';
system.schedule('Merge Job', sch, m);
You can also use the Schedulable interface with batch Apex
classes. The following example implements the Schedulable interface for a batch
Apex class called batchable:
global class scheduledBatchable implements Schedulable{
global void execute(SchedulableContext sc) {
batchable b = new batchable();
database.executebatch(b);
}
}
Use the SchedulableContext object to keep track of the
scheduled job once it's scheduled. The SchedulableContext method getTriggerID
returns the ID of the CronTrigger object associated with this scheduled job as
a string. Use this method to track the progress of the scheduled job.
To stop execution of a job that was scheduled, use the
System.abortJob method with the ID returned by the.getTriggerID method.
Salesforce Platform App Builder Certification (Transition
Exam)
Exam Format
The transition exam is 20 multiple choice questionnaire and
you get 30 minutes to complete it.. pass percentage is 65%, so you need to get
at least 13 questions correct
Pre requisite
you should have already got the Salesforce Force.com
Developer Certification..
Prior Experience
If you are doing the transition exam, most of you are
already using Salesforce day in & out for at least few months and been
looking into the release notes of the past couple of releases touching
Salesforce1 and Lightning features. if that's the case then this exam is an
easy one for you..
but if you are just getting started with salesforce and
looking to take the full App builder certification exam, then you have to spend
some good time in getting used to the platform and understanding the
functionalities before taking this certification
Topics Covering:-
Filed Types - focus on field type changes and data losses,
limits & considerations of field type changes, field types for multi line
paragraphs, phone number searches
Actions - Object Specific and Global Actions - focus on
Child record creations from parent and auto relationships between them
Lightning Connect - External Objects & External Data
Sources - focus on external ids, global search for external data, types of
connectors
Rollup Summary Fields - required relationship type for
rollup summary, where & how to create
Sandboxes - different types of sandboxes, which one includes
data, when to use each type, what's preferred for testing, etc..
Packaging - managed / unmanaged, what's editable in
unmanaged, test classes in packages
Assignment Rules - Case, Lead, what's required for
assignment rules, how many can be active, how many rule criteria's can be there
Master Detail / Lookup - understand the difference and what
happens when converting from one to another, what can give rollup summary
fields
Record Types - business / sales process, impact on pick list
values , page layouts, which picklist fields cannot have different values based
on record types
Workflow Rule - Re Evaluation - what gets re evaluated when
workflow rule field update is marked to re evaluate other rules
Order of Execution - go thru the salesforce reference on
order of execution and understand the order for assignment , workflow,
validation, escalation rules
Lightning App Builder - parts of app builder, types of
components & actions you can add into the app, how to enable the app built
in lightning app builder inside salesforce1 mobile, creating a tab for the app
Person Accounts - data storage for person accounts,
difference compared to business accounts, record types for person accounts
Social Accounts - what's required to sync social accounts,
what details you can see using social accounts
AppExchange - buy vs build, when to go for an appexchange
app or develop in house, e.g. quick way to implement products, pricing, quote
& order....
[02/10 7:27 am] +91 90301 12342: What is apex scheduler?
Apex scheduler is
used to invoke Apex classes to run at specific times, first implement the
Schedulable interface for the class, then specify the schedule using either the
Schedule Apex page in the Sales force user interface, or the System. schedule
method.
The Schedulable interface contains one method that must be
implemented, execute.
global void execute(SchedulableContext sc){}
The implemented method must be declared as global or public.
The following example implements the Schedulable interface
for a class called mergeNumbers:
global class scheduledMerge implements Schedulable{
global void execute(SchedulableContext SC) {
mergeNumbers M = new mergeNumbers();
}
}
The following example uses the System.Schedule method to
implement the above class.
scheduledMerge m = new scheduledMerge();
String sch =
'20 30 8 10 2 ?';
system.schedule('Merge Job', sch, m);
You can also use the Schedulable interface with batch Apex
classes. The following example implements the Schedulable interface for a batch
Apex class called batchable:
global class scheduledBatchable implements Schedulable{
global void execute(SchedulableContext sc) {
batchable b = new batchable();
database.executebatch(b);
}
}
Use the SchedulableContext object to keep track of the
scheduled job once it's scheduled. The SchedulableContext method getTriggerID
returns the ID of the CronTrigger object associated with this scheduled job as
a string. Use this method to track the progress of the scheduled job.
To stop execution of a job that was scheduled, use the
System.abortJob method with the ID returned by the.getTriggerID method.
[02/10 7:58 am] +91 90301 12342: Salesforce Platform App
Builder Certification (Transition Exam)
Exam Format
The transition exam is 20 multiple choice questionnaire and
you get 30 minutes to complete it.. pass percentage is 65%, so you need to get
at least 13 questions correct
Pre requisite
you should have already got the Salesforce Force.com
Developer Certification..
Prior Experience
If you are doing the transition exam, most of you are
already using Salesforce day in & out for at least few months and been
looking into the release notes of the past couple of releases touching
Salesforce1 and Lightning features. if that's the case then this exam is an
easy one for you..
but if you are just getting started with salesforce and
looking to take the full App builder certification exam, then you have to spend
some good time in getting used to the platform and understanding the
functionalities before taking this certification
Topics Covering:-
Filed Types - focus on field type changes and data losses,
limits & considerations of field type changes, field types for multi line
paragraphs, phone number searches
Actions - Object Specific and Global Actions - focus on
Child record creations from parent and auto relationships between them
Lightning Connect - External Objects & External Data
Sources - focus on external ids, global search for external data, types of
connectors
Rollup Summary Fields - required relationship type for
rollup summary, where & how to create
Sandboxes - different types of sandboxes, which one includes
data, when to use each type, what's preferred for testing, etc..
Packaging - managed / unmanaged, what's editable in
unmanaged, test classes in packages
Assignment Rules - Case, Lead, what's required for
assignment rules, how many can be active, how many rule criteria's can be there
Master Detail / Lookup - understand the difference and what
happens when converting from one to another, what can give rollup summary
fields
Record Types - business / sales process, impact on pick list
values , page layouts, which picklist fields cannot have different values based
on record types
Workflow Rule - Re Evaluation - what gets re evaluated when
workflow rule field update is marked to re evaluate other rules
Order of Execution - go thru the salesforce reference on
order of execution and understand the order for assignment , workflow,
validation, escalation rules
Lightning App Builder - parts of app builder, types of
components & actions you can add into the app, how to enable the app built
in lightning app builder inside salesforce1 mobile, creating a tab for the app
Person Accounts - data storage for person accounts,
difference compared to business accounts, record types for person accounts
Social Accounts - what's required to sync social accounts,
what details you can see using social accounts
AppExchange - buy vs build, when to go for an appexchange
app or develop in house, e.g. quick way to implement products, pricing, quote
& order....
[02/10 8:20 am] +91 90301 12342: What is the difference
between apex:pageMessages, apex:pageMessage, apex:Message and apex:Messages?
apex:PageMessages:
This component
displays all messages that were generated for all components on the current
page, presented using the salesforce styling. This will display both salesforce
generated messages as well as custom messages added to the ApexPages class
apex:PageMessage:
Apex:PageMessage is
a component that adds single message on the page. This is used to display
custom message using the salesforce formatting
apex:Message:
apex:Message is used
to display an error on only a specific field. It is used to allow developers to
place field specific errors in specific location.
apex:Messages:
apex:Messages is similar to apex:Message but it displays all
errors
What are different APIs in salesforce.com?
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.
SOAP API:
SOAP API provides a powerful, convenient, and simple
SOAP-based Web services interface for interacting with Salesforce.You can use
SOAP API to create, retrieve, update, or delete records. You can also use SOAP
API to perform searches and much more. Use SOAP API in any language that
supports Web services.
For example, you can use SOAP API to integrate Salesforce
with your organization’s ERP and finance systems, deliver real-time sales and
support information to company portals, and populate critical business systems
with customer information.
Chatter API:
Chatter API is a REST API that provides programmatic access
to Chatter feeds and social data such as users, groups, followers, and files.
It's used by developers who want to integrate Chatter into a variety of
applications such as mobile applications, intranet sites, and third-party Web
applications. Chatter API is similar to APIs offered by other companies with
feeds, such as Facebook and Twitter. Its advantages include ease of integration
and development.
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.
The easiest way to use Bulk API is to enable it for
processing records in Data Loader using CSV files. This avoids the need to
write your own client application.
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.
Streaming API:
Use Streaming API to receive notifications for changes to
data that match a SOQL query that you define.
Streaming API is useful when you want notifications to be
pushed from the server to the client. Consider Streaming API for applications
that poll frequently. Applications that have constant polling action against
the Salesforce infrastructure, consuming unnecessary API call and processing
time, would benefit from this API which reduces the number of requests that
return no data. Streaming API is also ideal for applications that require
general notification of data changes. This enables you to reduce the number of
API calls and improve performance.
Apex REST API:
Use Apex REST API when you want to expose your Apex classes
and methods so that external applications can access your code through REST
architecture. Apex REST API supports both OAuth 2.0 and Session ID for
authorization.
Apex SOAP API:
Use Apex SOAP API when you want to expose your Apex methods
as SOAP Web service APIs so that external applications can access your code
through SOAP. Apex SOAP API supports both OAuth 2.0 and Session ID for
authorization.
No comments:
Post a Comment