Salesforce Spring 17 release – My favorite features

List of my favorite features in Salesforce Spring 17

In this post, I would be only talking about Generally available (GA) features, excluding pilots and Beta. Saving those awesome features for suitable time to come. So, here are some of my favorite picks from Spring 17.

Composite Resource

Imagine we are doing REST API call from external system by creating Account first and then contact. In between if internet connection is gone or user closes browser and only Account created without contact ?  From Spring 17, we can reduce number of REST API calls made by combining them in single request. Advantage of this feature would be easier transaction management and API limit saving. You can have up to 25 subrequests in a single call. Up to 10 of these subrequests can be query operations, including Query, QueryAll, and “Query More” requests to obtain the next batch of query results. Continue reading “Salesforce Spring 17 release – My favorite features”

Become expert in formulas – Salesforce Video Newsletter – July 2015

Salesforce video newletter of July 2015 for Formula

Below are short videos on how to get things done in Salesforce from documentation and user interface team.

Formulas

Formulas are very powerful. They can help you to do everything from pulling informations from parent to child objects or caluclate something on basis of other field present on same record or parent record. Below are list of videos to make you more productive on formula.

Continue reading “Become expert in formulas – Salesforce Video Newsletter – July 2015”

Salesforce Developers interview questions – Most commonly used code snippets – part 21

Salesforce interview questions – Most frequently used Apex and visualforce code used by Salesforce developers like “How to query and abort scheduled job using Apex”, “Defining VF page as HTML5”, “Visualforce page as JSON” , “Handling colon in element Id for Jquery” , “Chatter using Apex” and many more.

201. Common Apex page attributes.

<apex:page sidebar="false" standardStylesheets="false" showHeader="false">

202. Declare Visualforce page as HTML5.

<apex:page docType="html-5.0" />

203. Visualforce page output as JSON.

<apex:page controller="ControllerName"  contentType="application/x-JavaScript; charset=utf-8" showHeader="false" standardStylesheets="false" sidebar="false">
{!jsonString}
</apex:page>

Continue reading “Salesforce Developers interview questions – Most commonly used code snippets – part 21”

Advance Apex debugging in Salesforce and best practices – Videos

How to resolve apex debug log size limit issue, Difference between Eclipse and developer console, Interactive Apex Debugging, Keyboard shortcuts for Developer console and Other best practices

While developing applications on Force.com platform using Apex, I am sure you may have been in need of debugging your code. Salesforce being cloud platform, method to debug code is very different as compared to other programming languages. In this post we will discuss all about Apex code debugging, challenges, solutions and other best practices.

Salesforce Advance Apex debugging
Salesforce Advance Apex debugging

How many ways to debug Apex code

  1. Eclipse Force.com IDE
  2. Debug log
  3. Developer console
  4. Fetch debug log using Tooling API

Continue reading “Advance Apex debugging in Salesforce and best practices – Videos”

Continuous Integration in Salesforce using Flosum AppExchange

Native Force.com solution for Continuous Integration using AppExchange product Flosum

This is first of many upcoming articles on evaluation of Salesforce AppExchange products. In this post we will be discussing capability of native Force.com based solution for Continuous integration. Deployment has always been one of pain point in Salesforce developement. I have worked and proposed many solutions to customers based on their requirement and budget. One of solution which got my attention recently is “Flosum” available and listed on AppExchange from this year.

I have used many traditional continuous integrations like Jenkins, Bamboo, Scheduled ANT script but all of them still involve manual intervention and most important, special skill set to setup and handle any issue arising time to time.

Let’s talk about Flosum and what makes it different at high level:

  • Complete native solution built over Force.com platform
  • Requirement gathering to deployment, all aspects covered
  • Multiple environment management
  • Easy Profile migration
  • Security access to environment for each user
  • Default space 11GB
  • Acts as Version Control
  • Supports Continuous integration and auto deployments
  • Compare Complete Org with historical or current changes
  • 360 reporting view

Continue reading “Continuous Integration in Salesforce using Flosum AppExchange”

Top Google chrome extensions for Salesforce

Checkout if your favorite Google Chrome extension made it in Top extensions for Salesforce

1. Salesforce ORGanizer by Enrico

The ORGanizer Chrome Extension [BETA] lets you forget about your Salesforce.com® username and passwords and help you to recognise Salesforce.com® tabs on your browser.

salesforce chrome extension organizer
salesforce chrome extension organizer

