34
Spring ’14 Release Developer Preview January 15, 2014

Spring '14 Release Developer Preview Webinar

Embed Size (px)

DESCRIPTION

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.

Citation preview

Page 1: Spring '14 Release Developer Preview Webinar

Spring ’14 Release Developer Preview January 15, 2014

Page 2: Spring '14 Release Developer Preview Webinar

#forcewebinar

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.

Page 3: Spring '14 Release Developer Preview Webinar

Speakers

Dave Carroll Director,

Developer Evangelism @dcarroll

Samantha Ready Developer Evangelist @samantha_ready

Page 4: Spring '14 Release Developer Preview Webinar

#forcewebinar

Follow Developer Force for the Latest News

@forcedotcom / #forcewebinar

Developer Force – Force.com Community

+Developer Force – Force.com Community

Developer Force

Developer Force Group

Page 5: Spring '14 Release Developer Preview Webinar

#forcewebinar

Demos

Webinar Replay

Release Notes

Documentation

Training

Highlights

Discussion http://developer.force.com/releases

Join the conversation using #forcewebinar

Your One Stop Shop for Spring ‘14

Page 6: Spring '14 Release Developer Preview Webinar

#forcewebinar

Agenda

§  Salesforce1 App Enhancements

§  Visualforce

§  Analytics API

§  Force.com Canvas

§  Other Platform Updates

Page 7: Spring '14 Release Developer Preview Webinar

Salesforce1 App Enhancements

Page 8: Spring '14 Release Developer Preview Webinar

#forcewebinar

All your past investments...

Drag and drop UI customization

Noti!cations Platform

Publisher Actions

...now in the future

Download Salesforce1 App today

All Your Customizations

All Your Devices

All Your CRM

All Your Apps

Build Employee Apps Fast with Salesforce1 App

https://yourinstance.salesforce.com/one/one.app

Page 9: Spring '14 Release Developer Preview Webinar

#forcewebinar

Salesforce1 Mobile Development Review

1.  Publisher Actions •  Declarative: Create, log-a-call, update actions

•  Programmatic: Visualforce, Canvas

2.  Mobile Cards

3.  Compact Layouts 4.  Mobile Navigation

5.  JS libraries

3

1 2

Page 10: Spring '14 Release Developer Preview Webinar

#forcewebinar

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)

Page 11: Spring '14 Release Developer Preview Webinar

Demo

Page 12: Spring '14 Release Developer Preview Webinar

Visualforce Enhancements

Page 13: Spring '14 Release Developer Preview Webinar

#forcewebinar

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

Page 14: Spring '14 Release Developer Preview Webinar

#forcewebinar

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) {

Page 15: Spring '14 Release Developer Preview Webinar

Demo

Page 16: Spring '14 Release Developer Preview Webinar

#forcewebinar

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

Page 17: Spring '14 Release Developer Preview Webinar

Analytics API

Page 18: Spring '14 Release Developer Preview Webinar

#forcewebinar

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

Page 19: Spring '14 Release Developer Preview Webinar

Demo

Page 20: Spring '14 Release Developer Preview Webinar

#forcewebinar

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…

Page 21: Spring '14 Release Developer Preview Webinar

#forcewebinar

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

Page 22: Spring '14 Release Developer Preview Webinar

Force.com Canvas Updates

Page 23: Spring '14 Release Developer Preview Webinar

#forcewebinar

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

Page 24: Spring '14 Release Developer Preview Webinar

#forcewebinar

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();

Page 25: Spring '14 Release Developer Preview Webinar

Demo

Page 26: Spring '14 Release Developer Preview Webinar

Other Salesforce1 Platform Updates

Page 27: Spring '14 Release Developer Preview Webinar

#forcewebinar

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

Page 28: Spring '14 Release Developer Preview Webinar

#forcewebinar

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

Page 29: Spring '14 Release Developer Preview Webinar

#forcewebinar

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

Page 30: Spring '14 Release Developer Preview Webinar

#forcewebinar

Orders Connects the Clouds

Oppty Quote Contract

Order Service Entitlement

Asset Order

Product

Sales Cloud

Service Cloud

Order Fulfillment Financials

Back-End Systems

Billing

Case

Page 31: Spring '14 Release Developer Preview Webinar

#forcewebinar

New Place Order REST API

JSON format

{ "order": [ { "attributes": { "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" } ] } } ] }

Using REST to create Orders/

Order Items

Page 32: Spring '14 Release Developer Preview Webinar

#forcewebinar

Recap

§  Salesforce1 Additions

§  Visualforce Enhancements

§  Analytics API

§  Force.com Canvas

§  API Updates

Page 33: Spring '14 Release Developer Preview Webinar

#forcewebinar

Try it yourself!

§  Salesforce1 –  bit.ly/s1-dev-guide

§  Visualforce –  bit.ly/knockout-vf-remote

§  Force.com Canvas –  bit.ly/canvas-dev-guide

–  github.com/sready/Canvas-VF-Sample

–  bit.ly/s1-dev-guide

§  Analytics API –  github.com/sready/Historical-Trending-Analytics-API

–  bit.ly/analytics-dev-guide

bit.ly/prerel-spring14

Page 34: Spring '14 Release Developer Preview Webinar

Q & A

Dave Carroll Director,

Developer Evangelism @dcarroll

Samantha Ready Developer Evangelist @samantha_ready