LockerService For Lightning Components

At a high level, LockerService uses various technologies and techniques that are intended to do the following:


Components from causing XSS and similar security issues
Components from reading other component’s rendered data without any restrictions
Components from calling undocumented/private APIs


Cool new features like client-side API versioning similar to REST API versioning*
Faster security review
Better and more secure JS development practices
Running 3rd party JS frameworks like React, Angular and so on*
Easily adding or removing new security features and policies

Check the below link for more information

How to increase Salesforce Custom object limitation?

As per the below link, the custom object limit can be increased by Salesforce Account Executive.

Custom Object Limitation

This limit represents the amount of Custom Objects permitted to an organization based on their edition.

The default values are:

Contact Manager: 5
Group: 50
Professional: 50
Enterprise: 200
Unlimited and Performance: 2000
Developer: 400

This is subjected to change, check the below link for update info

Chatter Streams in Salesforce

Let the most useful information on Chatter sail towards you on Chatter streams. Instead of floating around a vast ocean of info, set course on a stream to stay organized and up to date on the most important Chatter conversations.

1. Go to Chatter tab.

2. Click "+" in Streams.

2. Enter a name and select the records.

Salesforce Spring ‘17 Quick Summary

Automated Activity Capture

Automated Activity Capture saves your sales reps hours of time and effort, and ensures data quality and consistency.

After setting up Inbox or Sales Cloud Einstein, Salesforce asks users to connect their Google™ or Microsoft® Office 365® account to Salesforce. Then, on accounts, contacts, leads, opportunities, and person accounts, you see related emails and events. No more blocking out time to add activities to Salesforce.

Collaborative Forecasting in Lightning Experience

Collaborative Forecasting, the tool sales teams know and love, is now in Lightning Experience and is really looking forward to working with everyone.

Kanban View

Now reps can configure any Kanban view on the fly, selecting the fields on which to create columns and summaries.

Console and Knowledge (Beta)

A beta version of console apps are now available in Lightning Experience. Service agents will love the updated user interface and easy-to-use Lightning components.

With Lightning Service, Knowledge is more than just an improved sidebar in the new console. Sure, the handy sidebar connects your service agents to your knowledge base in Lightning Experience. And while working on cases, agents can use the sleek sidebar to see suggested articles, attach helpful articles to cases, and search, sort, follow or unfollow articles.

Omni-Channel Supervisor 

Real-time data means you can make real useful decisions. And that’s exactly what Omni-Channel Supervisor provides you and your contact center.

Omni-Channel Supervisor shows you the big picture of how your service agents are doing—live and without ever leaving the console. Omni-Channel Supervisor is available in Salesforce Classic only.

Field Service Mobile

Field service is now available offline to agents traveling anywhere in the world. With the new Field Service Lightning iOS mobile app, your workforce can get the job done with or without the web.

Krux Data Management

Krux helps you capture and manage data including behaviors, interests, and purchases from all your customers’ devices, anywhere across the web. Whether your customer is using a mobile phone or smart home appliance, you can use Krux to unify and segment all your customer data in one place. Krux helps you gain new insights about your customers, then provides instructions to other systems to improve the effectiveness of your digital advertising.

Krux collects data on a massive scale, and applies machine intelligence to reveal high-value information about your market segments. Typically, the largest marketers have the most to gain from a data management platform like Krux.

Marketing Cloud Connect with Lightning Data Sync

Lightning Data Sync keeps all your Marketing Cloud data accurate and up to date. If you change a contact’s phone number in Sales Cloud, Marketing Cloud Connect picks up the change so you never miss a chance to reach your customers.

Your data syncs automatically at predetermined intervals so there’s no manual work required. And you won’t lose any of your existing schema or relationships—it all ports over to Marketing Cloud. You can even connect different Salesforce orgs to business units within your Marketing Cloud account.

Marketing Mobile App with Lightning UI

If you’re an iOS user, this release brings enhancements to your existing mobile app. The new Home dashboard compiles email performance information from your account on a single screen. Review the performance of your sends at a glance, then tap specific sends for more in-depth information by message or by day. The Home dashboard even provides information on your highest and lowest performing journeys.

Bookmark in Lightning Experience

If you have a lot of content to navigate to in Salesforce. But now, it’s much easier to quickly access your important content with Favorites for Lightning Experience. In Spring ’17, use Favorites to bookmark records, lists, Chatter groups, reports, and dashboards. With Favorites, you’re just a click away from the things you use the most, no matter where you are in the app. And unlike browser bookmarks, your favorites are stored in the cloud. You can always visit then no matter which browser or computer you’re using to access Lightning Experience.

As you use Favorites, Salesforce automatically learns which ones you view the most. Those pages are tracked in the Top Favorites section of the menu for even faster access.

Enhanced Lightning Pages

