Tuesday, 31 January 2017

Outline of Platform 1 Certification And Become Certified Salesforce Professional

Each section in study guide is assigned percentage of questions. Start your study in order of highest to lowest percentage like following:

Logic and Process Automation (46%)

Data Modeling and Management (12%)

Testing (12%)

User Interface (10%)

Debug and deployment tools (10%)

Salesforce Fundamentals(10%)

Based on each section topics find out which topics you need more study or haven’t worked before and spend more time on it if necessary. Put together timeline for study and book date for exam.

What to study?

There are subset of topics under each section and some of topics might not have any question in exam. Logic and process automation covers about 46% of exam which designates about 28 questions you can just expect from this section. You will be spending more time studying this section for sure so number of topics are additionally more. Here is details of what you can study for each topics:

Logic and Process Automation

Describe how to programmatically access and utilize the object schema (Go through methods to validate Access Control for fields programmatically.  During my exam i received a question on how to check whether utilizer has read sanction on concrete object field in VF page or not. Read through this article)

Describe the capabilities and use cases for formula fields. (Understand when formula gets executed, Formula Data types, Building cross object formulas) . The question around this section might endeavor to chicane you between formula, rollup summary fields and trigger. Recollect cross object formula always works from child to parent designates you can engender formula on child to reference parent only and if parent has to refer children then it might be roll up summary field (Must be master-detail cognation) or trigger for intricate logic. Workflow rules withal can only can refer parent fields for an update.


Describe the capabilities and use cases for roll-up summary fields. (Consideration for Roll-up summary fields, Go through trailhead).
Note:Remember roll-up summary field only works with Master-detail cognation so as anon as you read look up cognation it can’t be roll-up summary field)


Describe the capabilities of the declarative process automation features .
Note:Very paramount table on first part in this trailhead which compares capabilities of process builder, workflow, approbation process and visual flow. if there is scenario to optate between workflow or process builder then you should just mark process builder as congruous solutions as it supersedes workflows. Workflow can only update parent fields in cross object update where process builder can update either parent or children.


Describe when to utilize declarative automation features vs. Apex classes and triggers (Yes same trailhead link because if you ken you can’t use one of process automation then trigger is last option.Also check when use apex and  my post on when to utilize process builder vs trigger)

Describe how to declare variables and constants in Apex and how to assign values utilizing expressions. (Additionally go through apex workbook topics from Data Types and Variables till Assignment Verbalizations)

Describe the primitive and involute Apex data types and when to utilize them (Topic is covered by above link)

Describe how to utilize and apply Apex control flow verbalizations. (Be pellucid on when to utilize inline SOQL query in for loop and when not to utilize)

Describe how to indite and when to utilize Apex classes and interfaces.( Understand how inner classes can be defined, invoked from outer class, what they can refer inside their body and type of access modifier they can have. Endeavor sundry scenario cognate to inner class by engendering it in your developer org and call it from innominate block or outer class)

Describe how to utilize rudimental SOSL, SOQL, and DML verbal expressions. (It verbalizes fundamentals not in advance so trailhead topics are adequate, ascertain you pellucidly understand difference when to utilize Database class DML verbal expression vs standard DML. One of the question you will sure receive on rollback utilizing Database class.)

Describe the rudimental patterns utilized in triggers and classes to process data efficiently. (if you just recollect to bulkify and no DML, SOQL within for loop and inline SOQL query is enough for this topic. Trigger bulk operation, Trigger best practices)

Describe when to utilize and how to indite triggers. (Understand Trigger Exceptions,  Context variable considerations)

Describe the implicative insinuations of governor limits on Apex transactions. (Recollect in a single transaction you can retrieve 50,000 records via SOQL, update 10,000 records, execute 100 SOQL calls and 150 DML verbalizations max that will cover majority around limits. The question will be scenario predicated and from code sample you will have to decipher whether whole transaction gets committed or partial or nothing. Count through number of times any DML or SOQL being executed and number of records being executed correctly.)

