Canvas: Salesforce1, SAML, & Apex...Oh My!


Published on

Description Canvas allows you to build a seamless, UI-level intergration with Imagine bringing in your 3rd-party shipping information directly inside a Salesforce opportunity record and delivering your existing return processing application into your cases. Creating a single user interface for your external and Salesforce applications. With Canvas, you can leverage the power of your web app, inside the Salesforce user interface. And with the Salesforce1 Platform, you can deliver your app directly to your users' mobile devices.

In this session, you will learn about new enhancements for Canvas coming in Summer ‘14. You will be able to leverage Canvas from the Salesforce1 Platform from more places than ever. We have also extended support for SAML authentication, allowing you to build seamless authentication into your existing SAML supporting applications. Finally, we will detail new foundational features like Apex lifecycle classes and Record Context in the signed request, which will allow your Canvas apps to deliver more information when you need it.

We will be showing a number of code-level examples to help kick start your ideas and bring your apps directly inside of the Salesforce UI.

Key Takeaways
::Displaying Canvas inside of Salesforce1: Mobile Navigation, Record Detail, Mobile Cards, Chatter Feed, Publisher
::Delivering Salesforce1 context in the Signed Request
::Leveraging SAML with Canvas to provide end-to-end authentication
::Customizing your Signed Request using the Canvas Apex Lifecycle class
::Providing record specific information in the Signed

Intended Audience
::Salesforce Developers who want to see Canvas at the code level
::Salesforce Admins who want to see what is possible with Canvas

Recommended Resources

