Monday, February 29, 2016

Salesforce Architect Certification Self Evaluation Exam

I took the Salesforce Architect Certification Self Evaluation exam recently. This officially begins my journey towards the Certification.

So this post is effectively a beginning for a series of posts where I will keep sharing
  • my progress (so that I can keep track of myself :-) ), 
  • any materials I find interesting & useful, 
  • possibly some tips on how to prepare for the exam
  • outline the content of the certification exam
To begin with, let me take you thru the self evaluation questionnaire so you all can get a rough idea of what it actually evaluates..

Similar to all the salesforce certification exams, you can register for the self evaulation exam in Webassessor. The pre-requisite for the self evaluation is either the App builder or the Developer (believe this is the old one and not the new Platform Developer I). The only change for this exam compared to other exams is this exam is not a proctored one. So you can simply launch the exam online from your webassessor account after registering for it.

Type : online, non proctored
Questions : 42
Time : 30 minutes

For the initial set of questions, You have to rate yourself from a scale of
  • 0 - No Experience
  • 1 - General Awareness
  • 2 - Some Experience
  • 3 - Extensive Experience
  • 4 - Expert
for the list of skills listed below. The only suggestion I have here is Please Be Honest with the skill assessment questions. I've given the scale I chose for each skill based on my experience.

Web Technologies
  • CSS - 2
  • AJAX - 3
  • JS Libraries - 3
  • JSON - 4
  • FLEX - 2
  • HTML - 3
  • SOAP - 4
  • REST - 3
  • XML - 3

  • Chatter - 2
  • Customer Portal - 3 
  • Partner Portal Platform - 3
  • High Volume - 2
  • Authenticated Sites - 2
  • Non Authenticated Sites - 1
  • Offline - 1
  • Mobile - 2 
  • Content - 2

Identity Management
  • Single Sign On - 2
  • Delegated Authentication - 2
  • SAML - 2
  • OAuth - 3
  • Identity Federation - 2
  • Public Key Infrastructure - 2
Design Pattern
  • MVC - 4
  • Factory - 3
  • Delegation - 2
  • Interface - 4
  • Singleton - 3

OOPS Principles
A. Polymorphism
B. Inheritance
C. Encapsulation
D. Late vs Early Binding
E. Abstraction

Integration Approaches
A. Apex Web Services Callouts
B. Apex Web Services Callins
C. Outbound Messaging
D. Email to Apex
E. Mashup

A. Change sets
B. ANT Deployment
D. Managed or Unmanaged Packages
E. Third-party or in-house

Source Control
A. Subversion
B. Git
C. Mercurial
D. Visual Sourcesafe

Project Methodologies
A. Agile
B. Waterfall
C. Other

some of these question might be repeated so you can select your experience between General Awareness, Some Experience, Extensive Experience for each of the options under the topics

Finally, you have to give your number of Years in Architect role and Years with Salesforce Platform and provide couple of References from any of your projects where you played an architect role.

I'm working thru my Platform Developer II certification exam currently (the first part - multiple choice exam is scheduled in couple of weeks time and hopefully I can complete the programming assignment in the next couple of months based on the exam calendar).

Friday, February 26, 2016

Getting to know Salesforce is now easy with Trailhead

If you are a long time technologist or getting your head way into the technology world, you will realise learning a new system or platform is not that easy.

Salesforce was no exception to this, until Trailhead came in..

Navigate the Salesforce

Now with this new Trail "Navigate the Salesforce Advantage", the Trailhead team made it easy for anyone to understand 
  • Success Model - the core principles on which Salesforce operates, 
  • Cloud Benefits - what you need to look for when betting your business in cloud,
  • The Ecosystem - feel the benefits of all the different ways you can engage with salesforce 
For anyone who goes thru these modules and projects within the trail, there is a real joy of learning and understanding the basics in a fun way. So go ahead and hit the trail to navigate your way to success !!!

Tuesday, February 09, 2016

Salesforce Sandbox Templates and Post Refresh Scripts

With Salesforce Spring 16 release,

we are getting a nice hook to tag an Apex Class to run every time a sandbox gets refreshed..

Typically Salesforce Administrators or Release management teams, goes thru series of steps every time a sandbox is created or refreshed. Salesforce helped them to some extent by bringing in sandbox templates before.. taking it a step further, now they have added the ability to auto run an Apex Class once the sandbox is ready..

This feature is highly useful when we bring in data from production to a sandbox and if

  • we have to scrap or mask certain fields of certain objects 
  • to meet the enterprise data standards policy / be data complaint 
  • protecting customer's privacy data and also 
  • avoiding any automation in non production environments impacting customers.

Until spring 16, we used to run batch jobs to perform tasks like data cleanup, masking, scrapping etc.. from now on we don't need to run the batch job manually. we can include all the logic into an Apex class and

  • either include that Apex class into a sandbox template if its for a partial or full sandbox

  • or directly specify the apex class if its a developer or developer pro sandbox

This feature will be more useful with Partial and Full sandboxes compared to Developer & Developer Pro sandboxes since we don't get any data being copied across with these 2.

With the increased number of sandboxes available for the latest editions of salesforce, this is definitely a time saver for larger development teams using multiple sandboxes and going thru frequent refresh cycles in a project release.

here's the link to the release note page with details..

Spring 16 Sandbox Post Copy Scripts

Monday, January 11, 2016

Salesforce Global / Universal Picklist - Its Finally arrived..

With Spring 16 release, we are getting the long requested Global / Universal picklist feature..

Note it's still in Beta phase and hopefully will become GA in next release..

So How to create a global picklist and use it, here's a quick intro

1. Go to Setup -> Create , you will see the new Picklists menu item

2. Click the Picklists and you will have option to enter a label and api name, just like you create a normal picklist field. Enter a label and name and go to the next screen

3. you will have a large text area to enter the picklist values. Enter the picklist values and save it

4. Now if you go to create a new custom picklist field, you will have an option to either select the values from a global picklist and enter your own values.

5. Give your new picklist a label and name, and choose the global picklist you created before as the source for values and you are done. 

Thursday, January 07, 2016

Salesforce Custom Metadata Types

Its been a while since Salesforce introduced the Custom Metadata Type feature..

if you are wondering how you can make use of this, here's a use case which I recently worked with.

Store all your integration settings in one place, Yes in a single Custom Metadata instead of multiple Custom Settings

Create a custom metadata type called Integration Settings. Include Fields to identify which external system it is, which environment, and the other additional connection details like the endpoint url, username, password, timeout etc..

Create a Utility class method in Apex which takes the external system name we want to connect to as a parameter, and then identifies the current salesforce environment (say production or sandbox using the Organization details ) and returns the connection details for that system in that environment.

With this, we don't need to ever worry about missing integration details during deployments or having incorrect urls in different environments due to sandbox refresh or migration custom settings data between environments or manually creating configuration details.