With Salesforce ORGanizer you can:

  • Store your frequently used accounts (basic encryption for password, details on the guide): username / password / login url / landing page
  • Login an account on a new tab, window and window on incognito mode or get the full login URL for other browsers
  • Change an ORG tab and title to instantly recognize which tab belongs to which ORG
  • Use the built in Quick Link tool to quickly access your most used standard Salesforce links
  • Create your personal ORG’s quick link library to handle special links
  • Use the Quick Links tool to make a global search or open a custom relative link (e.g. from a copied Salesforce ID) or login to another ORG
  • Use the Quick Console right inside your Salesforce tab to have quick access to describe manager, queries, execute anonymous and other handy tools

download it from here.

2. Salesforce DevTools

Salesforce Dev tools - Chrome Extension
Salesforce Dev tools – Chrome Extension

Salesforce DevTools is a simple but powerful Force.com developer chrome extension for doing the below things :

  • Salesforce data modal (ERDs) generator (My Favorite)
  • Powerful Apex debug log viewer
  • Easy export definition of objects to Excel file
  • Display fields API name on Salesforce object detail page
  • Quick generate Apex code / SOQL
  • Quick access to new record page, list page and object setting page of any object
  • All Check / Select on profile edit page and field permissions edit page.

download it from here.

3. Salesforce Developer Tool Suite by concret.io.

Does it takes a lot to view debug logs i.e. via setup area or dev console. This extension is an attempt to make this use case simple, by making debug logs visible in 2 clicks, without leaving the current Salesforce tab. Plus, you get a better hierarchical view of debug logs, which are better to analyse.

I have lots of expectation from this extension as this is the one of extension which takes feedback actively (You can find discussion tab just inside app) and frequently releases new capabilities. More features, like Execute Anonymous, Code Coverage, Test Cases are in pipe, will be released soon.

Chrome extension - Salesforce Developer Tool Suite
Chrome extension – Salesforce Developer Tool Suite

install it from here. you can find more about this extension on company blog page.

4. Salesforce Navigator

Second in my list is “Salesforce Navigator” and I cant live without it a single day. On average, it saves more than 50% of my clicks needed for administration. My shortcut for this utility is “Ctrl + Alt + Space” and I guess this most used combination on my system. Using this utility, you can directly navigate to any setup page like Object, Apex class, Pages, Workflow rule etc.

Salesforce Navigator - Google Chrome extension
Salesforce Navigator – Google Chrome extension

install it from here. Continue reading “Top Google chrome extensions for Salesforce”

System mode or God mode in Apex – Gotchas

Gotchas of System mode or God mode in Apex and its impact by using “With sharing” keyword in Salesforce

In many of my previous implementations I have used advantage of Apex code running in System mode however never tried how far it can go in terms of capabilties. There is no specific Salesforce documentation which can explain that what is allowed or not allowed in System mode.

In this post, we will go through some scenario and will try to understand what really is possible in Apex System mode and when it can fail.

Before diving more lets discuss how many types of mode do we have in Apex ?

User Mode : As per this Salesforce post, all Profile level permissions, sharing rules and Field level security are enforced in Apex if it runs in User mode. Standard Controller and Anonymous Apex runs in User mode.

System Mode : Same post conforms that custom controller, trigger, Apex class, controller extension works in System mode. Means eventhough user does not have necessary profile level permission, record level permission or field level permission, but still they can perform any operation on it.

Continue reading “System mode or God mode in Apex – Gotchas”

Using soapUI with Salesforce to test standard and custom web services response

soapUI is most common tool available to test Soap based web services, it also has capability to test REST web services. soapUI can be used to test Partner WSDL, enterprise WSDL, Tooling API, Metadata API to study capability and response from Salesforce before writing any code in Java, C# or any other language. In this article we will see, how we can leverage this tool to test enterprise WSDL from Salesforce.

You can download latest version of soapUI from here.

Continue reading “Using soapUI with Salesforce to test standard and custom web services response”

Continuation object in Apex – Asynchronous callouts for long running request – Live Demo

We may run into scenario in Salesforce project, where we need call external web service but no need to wait for response. Response from external web service can be processed asynchronously and once processed it can be presented in Visualforce page.

We can accomplish this by using Actionsupport or Javascript remoting. However, this is possible with using Continuation method as well.  In Continuation approach, we can call external web service and inform that which callback method should be used to  process response. After execution of callback method, data is presented in visualforce page.

Execution Flow of an Asynchronous Callout - Image from Salesforce documentation
Execution Flow of an Asynchronous Callout – Image from Salesforce documentation

Below code demonstrate complete usage of this.

Continue reading “Continuation object in Apex – Asynchronous callouts for long running request – Live Demo”