Published in: Technology, Business
  • Be the first to comment Canvas: Salesforce1, SAML, & Apex...Oh My!

  1. 1. Canvas – Summer ’14 Salesforce1, SAML, and Apex…Oh My! May 28, 2014
  2. 2. #forcewebinar Speakers Chris Jolley Principal Developer @jolley Kari Hotchkiss Senior Quality Engineer @karihotchkiss
  3. 3. #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, 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- products, and utilization and selling to larger enterprise customers. Further information on potential factors that could affect the financial results of, 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., inc. assumes no obligation and does not intend to update these forward-looking statements.
  4. 4. #forcewebinar Go Social! @salesforcedevs / #forcewebinar Salesforce Developers +Salesforce Developers Salesforce Developers Salesforce Developers The video will be posted to YouTube & the webinar recap page (same URL as registration). This webinar is being recorded!
  5. 5. #forcewebinar Have Questions?  Don’t wait until the end to ask your question! – Technical support will answer questions starting now.  Respect Q&A etiquette – Please don’t repeat questions. The support team is working their way down the queue.  Stick around for live Q&A at the end – Speakers will tackle more questions at the end, time-allowing.  Head to Developer Forums – More questions? Visit
  6. 6. #forcewebinar Don’t Miss Out on Dreamforce 2014! $899 Discount Code: D14DVLPR
  7. 7. #forcewebinar Agenda  10,000 foot overview of Canvas  Recap of Canvas in Spring ‘14  Canvas Summer ‘14 Features – Page Layout Item, Record Object, Apex Lifecycle Handler – Salesforce1 – User Approved Signed Request Apps – Canvas and SSO (SAML)  Demos...lots of demos
  8. 8. #forcewebinar What is Canvas?
  9. 9. #forcewebinar Application Integration User Interface Screens exposed to end users Application Logic Your business logic (in C, Java, Apex + workflows, rules, etc) Data Layer Your Data Model Data Integration UI Integration APIs (SOAP, REST, Bulk) External Objects Cross-Org Data Sharing Visualforce Pages Aura Framework Canvas Apex Callouts Apex Web Services Outbound Messaging Streaming API Integration Interfaces and Salesforce Solutions
  10. 10. #forcewebinar Introducing Canvas Platform service to allow external applications to be easily and securely integrated into Salesforce from their native environment with little re-design.  Services Include – JavaScript SDK – Simplified Authentication into (Signed Request or OAuth) – Context Services (Including Custom Parameters) – Cross Domain API Calls – Eventing model – App Registration and Management
  11. 11. #forcewebinar What does Canvas do?  Your Web Application is surfaced inside – Displayed using standard web technology – JavaScript SDK allows communication between apps – Installation and management of the app is controlled by the admin
  12. 12. #forcewebinar Canvas – You code it, we show it!  Regardless of your language of choice, JavaScript libraries allow your app to connect with salesforce at a UI and API layer: Chatter Communities Multi-Tenant Cloud Infrastructure Sales Cloud Service Cloud Marketing Cloud AppExchange Cloud Database Heroku Any Social Network Any Device Back End Systems Salesforce Apps AppExchange Apps ERP Finance Public/Private Apps Custom Apps Mobile Services Chatter 3rd Party Web Apps
  13. 13. #forcewebinar Canvas – Spring ‘14
  14. 14. #forcewebinar Canvas Locations You can choose where to display your canvas app  Chatter Tab – Expand your Chatter Tab with a list of Canvas Apps accessed directly in the page  Visualforce Pages – Embed a Canvas App wherever you display a VF page  Console and Open CTI – Allows a canvas app to interact natively inside of the Service Cloud Console  Publisher – Develop a Canvas App for the Publisher  Feed – Develop a Canvas App that can appear in a user’s Chatter Feed  Mobile Nav – Develop an app that can appear in the Salesforce1 Mobile Nav List
  15. 15. #forcewebinar Canvas Features – Spring ‘14 The Canvas Framework allows interaction with salesforce in many ways:  Scrolling and Resizing – Detect when the user uses the mouse scroll and resize your app on demand to fit in the UI  Error Handling – Embedded Error framework allows for a comprehensive user experience  Multiple Canvas Apps on a single page  Eventing – Simple JavaScript pub/sub model allows you to send JSON events between canvas apps on a single page, or between your canvas app and  Streaming API Events – Hook into the streaming API and receive events when Streaming Topics are fired  Communities Support – Deliver your Canvas Apps to Community Users
  16. 16. #forcewebinar Canvas Salesforce 1 Features – Spring ‘14  Publisher Actions – Canvas Apps embedded into the Publisher allow you to deliver 3rd party actions to users – You can choose to remove the “What are you working on” text box and Share button if needed  Chatter Feed Canvas Apps – Feed Items can be Canvas Apps, and you can expose your app directly in the user feed  Mobile Navigation – Canvas Apps can be displayed in the Mobile Navigation (Stage Left) area – Using these Apps take over the full screen.
  17. 17. #forcewebinar Canvas – Summer ’14 Kari Hotchkiss Senior Quality Engineer @karihotchkiss
  18. 18. #forcewebinar Canvas as a Page Layout Item Embed your Canvas App directly in a Page Layout without using a Visualforce Container Embed your Canvas App directly in a Page Layout without using a Visualforce Container
  19. 19. #forcewebinar Record Attachment The fields requested will be returned in the “record” object in the signed request and context You can set the record fields in the Apex Lifecycle handler and/or the Visualforce component You can set the record fields in the Apex Lifecycle handler and/or the Visualforce component
  20. 20. #forcewebinar Apex Lifecycle Handler and Canvas URL Override Using an Apex Lifecycle Handler, you can override the default behavior of the signed request and context You can use custom logic to override the default Canvas URL
  21. 21. #forcewebinar Demo Page Layout Item, Record Object, Apex Lifecycle Handler
  22. 22. #forcewebinar Salesforce1 - Layouts and Mobile Cards Location Embed your Canvas App directly in a Page Layout or as a Mobile Card Canvas Apps can be displayed in Record Detail and in Mobile Cards in S1 Canvas Apps can be displayed in Record Detail and in Mobile Cards in S1 Embed your Canvas App directly in a Page Layout or as a Mobile Card
  23. 23. #forcewebinar Salesforce1 - Orientation Event and Mobile Navigation Canvas Icons Canvas apps can use their own logo, or the default Puzzle Piece logo Rotating your device sends an event letting the canvas app know which orientation you are at (0, -90, or 90 degrees)
  24. 24. #forcewebinar Demo Canvas in Salesforce1
  25. 25. #forcewebinar User Approved Signed Request Apps Your canvas app can then kick into an OAuth flow if a signed request is not POST’ed. We will handle the decision on when to send the signed request When managing your Canvas Apps, you can now select the “Permitted Users” to “All users may self authorize”
  26. 26. #forcewebinar Demo User Approved Signed Request Apps
  27. 27. #forcewebinar SSO, SAML Support & On Demand Signed Request This also allows you to display VF pages between different orgs With SAML Support, you can now log into your 3rd party app and then refresh the Signed request through the Canvas SDK
  28. 28. #forcewebinar Demo Canvas and SSO (SAML)
  29. 29. #forcewebinar Recap  Canvas in Summer ‘14 will: – Make it easier to leverage your apps in salesforce • Record information in the Canvas Context • Apex Lifecycle Handler • Canvas as a Page Layout item – Expand your user access footprint • User Approved Signed Request Apps – Provide expanded Salesforce1 support • Record Detail Canvas Apps • Mobile Card Canvas Apps • Mobile Nav customizations – Provide deeper Developer authentication options • On-Demand Signed Request • SAML Support for Canvas Apps
  30. 30. #forcewebinar Resources  Canvas Developer Guide –  Canvas Integration Workbook –  Canvas Developer Page –  Integration Discussion Boards –  Email or tweet Jay Hurst (Canvas PM) –
  31. 31. #forcewebinar Survey Your feedback is crucial to the success of our webinar programs. Thank you! #forcewebinar
  32. 32. #forcewebinar Q & A #forcewebinar Chris Jolley Principal Developer @jolley Kari Hotchkiss Senior Quality Engineer @karihotchkiss
  33. 33. #forcewebinar Thank You!