In addition to assigning pages by profile, you can assign them by app, record type, or a combination of all three. Assigning pages by record type now lets you customize Person Account Lightning Pages. You can configure your record pages so that your salespeople and your sales managers can view the same record in the way that’s the best fit for them.

Global Actions in Lightning Experience

Global actions let you create records without ever leaving the page you’re on. This release, we’ve extended the capabilities of global actions in Lightning Experience. Instead of just your basic task and event actions, the global actions menu now displays nearly all global actions from the Salesforce1 and Lightning Experience Actions section of the global publisher layout.

Audience Targeting

With Spring ‘17, you can hit your community’s target audience more effectively. With criteria-based audiences, you can target pages to users based on profile, location, or record type.

Self-Service Communities with Google Analytics

Using Google Analytics, you can track search keywords, discussions, and articles most used to deflect cases or before a case is created. Dive deeply into your community’s search behavior and pull that information into meaningful reports.

Chatter Streams

Let the most useful information on Chatter sail towards you on Chatter streams. Instead of floating around a vast ocean of info, set course on a stream to stay organized and up to date on the most important Chatter conversations.

Bookmark in Lightning Experience

1. Click Star button to bookmark.

2. Click Bookmarks menu to view it.

Kanban View for Opportunity in Salesforce

To Edit

1. Go to Kanban Settings.

2. Change the Kanban Settings.

Getting all groups and it's members via Data loader in Salesforce

1. Extract Group Members using the below query.

SELECT Group.Name, UserOrGroupId FROM GroupMember

2. Extract Users using the below query.


3. Use VLOOKUP to find the name of the user using UserOrGroupId from GroupMember.

Salesforce Optimizer

Salesforce Optimizer analyzes your implementation to determine ways that you can simplify customization and drive adoption of features. We analyze a suite of features across your implementation and give you concrete recommendations for how you can improve your Salesforce experience.

Optimizer analyzes a suite of features and sends you a personalized report about how you can improve your implementation. You can run Optimizer for both sandbox and production.

To run Salesforce Optimizer, below permissions are required in the Profile
1. Customize Application
2. Modify All Data
3. Manage Users

1. Go to Monitor --> Optimizer.

2. Launch Salesforce Optimizer.

How to create Follow Up Task and Event in Salesforce?

How to get started with Amazon AWS?

1. Go to

2. Sign up for free account and explore it.

Sort Wrapper List by multiple values

Sample Apex Class:

public class Book implements Comparable {

    public String BookTitle ;
    public String Author;
    public Double Price ;
    public Date publishingDate;

    public Book(String bt, String a, Double p, Date pd) {
        BookTitle = bt;
        Author = a;
        Price = p;
        publishingDate = pd;

    public Integer compareTo(Object objToCompare) {
        Book BooksWrapper = (Book)objToCompare;
        if ( this.BookTitle >  BooksWrapper.BookTitle) {
            return 1;
        } else if ( BookTitle < BooksWrapper.BookTitle ) {
            return -1;
        } else if ( Author < BooksWrapper.Author ) {
            return 1;
        } else if (Author > BooksWrapper.Author ) {
            return -1;
        }  else if ( Price < BooksWrapper.Price ) {
            return 1;
        } else if (Price > BooksWrapper.Price ) {
            return -1;
        } else {
            return 0;

In the above example, Books wrapper list is first ordered by BookTitle in ascending order and then ordered by Author and Price in descending order.

Execute the below code in Developer Console.

Book[] books = new Book[]{
new Book('Salesforce Developer Guide', 'Kanetkar',58, Date.newInstance(2016, 05, 20)),
new Book('Salesforce Developer Guide', 'Jeff Douglas', 35, Date.newInstance(2011, 08, 20)),
new Book('Salesforce Developer Guide', 'Yashavant P. Kanetkar', 58, Date.newInstance(2008, 02, 01)),
new Book('Handy Lightning Book','Elisabeth Freeman', 28,Date.newInstance(2018, 11,15)),
new Book('Salesforce Developer Guide', 'Kanetkar', 78, Date.newInstance(2008, 11, 29)),
new Book('First SOQL', 'Elisabeth Freeman', 28, Date.newInstance(2004, 10,21))


for ( Book b : books)



How to show required symbol in apex:inputText?

Sample Code:

Visualforce Page:
<apex:page controller="Sample">
    <apex:form >
        <apex:pageBlock >
            <apex:pageBlockSection >
                <apex:pageBlockSectionItem >
                    <apex:outputLabel value="Test Label"/>
                    <apex:outputPanel styleClass="requiredInput" layout="block" >
                        <apex:outputPanel styleClass="requiredBlock" layout="block"/>
                        <apex:inputText value="{!str}" required="true"/> 


Apex Class:
public with sharing class Sample { 

    public String str {Get;set;}
    public Sample() {