Describe the relationship between Apex transactions , the preserve execution order, and the potential for recursion and/or cascading. (You must recollect execution order by heart and there are definitely one to two questions on it.  If you understand execution order you will understand when it can be recursive demeanor like workflow which gets executed after trigger if updates record in transaction it might result in re-running after triggers.)

Describe how to implement exception handling in Apex. (I received question where there was code sample to cull what kind of exception gets thrown. It was possible either null pointer or list exception. Reading conscientiously in first line of code there was no initialization of string and it was being referenced in apex condition so it will first throw null pointer.)

Describe how to indite Visualforce controllers. (Refer next topic links, Don’t forget Standard and custom list controller)

Describe when and how to utilize standard Visualforce controllers vs. Apex custom controllers and controller extensions .

Describe the programmatic techniques to obviate security susceptibilities in Apex and Visualforce.

Describe how Apex impacts the faculty to make declarative changes.

Testing (Refer ‘Apex Testing’ Trailhead as well)

Describe the testing framework and requisites for deployment.

Describe how to indite unit tests for triggers, controllers, and classes.(Be pellucid on Test.startTest() and Test.stopTest() about how governor limit gets reset)

Describe when and how to utilize sundry sources of test data.(Ascertain you ken how @Testsetup works and how it executes.)

Describe how to execute one or multiple test classes.Describe the distinctions between invoking Apex in execute innominate vs. unit test ( Unit test executes in system mode and any vicissitudes made to records are not visible out of its test execution context where with innominate block any vicissitudes performed to data are visible after its execution is prosperous. Code indited in innominate block is not stored as metadata in salesforce org and utilizer sanctions are enforced during execution.)
Data Modelling and Management
Given a set of requisites, determine the opportune data model.(Expect scenario predicated questions and cull whether to apply look up ,master-detail or junction cognation)

Describe the capabilities of the sundry relationship types and the implicative insinuations of each on record access, utilizer interface (UI), and object-oriented programming. (Scenario Questions like  exhibit child cognate list on parent record, have to manage sanctions discretely from parent etc.)

Describe the impact of schema design and modifications on Apex Development.

Describe how to visualize and engender entity relationships. (Schema builder)

Describe the options for and considerations when importing and exporting data into development environments. (Scenario predicated question for whether to utilize data loader or built in import/export implements.)
Debug and Deployment Implements



Describe how to monitor and access sundry types of debug logs.( Expect questions like at what log level Utilizer Debugs are logged or whats checkpoint in developer console. Get walk through of Developer console options for viewing logs like utilizing logs perspective, filtering logs etc. which will be more more facile than reading.)

Describe the capabilities and security implicative insinuations of the Developer Console, Workbench, and Force.com IDE.


Describe the different processes for deploying metadata and business data.

Describe how the different environments are utilized in the development and deployment process.
Salesforce Fundamentals

Describe the considerations when developing in a multi-tenant environment.

Describe how the Salesforce platform features map to the MVC pattern.

Describe the capabilities of the core CRM objects in the Salesforce schema. (Read through Account & Contact trailead, Lead & Opportunity trailead. I would additionally recThis topic is very general and its all about kenning cognation between these objects and their capabilities)
Identify the prevalent scenarios for elongating an application’s capabilities utilizing the AppExchange.
Given a scenario, identify mundane use cases for declarative customization. (Scenario predicated question which will fixate on test takers competency to identify whether to utilize formula, roll-up summary field, validation rule, workflow rule, process builder or approbation process. Refer trailhead modules ‘process automation’ and ‘formula fields and validations’)

Utilizer Interface (Read through trailhead for visualforce)

Describe how to exhibit Salesforce data utilizing a Visualforce page. (Though This topic is very broad but studying fundamentals should be enough. you can still go through first few sections in visualforce developer guide. )

Describe the types of web content that can be incorporated into Visualforce pages (Maps, Charts, flows, PDF renderer and custom content type. This topic is very broad but you don’t need to learn details of how these components can be embedded into VF pages.)

Describe how to incorporate Visualforce pages into Force.com applications.

Describe the benefits of the Lightning Component framework.

