A time honored tradition for writers of all ilk is to use a “<Insert arbitrary number> things about ..” schtick for framing a topic. I’m not one to look a schtick-horse in the mouth and so in honor of the recent release of the Salesforce1 platform and app, here is my list of 6 (my arbitrary number of choice) things you should know about Salesforce1. I’ve limited myself to things that would be of special interest to developers looking to customize the Salesforce1 app and so here goes.
- Two flavors of the Salesforce1 app – You probably already know that iOS and Android versions of the Salesforce1 app are available for download on the App Store and Google Play. However, Salesforce1 is also available as a web only app that can accessed via any browser. Simply log into any Salesforce1 enabled Org and then append /one/one.app to your instance URL (e.g. https://na12.salesforce.com/one/one.app) in order to access the web version of Salesforce1. The web/HTML5 version is especially handy for developers looking to debug any Visualforce pages that are surfaced inside Salesforce1 since you can use web debugging tools like Firebug or Chrome Developer Tools. Note that while the web version of Salesforce1 is identical to the iOS/Android versions in most ways, there are a couple of differences to note. For example, the ‘Today’ feature integrates with the user’s device calendar and is therefore only available in the iOS/Android versions of Salesforce1. Similarly, push notifications only work in the iOS/Android versions.
- Enable Publisher Actions in Salesforce1 – One of the most powerful features in Salesforce1 is the ability to add and configure custom Publisher Actions (accessed via the + sign in the app). Publisher Actions can be used to create or update a record via point-and-click, point to a Visualforce page or render a Canvas app (i.e. hosted outside of Force.com). However the one thing that all Publisher Actions have in common is that they have to be enabled before they appear in the Salesforce1 app! In organizations created after the Winter ’14 release, Publisher Actions are enabled automatically and so no further action is required. However, for older Orgs you’ll need to explicitly enable Publisher Actions via Setup | Customize | Chatter | Settings | Enable Publisher Actions.
- Configuring ‘Smart Search Items’ : If you’ve logged into Salesforce1, you’ve probably noticed the ‘Recent’ section in the Left Navigation Menu. This section lists the recently searched-for objects for a particular user (i.e. it’s user specific). Only searches done in the full Salesforce site influence the order of objects in this section. This section is the quickest way for a user to navigate to a particular object (e.g. Accounts, Cases etc.) in Salesforce1 and so there is a good chance that you’ll always want to see some object at the top of that section, independent of your search history. You can do so by ‘pinning’ objects on the Search Results screen in the full Salesforce site (see accompanying screenshot). Each object that you pin there will be pushed to the top of the ‘Recent’ section in the Salesforce1 app making for easier user navigation.
- Enable Visualforce to appear in Salesforce1:
For developers, Visualforce offers a powerful way of customizing the Salesforce1 app. You can surface Visualforce pages in the Left Navigation Menu as a Custom Tab, associate it with a Publisher Action or add it to a record home page as a Mobile Card. However, in order to add any Visualforce page to Salesforce1 you have to first mark it as being mobile ready. We require developers to take this explicit step because Salesforce1 cannot magically make an existing Visualforce page “mobile ready”. Developers have to consciously design their Visualforce pages for a mobile-first UI using techniques like responsive design or the Mobile Design Templates to account for the limited screen size in Salesforce1. You can mark Visualforce pages as being mobile ready by going to Develop | Pages | <Your page> | Edit and checking the ‘Available for Salesforce mobile apps’ checkbox.
Note: Contrary to popular belief, the ‘Mobile Ready’ checkbox on a Visualforce Custom Tab has no effect when it comes to adding Visualforce pages to the Left Navigation Menu in Salesforce1.
- Custom navigation via JavaScript: One of the lesser known developer features in Salesforce1 is the ability to navigate users to different places in the app via JavaScript in your Visualforce page. You could for example have a Visualforce page with a ‘New’ button that has the following onClick code.
Clicking the New button will then automatically display the default create/edit page for My_Custom_Object__c inside of Salesforce1. The magical sforce.one object contains a bunch of such navigation utility functions, including the ability to navigate to a record detail view, a user or record feed, an arbitrary URL and more.
- Logging into a Sandbox Org using Salesforce1 : I lost count of how many people asked me this question at Dreamforce. By default, the Salesforce1 app that you download from the App Store or Google Play is configured to point to login.salesforce.com. You can instead login to a Sandbox Org by first logging out of your production Org in Salesforce1 and then clicking on the top-right gear icon on the login page.
Hopefully you found some nuggets of wisdom/help in this list. We’ll be blogging throughout the month of December about the various features of Salesforce1 and so watch this space for a deeper dive into some of the things that I’ve touched on in this post. Till then, as always, questions and comments are welcome.