Wednesday, April 25, 2018

Autoscratcher tool by Mick Wheeler

Mick Wheeler ( recently announce on twitter about an interesting tool he created to fetch the source code from git, spin up a new scratch org and push the source code into this newly created scratch org. In addition to this, you can run an apex class in this org using this tool after the source code is pushed. The tool is built using node.js. People having knowledge of node.js can have a peek at the source code in github at

Ofcourse the tool can be enhanced to perform more sfdx supported operations like running test classes, loading data etc.

Original link to the tweet -

Wednesday, October 18, 2017

Salesforce DX is now Generally Available(GA)

Wade Wegner who is Vice President Salesforce DX/Salesforce today(17th Oct 2017) announced that Salesforce DX is now Generally Available for all. He announced this on Twitter through this pinned tweet "I'm incredibly excited to share that is now GA. Congrats to an amazing team & thanks to all of you!" and through the Salesforce Developer Blog

Please note that the Salesforce DX was previously in Open Pilot for some time and then through last few months it was in Beta. Even in Beta phase it was quite stable.

Customers can enable Dev Hub on their production org or if they want to try Salesforce DX, they can register for a trial dev hub org through this link

Once registered the users can download the CLI tool ( )and use it to do development, create scratch orgs, push and pull source code from these scratch orgs.

Developers can also use it to deploy and retrieve metadata from Sandbox and Production orgs. They can even use it for destructive deployments for deleting metadata from the orgs.

Visual Studio Code is now officially supported Text Editor instead of IDE which is not very surprising for most developers as IDE which is eclipse based in very challenging to work with.

The Visual Studio Code editor has nice code completion feature implemented using Apex Language Services. Syntax highlighting for Visualforce and HTML code is supported.

Since Salesforce DX CLI tool can output json it is very useful for chaining of tasks and scripting in CI/CD Tools like Jenkins.

We have created several videos on Salesforce DX. Please visit our channel to find out more.Here is the link

Some important videos from our channel

Destructive Deployment using Salesforce DX CLI

How to use GIT and Salesforce DX commands in VSCode

Salesforce DX Secret - Where does Salesforce DX store changes in the org

Bulk Data Load using Salesforce DX CLI

How to install and configure VSCode with Salesforce DX

Salesforce DX and Jenkins Series

Tuesday, September 26, 2017

Salesforce lightning Interview Question and Answers

What is Salesforce Lightning?
  • Lightning is the umbrella term for the collection of tools and technologies e.g. Lightning component framework, lightning experience, lightning app builder etc.
  • Lightning  became available in October 2015 with the release of Winter ‘16

What are Lightning components?
  • Components are the self contained source and reusable units of an app.
  • UI Framework - Built on Open Aura Framework.
  • It is used for developing web apps - For mobile and desktop devices.
  • It is a client server framework.
  • It helps to accelerate the development.
  • It helps to improve application peformance. It has stateful client and stateless server.
  • It has several reusable out of the box components.
  • A Component can contain other components, JS, HTML and CSS.
  • Encapsulated, configured through attributes and communicate through events.
  • LC are device aware and have cross browser compatibility.

What is Aura? What is the relation of Aura with Salesforce Lightning?
  • It is a UI Framework for developing dynamic web apps for mobile and desktop devices.
  • It is totally independent of Salesforce.
  • It has several out of the box components like button,checkbox,datagrid etc.
  • It is available at
  • The aura namespace contains components to simplify your app logic, and the ui namespace contains components for user interface elements like buttons and input fields.
  • The Lightning Component framework is built on the open source Aura framework.

What is Lightning Experience
  • Lightning Experience is the new, modern user experience and interface for using Salesforce.
  • It has a modern and responsive design. It is optimized for users so that they can work very fast and easily on records so that they are more productive.
  • Not every feature of Salesforce is supported in Lightning Experience yet. Because of this, Salesforce Classic – is still available, and users can switch between Lightning Experience and Salesforce Classic with ease.
  • It is not necessary for the entire org to move to Lightning Experience at the same time. Certain users can enable Lightning Experience, while others can continue using Salesforce Classic.
  • Admins can enable Lightning Experience access at the user, profile, and organization level.

What are Lightning Apps?

Lightning Apps are made of Lightning components.
  • Lightning App  is a special top-level component whose markup is in a .app resource.
  • You can Access app using url of this pattern
  • Mark up starts with
  • Types
    • Standalone – can be hosted outside SF1 and LE, like lightning out and VF pages
    • Lightning Experience and SF1 – Can take advantage of record create and edit pages, among other benefits

What is pre-requisite for learning Lightning component development?
  • Learn JavaScript. You must have intermediate level of JavaScript knowledge.
  • Learn concept of web components like google polymer, react,etc
  • Learn Single page app concept.
  • CSS3 Knowledge.
  • JavaScript debugging.
  • Apex knowledge for server side logic coding.

What is a Lightning Component Bundle? OR What is a Lightning component made up of?

A component bundle contains a component or an app and all its related resources.
  • CSS Styles
  • Controller
  • Design
  • Documentation
  • Renderer
  • Helper
  • SVG File

What are the types of events in Lightning?
  • Component events are handled by the 
    • component itself or 
    • a component that instantiates or contains the component.
  • Application events are handled by 
    • all components that are listening to the event. These events are essentially a traditional publish-subscribe model.

What is @AuraEnabled annotation used for?
  • The @AuraEnabled annotation enables client side access to an Apex controller method.
  • Providing this annotation makes your methods available to your Lightning components.
  • Only methods with this annotation are exposed. 

What is Lightning Design System (SLDS)?
  • The Salesforce Lightning Design System includes the resources to create user interfaces consistent with the Salesforce Lightning principles, design language, and best practices. 
  • It helps to create an intuitive UI with less number of clicks which is modern and beautiful.

What is the use of access=“global”?
  • Mark your resources, such as a component, with access="global" to make the resource usable outside of your own org. For example, if you want a component to be usable in an installed package or by a Lightning App Builder user or a Community Builder user in another org.

What are Component Attributes?
  • Component attributes are like member variables on a class in Apex.
  • They are typed fields that are set on a specific instance of a component, and can be referenced from within the component's markup using an expression syntax. 
  • Attributes enable you to make components more dynamic.
  • Use the tag to add an attribute to the component or app.
  • All attributes have a name and a type.
  • Attributes may be marked as required by specifying required="true", and may also specify a default value.
What is Lightning Data Services?
  • It is data Layer for Lightning
  • Can be equated to Standard Controllers in Visualforce
  • Use Lightning Data Service to load, create, edit, or delete a record in your component without requiring Apex code.
  • No SOQL required.
  • Lightning Data Service handles sharing rules and field-level security automatically.
  • Declarative CRUD operations
  • Auto notify on record changes
  • Offline Access for Salesforce1
  • Lightning Data Service improves performance and user interface consistency.

What is Salesforce Lightning CLI?
  • It is part of  Salesforce DX CLI Command that lets you scan your code for general JavaScript coding issues and Lightning-specific issues.
  • Useful for preparing your Lightning components code for LockerService enablement.
  • Based on ESLint project.

Is Namespace required for lightning component creation?
  • If you’re not creating managed packages for distribution then registering a namespace prefix isn’t required, but it’s a best practice for all but the smallest organisations.

What are Local and Global ids with respect to lightning component?
  • A component has two types of IDs: a local ID and a global ID. 
  • You can retrieve a component using its local ID in your JavaScript code. 
  • A global ID can be useful to differentiate between multiple instances of a component or for debugging purposes.
  • Local ID is created by using the aura:id attribute.
  • example
  • To find the local ID for a component in JavaScript, use cmp.getLocalId()
  • Every component has a unique globalId, which is the generated runtime-unique ID of the component instance.
  • A global ID  is not guaranteed to be the same beyond the lifetime of a component, so it should never be relied on.

What is the requirement for a component to be used in a custom tab in lightning experience or Salesforce1?

  • Add the force:appHostable interface to a Lightning component to allow it to be used as a custom tab in Lightning Experience or Salesforce1.
  • Components that implement this interface can be used to create tabs in both Lightning Experience and Salesforce1.

What is FlexiPage?
  • FlexiPage Represents the metadata associated with a Lightning page. 
  • A Lightning page represents a customizable screen made up of regions containing Lightning components.

Watch it in video format

Sunday, September 24, 2017

Salesforce Dreamforce 2017

Dreamforce is the learning event of the year and the largest software conference in the world. It is hosted by Salesforce in California USA. It started 15 years back and Salesforce has been hosting this every year since then.

People from all around the world attend this event. It is a dream of every developer to attend this event once. There is lot of learning in this event as all the who's who of Salesforce and World give sessions in this event. The sessions are on variety of topic. Salesforce customers and partners showcase their solutions and products in this event. 

For 2017, Full Conference pass is already sold out. It will be a 4 day event with more than 2700+ sessions on varied topics. It will be starting Monday, November 6, 2017 and will end on Thursday, November 9, 2017. 

Here are some important links for 2017


List of finalised sessions

Registration link

Tuesday, September 19, 2017

Salesforce Integration Interview Question and Answers

1. What is XML?
  • XML is Extensible Markup Language (XML)
  • It is similar to HTML. HTML is used to display data, XML is designed for carrying data.
  • It's main purpose is to transport and store data.
  • Unlike HTML, XML tags are not predefined. You must define your own tags.
  • XML is self describing.
  • XML uses a DTD (Document Type Definition) or XML Schema to formally describe the data.

2. What is an API?
  • Stands for Application Programming Interface.
  • It defines how the software systems must interact.
  • Salesforce provides programmatic access to information using simple, powerful, and secure APIs.
  • Allows one piece of software to make use of the functionality or data available to another system.
  • Examples in Salesforce
  • Bulk API
  • Metadata API
  • Streaming API

3. What is Remote Site Settings used for?
  • Before any Visualforce page, Apex callout, or JavaScript code using XmlHttpRequest in an s-control or custom button can call an external site, that site must be registered in the Remote Site Settings page, or the call fails. 
  • In this setting, You need to specify the URL that you want to access. 
  • You can deactivate the setting if needed.

4. What is Oauth?
  • OAuth (Open Authorization) is an open standard for token-based authentication and authorization on the Internet.
  • It is a way for Internet users to grant websites or applications access to their information on other websites but without giving them the passwords.
  • It is used by companies such as Google, Facebook, Microsoft and Twitter to permit the users to share information about their accounts with third party applications or websites.

5. What is JSON?
  • JSON or JavaScript object notation is an open standard that uses human readable text to transmit data consisting of key-values and arrays.
  • It is a lightweight data-interchange format.
  • It is very easy to read and write. It is concise and lightweight.
  • It is a very common data format used for asynchronous browser/server communication, including as a replacement for XML in some AJAX-style systems.
  • JSON is a language-independent data format
  • JSON is text, and we can convert any JavaScript object into JSON, and send JSON to the server.
  • We can also convert any JSON received from the server into JavaScript objects.

6. What is cURL used for?
  • cURL is a command line tool for getting or sending files using URL syntax.
  • It supports a range of common Internet protocols, currently including HTTP, HTTPS, FTP, FTPS, SCP, SFTP, TFTP, LDAP, DAP, DICT, TELNET, FILE, IMAP, POP3, SMTP and RTSP.
  • Example usage in of cURL tool related to Salesforce is to send HTTP requests to access, create, and manipulate REST resources on the platform.

7. What is WSDL?
  • A WSDL is an XML document that describes a web service. It contains a standardized description on how to communicate using a web service 
  • It actually stands for Web Services Description Language.
  • Salesforce offers two types of WSDL
    • Enterprise
    • Partner

8. What is the use of Enterprise WSDL?
  • The Enterprise WSDL is strongly typed.
  • The Enterprise WSDL is tied (bound) to a specific configuration of Salesforce (ie. a specific organization's Salesforce configuration). It is optimized for a single org.
  • The Enterprise WSDL changes if modifications (e.g custom fields or custom objects) are made to an organization's Salesforce configuration.
  • Ideal for integration with single Salesforce org.

9. What is the use of Partner WSDL?
  • The Partner WSDL is loosely typed.
  • The Partner WSDL can be used to reflect against/interrogate any configuration of Salesforce (ie. any organization's Salesforce configuration). It is optimized for multiple Salesforce orgs.
  • The Partner WSDL is static, and hence does not change if modifications are made to an organization's Salesforce configuration.
  • Ideal for integration with multiple Salesforce orgs.

10. What is SOAP UI?
  • SoapUI is a free and open-source app for testing SOAP and REST services.
  • It can be used for API Functional Testing, API Performance Testing, API Security Testing, API Mocking, etc.
  • It is available for download from

11. What are Connected Apps?
  • A connected app integrates an application with Salesforce using APIs. 
  • Connected apps use standard SAML and OAuth protocols to authenticate, provide single sign-on, and provide tokens for use with Salesforce APIs. 
  •  In addition to standard OAuth capabilities, Connected apps allow Salesforce admins to set various security policies and have explicit control over who can use the corresponding apps.

12. What is Bulk Api?
  • Based on REST Principles.
  • Can be used for querying, insert, delete, update, upsert of many records asynchronously by submitting batches. Salesforce processes batches in the background.
  • It is a Asynchronous API.
  • Has the ability to work with large data sets like 500,000 records. So, API for loading large amount of data
  • Can be enabled in data loader.

13. What is SOAP API?
  • SOAP is used as wrapper for API Operations. 
  • It is used to create,update,retrieve and delete records.
  • Oldest of the APIs used in Salesforce
  • Mostly used in enterprise settings.
  • Oriented around accessing data and manipulating records.
  • Mostly used with XML Data.

14 What is REST API?
  • REST stands for Representational State Transfer.
  • Simpler than SOAP API. It is easy to develop and integrate.
  • Preferred for Salesforce integration with Mobile device. Preferred as Public API
  • Mostly used with JSON data.
  • Uses the HTTP build-in headers (with a variety of media-types) to carry meta information and use the GET, POST, PUT and DELETE verbs to perform CRUD operation

15. What is Metadata API?
  • Metadata means data about data.
  • Metadata API main focus is on accessing metadata.
  • Use Metadata API to retrieve, deploy, create, update, or delete customizations for your org.
  • The most common use is to migrate changes from a sandbox or testing org to your production environment.
  • It can be used to manipulated metadata elements like Page Layouts, Apex Classes, VF Pages, etc.
  • Tools like IDE and migration toolkit uses metadata API
  • It is SOAP based.

16. What is Streaming API?
  • Streaming API can be used to get a real time notification of data changes in Salesforce.
  • The matching data criteria( for the data for which we want to receive notification) can be defined using a SOQL query.
  • It is much efficient than the clients who continuously poll the server.
  • It internally uses Bayeux Protocol.

17.What is Lightning Connect?
  • Salesforce Connect is a framework that enables you to view, search, and modify data that’s stored outside your Salesforce org. The data can be on premise (e.g. SQL Server) or on cloud (another Salesforce org).
  • It was earlier called as Lightning Connect.
  • Uses concept called as External Objects which are similar to custom objects.
  • Based on OData (Open Data Protocol) which is a modern, REST-based protocol for integrating data.
  • Data Integration is done in real time.
Watch in video format

DontStopDeploying Salesforce DX Challenge from Salesforce on Twitter

Salesforce is running Salesforce DX Challenge on twitter. Anyone can participate in this challenge. It is a 5 day program starting from 18th September and it ends on 22nd September.  In this challenge you need to complete and earn "App Development with Salesforce DX" badge on Trailhead. After completing all the steps of this module you need to take the screenshot of final “Woohoo!” screen and tweet the image with text "Game over! I completed the #DontStopDeploying Challenge!".
After tweeting, you need to fill up a form located at
In this form, you need to enter your name, address, link to your Trialhead profile and link to the tweet that you tweeted. If you are one of the first 1000 person to complete this, you will win goodies from Salesforce.

More details are available at

Here is the twitter link to the hashtag and youtube video of the competition

So, don't wait, just get the badge and win some goodies from Salesforce.

Learn Salesforce DX from our channel

Monday, September 18, 2017

Salesforce Interview Question and Answers

1. What is
  • also know as SF or SFDC is a cloud computing company located in USA. It was founded by Marc Benioff in 1999.
  • Salesforce provides customer relationship management software built on its platform. Using this, customers can manage acquisitation of potential customers and provide servies and support to existing customers.
  • It provides several applications built on top of Salesforce Platform like Sales Cloud ( for selling your products to customers), Service Cloud ( for providing service), Health Cloud ( Product built specifically for HealthCare companies), Finance Cloud ( Product built for Finance domain companies), Analytic Cloud (for Analyzing data. There are several other products.

2. What is Cloud Computing?

Cloud computing is the delivery of computing services—servers, storage, databases, networking, software, analytics and more—over the Internet ("the cloud"). 
E.g. are Salesforce, Amazon, Microsoft and Google.
Here are a few of the things you can do with the cloud:
  •     Create new apps and services
  •     Store, back up and recover data
  •     Host websites and blogs
  •     Stream audio and video
  •     Deliver software on demand
  •     Analyse data for patterns and make predictions

3. What is a CRM?
  • CRM means Customer Relationship management. Relationship management is done between 
  • Company and the new  customers ( for Sales).
  • Company and the existing customers ( for service).

4. To use Salesforce which software needs to be installed?
  • There is no need to install any new software on your machine to access Salesforce.
  • All the data and application resides on Salesforce server.
  • You can access your application using a standard web browser like Google Chrome, Mozilla Firefox or Internet Explorer. Since these browser are available on Windows, Ubuntu, Android and Mac OS there is no dependency on OS as well.
  • You also do not have to maintain the application as it is maintained by Salesforce. Any new updated released by Salesforce will also be applicable to your application

5. What is a Lead?
  • A sales lead is a prospective consumer of a product or service, created when an individual or business shows interest and provides contact information. 
  • Businesses gain access to sales leads through advertising, trade shows, direct mailings and other marketing efforts. 
  • They can also purchase sales leads from third-party companies.

6. What is a Campaign in Salesforce
  • Campaign is planned set of activities that people carry out over a period of time to achieve an objective.
  • It can be a direct mail program, seminar, print advertisement, email, or other type of marketing initiative.
  • Campaign in Salesforce is a Standard Object which is used to track, manage and plan your marketing project.
  • Campaigns are an excellent tool to track ROI and KPIs, optimize efforts, record marketing activity and provide accountability and visibility to the rest of the company.

7. What is Sales Cloud?
  • Sales Cloud is Sales application provided by Salesforce
  • It helps to grow customer base, find new customers and close the business deals faster
  • It includes functionality related to Account and Contact Management, Opportunity Management, Campaign Management, Product and Asset management, Forecasting, Territory Management, etc.

8. What is Service Cloud
  • It is Customer service and support solution provided by Salesforce.
  • Using this you can provide service through phone, email, social media, communities or chat.

9. What are the different editions offered by Salesforce?
  • Lightning Professional Edition.
  • Lightning Enterprise Edition
  • Lightning Unlimited Edition
  • Developer Edition

10. What is a Salesforce User License?
  • The license assigned to each user determines which features the user can access in Salesforce.
  • Each user can have only one user license.
  • License is assigned to the user using Profile settings in Salesforce.

11. What is Salesforce AppExchange?
  • AppExchange is Salesforce Application market place.
  • Apps in AppExchange are customized for Salesforce and extend Salesforce to every department and every industry.
  • Anyone can browse and explore AppExchange demos and test drives.
  • It features both free as well as paid apps.

12. What is Salesforce1?
  • It is a mobile application which give access to Salesforce data on a mobile
  • It is available for android and iOS devices and mobile browsers.
  • It can be enabled/disabled for a salesforce organization

13. What is Chatter?
  • It is an enterprise collaboration platform. It can be used to exchange information, data and files between users
  • It is by default enabled in Salesforce organization
  • It can also be used for sending messages between users.
  • You can create public and private groups for sharing information.

 Watch this in video format...

How to install Visual Studio Code (VSCode) with Salesforce DX - Sep 2017

In this post, we will see how to install Visual Studio Code (vscode) and install Saleforce DX CLI (SFDX CLI) as an extension in vscode text editor .Salesforce DX Development team has added Syntax highlighting for Apex, Visualforce and Lightning bundle files. Auto complete feature is provided for Apex code, which is based on Apex Language Server.

Salesforce DX is now generally available. Visual Studio code is now officially supported with Salesforce DX instead of IDE which is not very surprising as it is very challenging to work with the IDE.

VS code uses Java and a jar file under the hood to provide syntax highlighting and auto completion. So we need to install latest version of Java first.

You also need SFDX CLI installed on your machine to use the Salesforce DX features in VSCode IDE.

Install JDK from Oracle Website and set the JAVA_HOME environment variable.

Download and install vscode from The extension name is
"Visual Studio Code Extension Pack for Salesforce DX"

Visual Studio Code Extension can be downloaded from

If you have already installed the extension and are facing issue like the command not appearing in the command pallete, uninstall the extension and try reinstalling those.

See and follow the procedure given in this video.

Autoscratcher tool by Mick Wheeler

Mick Wheeler ( ) recently announce on twitter about an interesting tool he created to fetch the source code from ...