Describe the resources that can be contained in a Lightning Component

Saturday, 28 January 2017

Still Running behind app or platform ?

Back at the early dawn of prehistory, we used to reserve our utilization of the word platform to denote a consummate software programming development environment and underlying subsystem with language, runtime, components and all associated libraries and binaries. 




The result of utilizing a platform (Microsoft .NET or Java for example) was a software application, which in later years even your grandmother would commence to call “an app” – and then the Earth cooled.
In the next age of man, a platform became something marginally different. Where we used to cerebrate of a platform as the underlying computer system, we now probably have to accept the fact that the industry considers a platform to be anything that you can build upon. 

To be more pellucid, a platform could be your smartphone i.e. it has its own contrivance form factor and its own facility to interconnect with other software streams, consequently it’s a platform that you can do other things with that were not pristinely envisaged at the time of its initial design – and this is the consequential point.

Why don’t you endeavor Salesforce - with platform and app ? Well its sound awe-inspiring  but Is salesforce awe-inspiring tooo 

                                             

Brace yourselves: It’s both. (Insert sound of minds being blown)


But truth be told, it shouldn’t matter what it is. Salesforce is a consummate CRM (Customer Relationship Management) implement that avails you sell, accommodation, market, and prosper, is plenarily secure and trusted by millions of users, and can evolve with your desiderata over time. 


Our suite of seven Salesforce apps is the core of our business. Many of our customers stick to 1-2 of these apps focused in categorical areas, while others layer on all seven to solve for a wide range of issues across their entire business.


                                       

Our apps sanction our customers to decide what they require, when they require it. The resplendency is that it’s all on one platform that can deploy in days or weeks, and is secured by our world-class trust infrastructure.
Because most of it is prebuilt and yare to rock, our customers can fixate on integrating value, not building from scratch.


Reference:
http://www.slideshare.net
https://trailhead.salesforce.com/wave_analytics_basics/wave_start_surfing_the_wave







Thursday, 26 January 2017

Salesforce Essentials - 10(Triggers)


Triggers



Triggers can be created on any custom or top-level
standard objects.


Triggers execute either before or after the event.

– before triggers can update or validate values before
they are saved to the database.

– after triggers can access field values that are set
automatically (such as ID or lastUpdated fields) or to
affect changes in other records (such as auditing or
queued events).



Trigger Syntax




To define a trigger, use the following syntax:

trigger triggerName on ObjectName (trigger_events) {
code_block
}

where trigger_events can be a comma-separated list of one or more of the
following events:


  • before insert
  • before update
  • before delete
  • after insert
  • after update
  • after delete
  • after undelete


Monday, 23 January 2017

Salesforce Essentials - 9(Introduction to Triggers)

Introduction to Triggers



Apex can be invoked through the utilization of triggers. 

trigger is Apex code that executes afore or after
the following types of operations:

  • insert
  • update
  • delete
  • merge
  • upsert
  • undelete
Triggers can additionally modify other records of the same type as the records that initially fired the trigger. For example, if a trigger fires after an update of contact A, the trigger can additionally modify contacts B, C, and D. Because triggers can cause other records to transmute, and because these transmutations can, in turn, fire more triggers, the Apex runtime engine considers all such operations a single unit of work and sets limits on the number of operations that can be performed to obviate illimitable recursion. Optically discern Execution Governors and Limits.


Trigger Syntax


To define a trigger, use the following syntax:

trigger triggerName on ObjectName (trigger_events) {
code_block
}


where trigger_events can be a comma-separated list of one or more of the
following events:

  • before insert
  • before update
  • before delete
  • after insert
  • after update
  • after delete
  • after undelete




Wednesday, 18 January 2017

What Can You Do with Wave Analytics and Salesforce as a Business User





Salesforce Wave Analytics, additionally called Analytics Cloud, is a business perspicacity (BI) platform from Salesforce.com that is optimized for mobile access and data visualization.

