Previously, I have added multiple posts in this blog on how you would face governor limit errors on each step of Salesforce implementation and how we can leverage selenium to perform load testing of Salesforce to some extent.
SOAP UI is powerful tool and in this post we will see how it can be used to perform load testing of Salesforce API.
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”
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.
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.
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.
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
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
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
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
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.
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.
There are many ways to login to your Salesforce instance, using Google, Facebook, Linked, Twitter and even from other Salesforce Organization. I am sure many of readers has multiple Salesforce instances and its hard to remember password of each. We can connect every Salesforce instances and login using only one. In this post we will see, how we can login to one Salesforce from other using built in Authentication provider from Salesforce.
Throughout this article I will use term “service provider Salesforce instance” for Organization where I need to go after login and “Authentication Provider instance” which will authenticate user and will act as source organization for login.
Enable MyDomain
First step to start with Authentication Provider is to setup my domain in your “service provider Salesforce instance“. This step is important so that it will display all available Authentication provider for that Salesforce instance.
Create Connected app
If you want to login from Facebook, LinkedIn or any other web application, you need to inform Salesforce that those applications are legitimate and this is very important piece of OAuth2. One of major difference between OAuth1 and OAuth2 is that OAuth2 provides scope where you can set what specific permission this Connected App will need.
Connected App also has “Consumer Key” and “Consumer Secret” which is equivalent to “username” and “password” for that App.
Other important setting, connected app has “Callback URL“. This is the URL where “Authentication Provider instance” should return after providing access. Even if somehow “Consumer Key” and “Consumer Secret” is compromised, it will return to Callback URL which is your application.
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.