The Spring '14 Release is chock-full of great updates for developers, such as the ability to perform DML operations in JavaScript and tons of API updates. Watch this webinar to discover new and upcoming Salesforce1 Platform features slated for this release including:
Visualforce Updates: Visualforce enhancements in Spring ’14 include Visualforce Remote Objects for performing DML operations in JavaScript without the need for an Apex Controller, historical trending capabilities with the Analytics API, support for report chart components, PageReference URI support anchors, and several new components.
Force.com Canvas: Force.com Canvas continues to add useful features like the ability to access a Canvas app in the Chatter Publisher and Feed, the ability to add a Canvas app to the Salesforce1 App Mobile Navigation, support for using events between a Canvas app and a Visualforce page, as well as a new debugging console.
API Updates: New features have been added to SOQL, SOSL, REST API, SOAP API, Bulk API, Metadata API and the Streaming API. Additionally, we have opened up the ability to use the Data.com APIs, and added a new Place Order API to integrate Salesforce order data into any web or mobile application.
Developer Console: New features have been added that let you search through all files for specific snippets in your organization, change look and feel settings on your console, along with several user-experience additions like context menus.
Apex Code: Spring ‘14 adds new classes, methods and interfaces. You can now access reports in Apex with the Analytics API and updates have been made to Chatter in Apex.
2. Safe Harbor
Safe harbor statement under the Private Securities Litigation Reform Act of 1995:
This presentation may contain forward-looking statements that involve risks, uncertainties, and assumptions. If any such uncertainties materialize or if any of the
assumptions proves incorrect, the results of salesforce.com, inc. could differ materially from the results expressed or implied by the forward-looking statements
we make. All statements other than statements of historical fact could be deemed forward-looking, including any projections of product or service availability,
subscriber growth, earnings, revenues, or other financial items and any statements regarding strategies or plans of management for future operations,
statements of belief, any statements concerning new, planned, or upgraded services or technology developments and customer contracts or use of our services.
The risks and uncertainties referred to above include – but are not limited to – risks associated with developing and delivering new functionality for our service,
new products and services, our new business model, our past operating losses, possible fluctuations in our operating results and rate of growth, interruptions or
delays in our Web hosting, breach of our security measures, the outcome of intellectual property and other litigation, risks associated with possible mergers and
acquisitions, the immature market in which we operate, our relatively limited operating history, our ability to expand, retain, and motivate our employees and
manage our growth, new releases of our service and successful customer deployment, our limited history reselling non-salesforce.com products, and utilization
and selling to larger enterprise customers. Further information on potential factors that could affect the financial results of salesforce.com, inc. is included in our
annual report on Form 10-Q for the most recent fiscal quarter ended July 31, 2012. This documents and others containing important disclosures are available on
the SEC Filings section of the Investor Information section of our Web site.
Any unreleased services or features referenced in this or other presentations, press releases or public statements are not currently available and may not be
delivered on time or at all. Customers who purchase our services should make the purchase decisions based upon features that are currently available.
Salesforce.com, inc. assumes no obligation and does not intend to update these forward-looking statements.
#forcewebinar
4. Follow Developer Force for the Latest News
@forcedotcom / #forcewebinar
Developer Force – Force.com Community
+Developer Force – Force.com Community
Developer Force
Developer Force Group
#forcewebinar
5. Your One Stop Shop for Spring ‘14
Demos
Webinar Replay
Release Notes
Documentation
Training
Highlights
http://developer.force.com/releases
Join the conversation using #forcewebinar
#forcewebinar
Discussion
6. Agenda
§ Salesforce1 App Enhancements
§ Visualforce
§ Analytics API
§ Force.com Canvas
§ Other Platform Updates
#forcewebinar
8. Build Employee Apps Fast with Salesforce1 App
All your past investments...
All Your Apps
All Your CRM
All Your
Customizations
...now in the future
Notifications
Platform
Drag and drop UI
customization
Publisher
Actions
All Your Devices
Download Salesforce1 App today
https://yourinstance.salesforce.com/one/one.app
#forcewebinar
9. Salesforce1 Mobile Development Review
1. Publisher Actions
•
Declarative: Create, log-a-call, update actions
•
Programmatic: Visualforce, Canvas
2. Mobile Cards
3. Compact Layouts
3
4. Mobile Navigation
5. JS libraries
1
#forcewebinar
2
10. Salesforce1 Mobile Development Enhancements
§ Mobile navigation
• Communities
• Canvas Apps
§ Notification enhancements
• Push notifications: tasks, post to profile, comments on posts
• In app notifications: item flagged, all community notifications
§ View embedded report charts on record detail pages
§ New skills related list (pilot)
#forcewebinar
13. Visualforce Remote Objects (pilot)
§ JS remoting is a powerful and efficient way to build web/
mobile apps with your Salesforce data
§ Remove some complexity from JS Remoting
• No need for @RemoteAction in Apex controller
§ Proxy objects that allow basic DML on SObjects directly from
JavaScript
#forcewebinar
14. Visualforce Remote Objects (pilot)
§ Proxy objects that allow basic DML on SObjects directly from
JavaScript
• Visualforce:
<apex:remoteObjectModel name=“Test__c” jsShorthand=“myTest”
fields=“Name, Id” >
<apex:remoteObjectField name=“Email__c” jsShorthand=“e”>
</apex:remoteObjectModel>
• JavaScript:
// Create a new Remote Object
var te = new SObjectModel.myTest();
// Use the Remote Object to query for 10 test records
te.retrieve({ limit: 10 }, function(err, records) {
#forcewebinar
16. Other Visualforce Enhancements
§ PageReference URIs support anchors
• Ex. PageReference p = new PageReference(‘/home/home.jsp#logTicket’);
§ <liveAgent:clientChatFileTransfer> component
(pilot)
§ <analytics:reportChart> component (generally
available)
• More granular control than embedded charts
• Custom filter functionality for charts from reports
#forcewebinar
18. Historical Trending (generally available)
§ Compare current data against previous data values
• Enable for opportunities, cases, and up to 3 custom objects
§ Compare up to 5 different dates (including current date)
§ View historical data up to 3 months prior
• Opportunities shows trending data immediately
• Cases/custom objects start collecting data once enabled
#forcewebinar
20. Analytics API Available in Apex
§ Access the Analytics API via Apex
§ Grab report data with the report Id
• ex. Reports.ReportResults res = Reports.ReportManager.runReport(reportId);
§ Parse through groupings to grab report data/metadata
§ Pair with Apex for ease of functionality like:
• Post report data to chatter
• Create snapshots and add as attachments
• Trigger specific workflows
• Etc…
#forcewebinar
21. Additional Apex Updates
§ Increased query timeout in batch start method
• Was 3 minutes
• Now 10 minutes
§ Independent auto-number sequence test option
• Test records aren’t committed, DB is rolled back
• Enable this option before running an Apex class that creates data
#forcewebinar
23. Canvas Apps in the Publisher and Feed (generally available)
§ Publisher: Expose your canvas apps as global Publisher Actions
• As a publisher action, a user can create a feed item of type text, link, or canvas
• Works in the Aloha app or Salesforce1
• You can now remove the publisher header and share button from Connected App
§ Feed: Expose your canvas apps as feed items
• Feed item can display actions based off of current user
• Content is served from the canvas app i.e. developer has full control over behavior
• Example: Employee time sheet
• Hours worked metric data is sent to a manager for approval
• Hours worked metric data is sent to employee for viewing & notes
#forcewebinar
24. Events between a Canvas App and Visualforce Page
§ Publish and subscribe to events between your Canvas App and
your Visualforce page
• publish – Publishes an event that the canvas app subscribes to
• resize – used by a VF page to resize the canvas app iFrame
• subscribe – used by a VF page to subscribe to events that the canvas app
might publish
• unsubscribe – used by a VF page to unsubscribe to parent events that the
canvas app might publish
§ Enable debug mode when using the Canvas SDK for
troubleshooting
• Sfdc.canvas.console.enable();
#forcewebinar
27. SOQL / SOSL Updates
SOQL
§ SELECT Support for compound standard address and geolocation
fields
• SELECT Location__c, BillingAddress FROM Account
§ WHERE DISTANCE()and ORDER BY DISTANCE() support for
compound standard address fields
• SELECT Id, Name FROM Account
WHERE DISTANCE(BillingAddress, GEOLOCATION(37.775, -122.418), “mi”) < 20
ORDER BY(BillingAddress, GEOLOCATION(37.775, -122.418), “mi”) LIMIT 10
SOSL
§ use OFFSET to specify the starting row offset into the result set
returned by your query
#forcewebinar
28. New Objects
§ LimitAllocationPerApp (pilot) - Allocate quotas for individual Connected
Apps
§ Reserve API capacity for critical apps or set ceilings on non-critical apps
§ Set quotas per 24-hour period for: total API requests, Bulk API batches, Streaming API
events, and generic streaming events
§ OwnedContentDocument
§ Query for files owned by specific users
§ ProfileSkill[x] (10 new ProfileSkill objects)
§ Describes users professional knowledge
§ Users can have skills, endorse skills, and collaborate on skills
#forcewebinar
29. New Place Order REST API
§ REST API lets you integrate Salesforce order data into apps
programmatically
• Order data is already connected to CRM out of the box: pre-integrated for
accounts, opptys & quotes, products/price books, contracts, service cloud
• Resources for standard contracts, orders, and order products
§ Simplify the order capture process and streamline integrations
with your back office
#forcewebinar
30. Orders Connects the Clouds
Sales Cloud
Contract
Oppty
Service Cloud
Quote
Order
Order
Product
Service
Entitlement
Case
Asset
Back-End Systems
Order
Fulfillment
#forcewebinar
Billing
Financials
31. New Place Order REST API
{
"order": [
{
JSON
"attributes": {
format
"type": "Order"
},
"EffectiveDate": "2013-01-13",
"Status": "Draft",
"pricebook2Id": "01sx00000001NyX",
"billingCity": "SF",
"accountId": "001x00000036jpf",
"OrderItems": {
"records": [
{
"attributes": {
"type": "OrderItem"
},
"PricebookEntryId": "01ux0000000dhAn",
"quantity": "1",
"UnitPrice": "100"
}
]
}
}
]
}
#forcewebinar
Using REST to
create Orders/
Order Items