Wave Analytics is Salesforce—secure, trusted, scalable, and, of course, mobile! It enables everyone in your org to get immediate access to potent data insights through its intuitive point-and-click visual interface. Whether you’re on a desktop browser or an iOS mobile device—even the incipient Apple Watch™—you can get the answers you require from your data in order to run your business.





Businesses are always probing for ways to increment productivity and ameliorate their customer’s experience. But what if you could achieve both with one simple app? Essentials phone accommodation, from matching your call to a record to logging that call upon completion







What Can You Do with Wave Analytics?


Wave Analytics is much more than business astuteness — it’s a purport-built suite of apps for every line of business. Now your entire organization can instantly get consequential answers and commence making data-driven decisions. Wave will transform the way your company uses analytics, and make every employee more valuable.


Insight to Action Using Wave Analytics and Custom Actions By Kerry Townseed 





Please refer the link for detailed insights :
http://www.slideshare.net/awesomeadmin/insight-to-action-using-wave-analytics-and-custom-actions


Reference:

http://www.slideshare.net
https://trailhead.salesforce.com/wave_analytics_basics/wave_start_surfing_the_wave
https://www.salesforce.com/products/analytics-cloud/solutions/sales-wave/



Tuesday, 17 January 2017

Salesforce Essentials - 8(Exception Statements)

Exception Statements


Apex uses exceptions to note errors and other events that
disrupt the normal flow of code execution. throw
statements can be used to generate exceptions, while try,
catch, and finally can be used to gracefully recover from an
exception



Syntax:



try {

code_block

}

catch (exceptionType) {

code_block

}

}

finally {

code_block


Monday, 16 January 2017

Solved Questions By Our Community Superstars - Part 2(Formula Special)

Questions and Answers 


Question-Date formula that populate TODAY but, ONLY if its a business day.

I am trying to figure out a date field formula that I am using in process builder and I need a little help. The formula below, I am using to populate TODAY + X number of business days. It works great! However I have another scanerio where I need to populate TODAY but only if today is a business day. In othewords...
  • if today is a business day, populate today's date as field value.
  • if today is not a business day, populate the next business day's date as field value.
How can I tweak this fomula to meet the above business requirements?

CASE( 
MOD(TODAY()- DATE(1900, 1, 7), 7), 
0, (TODAY()) + 1+ FLOOR((1-1)/5)*2, 
1, (TODAY()) + 1+ FLOOR((1)/5)*2, 
2, (TODAY()) + 1+ FLOOR((1+1)/5)*2, 
3, (TODAY()) + 1+ FLOOR((1+2)/5)*2, 
4, (TODAY()) + 1+ FLOOR((1+3)/5)*2, 
5, (TODAY()) + 1+ CEILING((1)/5)*2, 
6, (TODAY()) - IF(1 > 0,1,0) + 1 + CEILING((1)/5)*2, 
NULL)

Answer -  By Martin Keating  https://success.salesforce.com/profile?u=0053A00000ATIF0)

CASE(
    MOD( TODAY()- DATE( 1900, 1, 7 ), 7 ),
    6, TODAY() + 2,
    0, TODAY() + 1,
    TODAY()
)


Question - Validtion rule to restrict picklist values based on record type


This is my rule for 2 record types with the Type values that the record types need to correspond to. I've used this as a guide: http://salesforce.stackexchange.com/questions/27658/picklist-value-available-for-selection-on-change-of-record-type?answertab=active#tab-top 

I added in the "NOT" because it should fire if the person has Journey Feedback as the record type and something that isn't Arrival Time, Driver, Payment, or Lost Property as the Case Type. I've also tried it without the "NOT" and it didn't work. 

The rule isn't working and is instead firing every time I try to save a case with Journey Feedback or Account Support as the record type. Any suggestions and feedback very welcome! :) 

OR( 
AND(
     RecordType.Name = 'Journey Feedback',
    OR(
        NOT(ISPICKVAL(Type, 'Arrival Time')), 
        NOT(ISPICKVAL(Type, 'Driver')), 
        NOT(ISPICKVAL(Type, 'Payment')),
        NOT(ISPICKVAL(Type, 'Lost Property'))

    )
),
AND(
  
     RecordType.Name = 'Account Support',
    OR(
        NOT(ISPICKVAL(Type, 'Status')), 
        NOT(ISPICKVAL(Type, 'Amendment')), 
        NOT(ISPICKVAL(Type, 'Update Payment Method')),
        NOT(ISPICKVAL(Type, 'Support')),
        NOT(ISPICKVAL(Type, 'Payment Taken')), 
        NOT(ISPICKVAL(Type, 'Statement Request')),
        NOT(ISPICKVAL(Type, 'Invoice Request'))
    )
))

Answer - By Akhil (https://success.salesforce.com/profile?u=0053000000B2856)


OR(
AND(
RecordType.Name = 'Journey Feedback',
NOT(ISBLANK(TEXT(Type))),
CASE(Type,
'Arrival Time',1,
'Driver',1,
'Payment',1,
'Lost Property',1,
0) = 0,
),
AND(
RecordType.Name = 'Account Support',
NOT(ISBLANK(TEXT(Type))),
CASE(Type,
'Status',1,
'Amendment',1,
'Update Payment Method',1,
'Support',1,
'Payment Taken',1,
'Statement Request',1,
'Invoice Request',1,
0) = 0
)
)

Salesforce Essentials - 7 (Locking Statement)

Locking Statement


Apex allows developers to lock sObject records while they
are being updated in order to prevent race conditions and
other thread safety problems. While an sObject record is
locked, no other program or user is allowed to make
updates


To lock a set of sObject records in Apex, embed the
keywords FOR UPDATE after any inline SOQL statement

Example:

Account [] accts = [SELECT Id FROM Account LIMIT 2 FOR

UPDATE];

Sunday, 15 January 2017

Solved Questions By Our Community Superstars - Part 1(Formula Special )

Questions and Answers 


Question - Workflow or formula field to evaluate two fields and populate a value in a third field.

 I have Two existing formula fields:
Days_Needed_to_Create_Proposal__c (This is a formula field that populates a number based on picklist values from another field)

Days_from_Submitted_to_Created__c (This is a formula field that calculates a number based on two date values)

This is the third field I need, but have not created it yet. This field evaluates the numbers from the two fields above and determines if a proposal was created within the amount of time needed, or less.

Proposal_Requirement_Met__c

EX: If Days_Needed_to_Create_Proposal__c is 5 and Days_from_Submitted_to_Created__c is 4, (in other words <=) then this third field is populated with YES, because the requirement was met.

However, if the requirement of 5 days was not met, in other words Days_Needed_to_Create_Proposal__c is 5 and Days_from_Submitted_to_Created__c is 6 or greater, then this third field should be populated with NO.

I’m not sure if this third field should be a formula field, which I’ve made several unsuccessful attempts at building, or this third field should just be a blank text field and create a workflow/field update that populates the field with YES or NO.

Can you suggest which I should use and provide the correct formula?

 Answer - By Akhil (https://success.salesforce.com/profile?u=0053000000B2856)

IF(
Days_from_Submitted_to_Created__c <= Days_Needed_to_Create_Proposal__c,
"YES",
"NO"
)


Question - Formula that sum if date is from past 6 month


Hi all,

I need to roll up some data, that is only relevant to records that Full_Date__c is from the past 6 month.

I tried to use the below syntax but it isnt working since its calculating 12/15 as well

IF((MONTH( Full_Date__c)<=MONTH(today()) && NOT((MONTH( Full_Date__c)>12)) , Inputs__c , 0)

I also tried to use DATE func to convert it but it isnt working as well...

Any suggestion?

​Thanks


Answer -  By Akhil (https://success.salesforce.com/profile?u=0053000000B2856

IF(
AND(
TODAY() >= Full_Date__c,
(
12*(YEAR(TODAY()) - YEAR(Full_Date__c)) + 
(MONTH(TODAY()) - MONTH(Full_Date__c))
) <= 6
),
Inputs__c,
0
)



Salesforce Essentials - 6(SOQL)

SOQL


SOQL refers to the creation of a SOQL string at
runtime with Apex code


SOQL basic syntax



  • SELECT fields FROM sObject [WHERE condition]



Square-bracketed expressions



  • [SELECT Name FROM Position__c]

SOQL Functions

Aggregate functions

  • AVG()
  • COUNT()
  • COUNT_DISTINCT()
  • MIN()
  • MAX()
  • SUM()

Date functions

  • CALENDAR_MONTH()
  • DAY_IN_MONTH()
  • FISCAL_YEAR()
  • WEEK_IN_YEAR()




Thursday, 12 January 2017

Salesforce Essentials - 5(Interface)


Interface


An interface is like a class in which none of the methods have been
implemented the method signatures are there, but the body of each
method is empty.


Example:

Public Interface SalesOrder
{
   Double productDiscount();
   String printProductName();
   }
   With Class
   Public class Sales Implements SalesOrder
  {
      public Double productDiscount()
     {
     }
     public String printProductName()
    {
    }
  }


Tuesday, 10 January 2017

Salesforce Essentials - 4(Collection Of Data In Salesforce)


Collection Of Data In Salesforce

Type of Collections



List

A list is an ordered collection of typed primitives, sObjects, user-defined objects
    The index position of the first element in a list is always 0
      To declare a list, use the List keyword followed by the primitive data, sObject, nested list, map, or set

      type within <> characters.
        For example:
          // Create an empty list of String
          List my_list = new List();
          // Create a nested list
          List>> my_list_2 = new List>>();



          Set

          A set is an unordered collection of primitives or sObjects that do not contain any duplicate elements

          Example:

          Set s = new Set(); // Define a new set
          s.add(1);                            // Add an element to the set
          System.assert(s.contains(1));        // Assert that the set contains an element
          s.remove(1);                         // Remove the element from the set


          Map

          A map is a collection of key-value pairs where each unique key maps to a single value.

          Example:

          Map m = new Map(); // Define a new map
          m.put(1, 'First entry');                  // Insert a new key-value pair in the map
          m.put(2, 'Second entry');                  // Insert a new key-value pair in the map
          System.assert(m.containsKey(1));  // Assert that the map contains a key
          String value = m.get(2);               // Retrieve a value, given a particular key
          System.assertEquals('Second entry', value);
          Set s = m.keySet();       // Return a set that contains all of the keys in the map

          Saturday, 7 January 2017

          Salesforce Essentials - 3(Primitive Data Types)


          Primitive Data Types



          Blob



          • A collection of binary data stored as a single object



          Boolean



          • A value that can only be assigned true, false, or null

          Date
          • A value that indicates a particular day

          Datetime
          • A value that indicates a particular day and time, such as a timestamp

          Decimal
          • A number that includes a decimal point
          Double
          • A 64-bit number that includes a decimal point
          ID
          • Any valid 18-character Force.com record identifier
          Integer
          • A 32-bit number that does not include a decimal point

          Long
          • A 64-bit number that does not include

          Salesforce Essentials -2(Introduction to apex )



                                               Introduction to apex 



          What is Apex?
          • Apex is an Object Oriented and On-Demand Programming Language
          • Apex is working on Force.com Platform (Salesforce Server)
          • Apex is: Multi-Tenant , Scalable, Secure , Trusted and Proven

          Apex Different then Other Oops languages
          • Apex having classes, Data hiding, Data Encapsulation, Inheritance, PolymorphismApex

           Different then Other Oops languages
          • Runs on Multi-tenant environment
          • Case-Insensitive
          • On-Demand

          Thursday, 5 January 2017

          Salesforce Essentials - 1 (Apex Class)

          Apex Class

          A class is a template from which objects are engendered. 

          An object is an instance of a class.

          To define a class, designate the following:


          1. Access modifiers:

                • You must use one of the access modifiers in declaration of a top-level class.

                • You do not have to utilize an access modifier in the declaration of an inner class.

          2.  Optional definition modifiers 

          3.  Required: The keyword class followed by the denomination of the class.


          -Thanks