SlideShare une entreprise Scribd logo
1  sur  38
Télécharger pour lire hors ligne
Deep Dive into the Force.com
Canvas Framework
Jay Hurst, salesforce.com, Product Manager
@extraidea
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 any
litigation, risks associated with completed and any 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-K for the most recent fiscal year and in our quarterly report on Form 10-Q for the most recent
fiscal quarter. These 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.
Jay Hurst
Product Manager
@extraidea
Questions
▪ Who has played with the Force.com
Canvas SDK?
▪ Who has thought of at least one
potential app that could be used with
Force.com Canvas?
▪ Who has actually developed a Force.
com Canvas App?
What is Force.com Canvas
Introducing Force.com 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 (Signed Request or OAuth)
• Context Services (Including Custom Parameters)
• Cross Domain API Calls
• Eventing model
• App Registration and Management
What does Force.com Canvas do?
Your Web Application is surfaced inside salesforce.com
• Displayed using standard web technology
• JavaScript SDK allows communication between apps
• Installation and management of the app is controlled by the admin

SDK
Force.com Canvas Usage Flow
1.

Canvas App is opened which sends a
Signed Request to the 3rd Party App

2.

The 3rd Party App responds with HTML
that is loaded into the salesforce UI

3.

The user interacts with the 3rd party app

4.

The 3rd party app uses the Canvas
JavaScript SDK to make a call to a
server side JavaScript library

5.

Salesforce acts on the behalf of the
user and posts to the request

6.

Alternatively, the 3rd party app can
communicate server-to-server with
salesforce via the standard APIs
When Would I Use Force.com Canvas
A few key times to consider Force.com Canvas
▪ You have data that lives outside of salesforce.com
• Canvas allows you to display the data directly inside the salesforce.com UI
• You do not need to bring the data inside of salesforce.com

▪ Your developer prefer their language of choice
• Rather than use Visualforce and Apex, use your language of choice
• You build the UI and use the Canvas API to provide the data

▪ You have an existing application
• If your users have to manage data in multiple places
• Potentially use the existing app rather than recreating from scratch

Salesforce.com Confidential
What is the Signed Request Access Method?
The signed request is the default (and recommended) access method.
▪
▪
▪

When you click the Canvas app, we POST a signed request to your endpoint
You can verify the request was sent by salesforce and then view context info
Context contains data like:
•
•
•
•
•

Scoped OAuth Token
User Info (Name, email, ID, etc..)
Company Info (Company name, ID, etc…)
Environment Info (page is the canvas on, size of the iFrame)
Useful Links
Force.com 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:

SD
K
Force.com Canvas – Setup
Steve Pepper
Senior Developer
Creating the Canvas App
Canvas Apps have a metadata representation in salesforce.com
▪ This determines how the app can connect into salesforce.com
• Built off of the Connected Apps Framework

▪ Set the Basic Data
• Name, icons, contact info

▪ Set the OAuth Data
• Callback URL, Level of Access

▪ Set the Force.com Canvas data
• Canvas URL, Access Method, Locations

Salesforce.com Confidential
Canvas Locations
Determines where your Canvas App can show inside salesforce
▪ Chatter Tab
▪ Visualforce Page
▪ Open CTI
▪ Console
▪ Publisher (Pilot)
• Allows you to develop a Canvas App for the Publisher

▪ Chatter Feed (Pilot)
• Allows you to develop a Canvas App that can appear in a user’s Chatter Feed

Salesforce.com Confidential
Demo
Force.com Canvas – Eventing and
Streaming API
Babu Naidu
Senior Developer
@pbnnbp
Canvas Eventing
Lightweight JSON eventing framework
▪ Allows your app to publish and subscribe to events
• The events are sent through the Canvas API
• Event happen in browser
- Data is not sent to salesforce unless you choose

▪ Salesforce publishes and listens to specific events
• This allows your app to richly interact with salesforce

▪ You can also publish and subscribe to event in Visualforce
• This allows your app to communicate with Visualforce pages and vice versa

▪ Events happen within the page (not across tabs)

Salesforce.com Confidential
Canvas and the Streaming API
The Canvas API provides events that allow you access to the
Streaming API
▪ You can create, delete, and subscribe to Streaming Topics
• Done through the Canvas Eventing model

▪ The Canvas API manages the CometD connection
• Your app does not need to manage its own

▪ The Canvas API multiplexes streaming requests
• This allows multiple apps to use the streaming API, but only a single streaming
connection is required

Salesforce.com Confidential
Demo
Force.com Canvas – Publisher and
Chatter Feed
Chris Jolley
Lead Developer
@jolley
Force.com Canvas – Publisher Quick Action (Pilot)
We have expanded the Quick Actions to now support Force.com
Canvas Applications
▪ Your application can now be exposed directly in the publisher
• Common actions from your app are now available to your end users

▪ Your application can plug into the Chatter lifecycle
• You can tell the publisher that the app is ready to “Share”
• You can detect when events are fired from the publisher
Force.com Canvas – Publisher Events
Publisher Events allow interaction with the native publisher
▪ Your application can subscribe to events from the publisher
• publisher.setupPanel – Fired when the Publisher is loaded
• publisher.showPanel – Fired when the Canvas action is opened
• publisher.clearPanelState – Fired when the Canvas action is closed
• publisher.failure – Fired if there was a failure on the share
• publisher.success – Fired if the share was successful
• publisher.getPayload – Fired when Share is clicked (gets content from the app)

▪ Your application can publish events to the publisher
• publisher.setPayload – Sends payload to the publisher (response to getPayload)
• publisher.setValidForSubmit – Enabled the Share button
Force.com Canvas in the Chatter Feed (Pilot)
Expand the Chatter Feed to show your app information
▪ You canvas app can open inline directly in the feed
▪ Provides the ability to deliver app specific content directly to your users
• Your info in our feed

▪ The feed item contains canvas specific information
• Thumbnail image
• Canvas Parameters
• Title
• Description
• Height information
Interacting with a Canvas Feed Item
The user interacts with the feed and launches your Canvas App
▪ By clicking the Feed Link, the signed request is fired and the canvas
app opens up
• Signed request contains information specific to your app

▪ Once opened, the user interacts with your app
• The browser displays your content
• User can interact directly with your content

▪ Your app can access the salesforce data layer
• The Canvas API can be used to perform interactive connections to salesforce
data
Demo
Force.com Canvas – Debugging
Kari Hotchkiss
Senior Quality Engineer
@

Mandy Blumreich
Senior Quality Engineer
@
Canvas Debugging
Canvas actions all happen in the browser
▪ Your app is surfaced within an iFrame
▪ User’s browser and machine determine connectivity access
▪ Canvas API is all JavaScript Ajax requests
▪ Events are sent using JSON and JavaScript

JavaScript Debuggers are you best friends
▪ Firebug
▪ Chrome Developer Tools
▪ IE 9+ Debug Console

Salesforce.com Confidential
JavaScript Debugging
Use standard JavaScript debugging practices
▪ Use console.out calls to dump info to the tools
▪ Use breakpoints and step through the code when needed
▪ Make sure you are capturing and relaying errors that come from
salesforce calls
• It is easy to swallow these errors, but the end user does not know what is going on

Salesforce.com Confidential
Demo
What Have We Learned
▪ Explored the Current Canvas Features
▪ Canvas Locations (Chatter Tab, VF, Publisher, Chatter Feed)
▪ Canvas Events and resizing
▪ Canvas MD API
▪ Canvas Streaming API

▪ Seen code level demo of a canvas app
▪ Seen troubleshooting techniques
We want to hear
from YOU!
Please take a moment to complete our
session survey
Surveys can be found in the “My Agenda”
portion of the Dreamforce app
Jay Hurst

Steve Pepper

Babu Naidu

Chris Jolley

Product Manager,
@extraidea

Senior Developer,

Senior Developer,
@pbnnbp

Lead Developer,
@jolley

Kari Hotchkiss

Mandy Blumreich

Senior Quality Engineer, Senior Quality Engineer,
@
@
Where To Next?
▪ Other Force.com Canvas Sessions
▪ Force.com Canvas Workbook in the DevZone
▪ Force.com Canvas Developer Page
▪ Force.com Canvas Topic Page – http://bit.ly/forcecanvas
▪ Email or tweet Jay – jhurst@salesforce.com/@extraidea

▪ SalesWays Contact
▪ Spanning Contact
Dive Deep Into the Force.com Canvas Framework

Contenu connexe

Tendances

Webinar: Take Control of Your Org with Salesforce Optimizer
Webinar: Take Control of Your Org with Salesforce OptimizerWebinar: Take Control of Your Org with Salesforce Optimizer
Webinar: Take Control of Your Org with Salesforce OptimizerSalesforce Admins
 
Generically Call External Classes from Managed Packages
Generically Call External Classes from Managed PackagesGenerically Call External Classes from Managed Packages
Generically Call External Classes from Managed PackagesSalesforce Developers
 
Deep dive into Salesforce Connected App
Deep dive into Salesforce Connected AppDeep dive into Salesforce Connected App
Deep dive into Salesforce Connected AppDhanik Sahni
 
Champion Productivity with Service Cloud
Champion Productivity with Service CloudChampion Productivity with Service Cloud
Champion Productivity with Service CloudSalesforce Admins
 
How to Use the Activity Custom Lookup Field to Get More Out of Events and Tas...
How to Use the Activity Custom Lookup Field to Get More Out of Events and Tas...How to Use the Activity Custom Lookup Field to Get More Out of Events and Tas...
How to Use the Activity Custom Lookup Field to Get More Out of Events and Tas...Salesforce Admins
 
A complete Salesforce implementation guide on how to implement Salesforce
A complete Salesforce implementation guide on how to implement SalesforceA complete Salesforce implementation guide on how to implement Salesforce
A complete Salesforce implementation guide on how to implement SalesforceSoftweb Solutions
 
Apex Code Analysis Using the Tooling API and Canvas
Apex Code Analysis Using the Tooling API and CanvasApex Code Analysis Using the Tooling API and Canvas
Apex Code Analysis Using the Tooling API and CanvasSalesforce Developers
 
Salesforce Streaming event - PushTopic and Generic Events
Salesforce Streaming event - PushTopic and Generic EventsSalesforce Streaming event - PushTopic and Generic Events
Salesforce Streaming event - PushTopic and Generic EventsDhanik Sahni
 
Salesforce CPQ updated 1.pptx
Salesforce CPQ updated 1.pptxSalesforce CPQ updated 1.pptx
Salesforce CPQ updated 1.pptxssuser1eba67
 
Salesforce Trailhead for Developers
Salesforce Trailhead for DevelopersSalesforce Trailhead for Developers
Salesforce Trailhead for DevelopersCloud Analogy
 
Salesforce.com Sandbox management
Salesforce.com Sandbox management Salesforce.com Sandbox management
Salesforce.com Sandbox management Ali Akbar
 
Salesforce Flows Architecture Best Practices
Salesforce Flows Architecture Best PracticesSalesforce Flows Architecture Best Practices
Salesforce Flows Architecture Best Practicespanayaofficial
 
Two-Way Integration with Writable External Objects
Two-Way Integration with Writable External ObjectsTwo-Way Integration with Writable External Objects
Two-Way Integration with Writable External ObjectsSalesforce Developers
 
Salesforce Identity Management
Salesforce Identity ManagementSalesforce Identity Management
Salesforce Identity ManagementJayant Jindal
 
Build Reliable Asynchronous Code with Queueable Apex
Build Reliable Asynchronous Code with Queueable ApexBuild Reliable Asynchronous Code with Queueable Apex
Build Reliable Asynchronous Code with Queueable ApexSalesforce Developers
 
Integrating with salesforce
Integrating with salesforceIntegrating with salesforce
Integrating with salesforceMark Adcock
 
Force.com canvas入門ガイド
Force.com canvas入門ガイドForce.com canvas入門ガイド
Force.com canvas入門ガイドKazuki Nakajima
 

Tendances (20)

Webinar: Take Control of Your Org with Salesforce Optimizer
Webinar: Take Control of Your Org with Salesforce OptimizerWebinar: Take Control of Your Org with Salesforce Optimizer
Webinar: Take Control of Your Org with Salesforce Optimizer
 
Generically Call External Classes from Managed Packages
Generically Call External Classes from Managed PackagesGenerically Call External Classes from Managed Packages
Generically Call External Classes from Managed Packages
 
Deep dive into Salesforce Connected App
Deep dive into Salesforce Connected AppDeep dive into Salesforce Connected App
Deep dive into Salesforce Connected App
 
Champion Productivity with Service Cloud
Champion Productivity with Service CloudChampion Productivity with Service Cloud
Champion Productivity with Service Cloud
 
How to Use the Activity Custom Lookup Field to Get More Out of Events and Tas...
How to Use the Activity Custom Lookup Field to Get More Out of Events and Tas...How to Use the Activity Custom Lookup Field to Get More Out of Events and Tas...
How to Use the Activity Custom Lookup Field to Get More Out of Events and Tas...
 
A complete Salesforce implementation guide on how to implement Salesforce
A complete Salesforce implementation guide on how to implement SalesforceA complete Salesforce implementation guide on how to implement Salesforce
A complete Salesforce implementation guide on how to implement Salesforce
 
Governor limits
Governor limitsGovernor limits
Governor limits
 
Apex Code Analysis Using the Tooling API and Canvas
Apex Code Analysis Using the Tooling API and CanvasApex Code Analysis Using the Tooling API and Canvas
Apex Code Analysis Using the Tooling API and Canvas
 
Salesforce Streaming event - PushTopic and Generic Events
Salesforce Streaming event - PushTopic and Generic EventsSalesforce Streaming event - PushTopic and Generic Events
Salesforce Streaming event - PushTopic and Generic Events
 
Force.com Canvas アプリケーション
Force.com Canvas アプリケーションForce.com Canvas アプリケーション
Force.com Canvas アプリケーション
 
Salesforce CPQ updated 1.pptx
Salesforce CPQ updated 1.pptxSalesforce CPQ updated 1.pptx
Salesforce CPQ updated 1.pptx
 
Salesforce Trailhead for Developers
Salesforce Trailhead for DevelopersSalesforce Trailhead for Developers
Salesforce Trailhead for Developers
 
Salesforce.com Sandbox management
Salesforce.com Sandbox management Salesforce.com Sandbox management
Salesforce.com Sandbox management
 
Salesforce Flows Architecture Best Practices
Salesforce Flows Architecture Best PracticesSalesforce Flows Architecture Best Practices
Salesforce Flows Architecture Best Practices
 
Two-Way Integration with Writable External Objects
Two-Way Integration with Writable External ObjectsTwo-Way Integration with Writable External Objects
Two-Way Integration with Writable External Objects
 
Salesforce Identity Management
Salesforce Identity ManagementSalesforce Identity Management
Salesforce Identity Management
 
Build Reliable Asynchronous Code with Queueable Apex
Build Reliable Asynchronous Code with Queueable ApexBuild Reliable Asynchronous Code with Queueable Apex
Build Reliable Asynchronous Code with Queueable Apex
 
Integrating with salesforce
Integrating with salesforceIntegrating with salesforce
Integrating with salesforce
 
Force.com canvas入門ガイド
Force.com canvas入門ガイドForce.com canvas入門ガイド
Force.com canvas入門ガイド
 
Introduction to Apex Triggers
Introduction to Apex TriggersIntroduction to Apex Triggers
Introduction to Apex Triggers
 

En vedette

Force.com Canvas: Salesforce1, SAML, & Apex...Oh My!
Force.com Canvas: Salesforce1, SAML, & Apex...Oh My!Force.com Canvas: Salesforce1, SAML, & Apex...Oh My!
Force.com Canvas: Salesforce1, SAML, & Apex...Oh My!Salesforce Developers
 
Salesforce1 dev week UYSDUG 2014 - the force canvas spark
Salesforce1 dev week UYSDUG 2014 - the force canvas sparkSalesforce1 dev week UYSDUG 2014 - the force canvas spark
Salesforce1 dev week UYSDUG 2014 - the force canvas sparkAldo Fernandez
 
force.com Canvas Overview: Leveraging Legacy Applications to Become a Custome...
force.com Canvas Overview: Leveraging Legacy Applications to Become a Custome...force.com Canvas Overview: Leveraging Legacy Applications to Become a Custome...
force.com Canvas Overview: Leveraging Legacy Applications to Become a Custome...Salesforce.org
 
Dive Deep into Apex: Advanced Apex!
Dive Deep into Apex: Advanced Apex! Dive Deep into Apex: Advanced Apex!
Dive Deep into Apex: Advanced Apex! Salesforce Developers
 
Force.com Canvas - a Quick Introduction
Force.com Canvas - a Quick IntroductionForce.com Canvas - a Quick Introduction
Force.com Canvas - a Quick IntroductionSteven Herod
 
O auth, sso, saml, canvas app zhugin(final)
O auth, sso, saml, canvas app   zhugin(final)O auth, sso, saml, canvas app   zhugin(final)
O auth, sso, saml, canvas app zhugin(final)Dmitry Zhugin
 
CIS14: OAuth and OpenID Connect in Action
CIS14: OAuth and OpenID Connect in ActionCIS14: OAuth and OpenID Connect in Action
CIS14: OAuth and OpenID Connect in ActionCloudIDSummit
 
Trust Me, I'm An Architect
Trust Me, I'm An ArchitectTrust Me, I'm An Architect
Trust Me, I'm An ArchitectKeir Bowden
 
Force.com Canvas: 2 Case Studies and a Roadmap
Force.com Canvas: 2 Case Studies and a RoadmapForce.com Canvas: 2 Case Studies and a Roadmap
Force.com Canvas: 2 Case Studies and a RoadmapSalesforce Developers
 
Authentication with OAuth and Connected Apps
Authentication with OAuth and Connected AppsAuthentication with OAuth and Connected Apps
Authentication with OAuth and Connected AppsSalesforce Developers
 
Integrating Active Directory With Salesforce Using Identity Connect
Integrating Active Directory With Salesforce Using Identity ConnectIntegrating Active Directory With Salesforce Using Identity Connect
Integrating Active Directory With Salesforce Using Identity ConnectSalesforce Developers
 
Designing custom REST and SOAP interfaces on Force.com
Designing custom REST and SOAP interfaces on Force.comDesigning custom REST and SOAP interfaces on Force.com
Designing custom REST and SOAP interfaces on Force.comSteven Herod
 
Becoming a Salesforce.com Technical Architect
Becoming a Salesforce.com Technical ArchitectBecoming a Salesforce.com Technical Architect
Becoming a Salesforce.com Technical ArchitectSteven Herod
 
Secure Development on the Salesforce Platform - Part I
Secure Development on the Salesforce Platform - Part ISecure Development on the Salesforce Platform - Part I
Secure Development on the Salesforce Platform - Part ISalesforce Developers
 
"How do I Architect?" - Quick Introduction to Architecture for Salesforce Ad...
"How do I Architect?"  - Quick Introduction to Architecture for Salesforce Ad..."How do I Architect?"  - Quick Introduction to Architecture for Salesforce Ad...
"How do I Architect?" - Quick Introduction to Architecture for Salesforce Ad...Steven Herod
 
Advanced Platform Series - OAuth and Social Authentication
Advanced Platform Series - OAuth and Social AuthenticationAdvanced Platform Series - OAuth and Social Authentication
Advanced Platform Series - OAuth and Social AuthenticationSalesforce Developers
 
Secure Development on the Salesforce Platform - Part 2
Secure Development on the Salesforce Platform - Part 2Secure Development on the Salesforce Platform - Part 2
Secure Development on the Salesforce Platform - Part 2Salesforce Developers
 

En vedette (17)

Force.com Canvas: Salesforce1, SAML, & Apex...Oh My!
Force.com Canvas: Salesforce1, SAML, & Apex...Oh My!Force.com Canvas: Salesforce1, SAML, & Apex...Oh My!
Force.com Canvas: Salesforce1, SAML, & Apex...Oh My!
 
Salesforce1 dev week UYSDUG 2014 - the force canvas spark
Salesforce1 dev week UYSDUG 2014 - the force canvas sparkSalesforce1 dev week UYSDUG 2014 - the force canvas spark
Salesforce1 dev week UYSDUG 2014 - the force canvas spark
 
force.com Canvas Overview: Leveraging Legacy Applications to Become a Custome...
force.com Canvas Overview: Leveraging Legacy Applications to Become a Custome...force.com Canvas Overview: Leveraging Legacy Applications to Become a Custome...
force.com Canvas Overview: Leveraging Legacy Applications to Become a Custome...
 
Dive Deep into Apex: Advanced Apex!
Dive Deep into Apex: Advanced Apex! Dive Deep into Apex: Advanced Apex!
Dive Deep into Apex: Advanced Apex!
 
Force.com Canvas - a Quick Introduction
Force.com Canvas - a Quick IntroductionForce.com Canvas - a Quick Introduction
Force.com Canvas - a Quick Introduction
 
O auth, sso, saml, canvas app zhugin(final)
O auth, sso, saml, canvas app   zhugin(final)O auth, sso, saml, canvas app   zhugin(final)
O auth, sso, saml, canvas app zhugin(final)
 
CIS14: OAuth and OpenID Connect in Action
CIS14: OAuth and OpenID Connect in ActionCIS14: OAuth and OpenID Connect in Action
CIS14: OAuth and OpenID Connect in Action
 
Trust Me, I'm An Architect
Trust Me, I'm An ArchitectTrust Me, I'm An Architect
Trust Me, I'm An Architect
 
Force.com Canvas: 2 Case Studies and a Roadmap
Force.com Canvas: 2 Case Studies and a RoadmapForce.com Canvas: 2 Case Studies and a Roadmap
Force.com Canvas: 2 Case Studies and a Roadmap
 
Authentication with OAuth and Connected Apps
Authentication with OAuth and Connected AppsAuthentication with OAuth and Connected Apps
Authentication with OAuth and Connected Apps
 
Integrating Active Directory With Salesforce Using Identity Connect
Integrating Active Directory With Salesforce Using Identity ConnectIntegrating Active Directory With Salesforce Using Identity Connect
Integrating Active Directory With Salesforce Using Identity Connect
 
Designing custom REST and SOAP interfaces on Force.com
Designing custom REST and SOAP interfaces on Force.comDesigning custom REST and SOAP interfaces on Force.com
Designing custom REST and SOAP interfaces on Force.com
 
Becoming a Salesforce.com Technical Architect
Becoming a Salesforce.com Technical ArchitectBecoming a Salesforce.com Technical Architect
Becoming a Salesforce.com Technical Architect
 
Secure Development on the Salesforce Platform - Part I
Secure Development on the Salesforce Platform - Part ISecure Development on the Salesforce Platform - Part I
Secure Development on the Salesforce Platform - Part I
 
"How do I Architect?" - Quick Introduction to Architecture for Salesforce Ad...
"How do I Architect?"  - Quick Introduction to Architecture for Salesforce Ad..."How do I Architect?"  - Quick Introduction to Architecture for Salesforce Ad...
"How do I Architect?" - Quick Introduction to Architecture for Salesforce Ad...
 
Advanced Platform Series - OAuth and Social Authentication
Advanced Platform Series - OAuth and Social AuthenticationAdvanced Platform Series - OAuth and Social Authentication
Advanced Platform Series - OAuth and Social Authentication
 
Secure Development on the Salesforce Platform - Part 2
Secure Development on the Salesforce Platform - Part 2Secure Development on the Salesforce Platform - Part 2
Secure Development on the Salesforce Platform - Part 2
 

Similaire à Dive Deep Into the Force.com Canvas Framework

Force.com Canvas in the Publisher and Chatter Feed
Force.com Canvas in the Publisher and Chatter FeedForce.com Canvas in the Publisher and Chatter Feed
Force.com Canvas in the Publisher and Chatter FeedSalesforce Developers
 
Salesforce1: Every Developer is a Mobile Developer
Salesforce1: Every Developer is a Mobile DeveloperSalesforce1: Every Developer is a Mobile Developer
Salesforce1: Every Developer is a Mobile DeveloperSalesforce Developers
 
Emerging Technologies: Heroku for ISVs (October 13, 2014)
Emerging Technologies: Heroku for ISVs (October 13, 2014)Emerging Technologies: Heroku for ISVs (October 13, 2014)
Emerging Technologies: Heroku for ISVs (October 13, 2014)Salesforce Partners
 
Salesforce.com API Series: Service Cloud Console Deep Dive
Salesforce.com API Series: Service Cloud Console Deep DiveSalesforce.com API Series: Service Cloud Console Deep Dive
Salesforce.com API Series: Service Cloud Console Deep DiveSalesforce Developers
 
Design Patterns Every ISV Needs to Know (October 15, 2014)
Design Patterns Every ISV Needs to Know (October 15, 2014)Design Patterns Every ISV Needs to Know (October 15, 2014)
Design Patterns Every ISV Needs to Know (October 15, 2014)Salesforce Partners
 
Introducing the Salesforce platform
Introducing the Salesforce platformIntroducing the Salesforce platform
Introducing the Salesforce platformJohn Stevenson
 
Trailhead live - Overview of Salesforce App Cloud
Trailhead live - Overview of Salesforce App CloudTrailhead live - Overview of Salesforce App Cloud
Trailhead live - Overview of Salesforce App CloudJohn Stevenson
 
Trailhead in a Box & Winter 20 Release
Trailhead in a Box & Winter 20 ReleaseTrailhead in a Box & Winter 20 Release
Trailhead in a Box & Winter 20 ReleaseJayant Jindal
 
APP Academy: Build Your First App (October 13, 2014)
APP Academy: Build Your First App (October 13, 2014)APP Academy: Build Your First App (October 13, 2014)
APP Academy: Build Your First App (October 13, 2014)Salesforce Partners
 
Hands-on Workshop: Intermediate Development with Heroku and Force.com
Hands-on Workshop: Intermediate Development with Heroku and Force.comHands-on Workshop: Intermediate Development with Heroku and Force.com
Hands-on Workshop: Intermediate Development with Heroku and Force.comSalesforce Developers
 
CloudOps evening presentation from Salesforce.com
CloudOps evening presentation from Salesforce.comCloudOps evening presentation from Salesforce.com
CloudOps evening presentation from Salesforce.comAlistair Croll
 
Tech Enablement Webinar for ISVs (March 16, 2017)
Tech Enablement Webinar for ISVs (March 16, 2017)Tech Enablement Webinar for ISVs (March 16, 2017)
Tech Enablement Webinar for ISVs (March 16, 2017)Salesforce Partners
 
Spring '14 Release Developer Preview Webinar
Spring '14 Release Developer Preview WebinarSpring '14 Release Developer Preview Webinar
Spring '14 Release Developer Preview WebinarSalesforce Developers
 
Dreamwares_Salesforce Updated
Dreamwares_Salesforce UpdatedDreamwares_Salesforce Updated
Dreamwares_Salesforce UpdatedAmit Ahuja
 
Building JavaScript Applications on the Salesforce1 Platform
Building JavaScript Applications on the Salesforce1 PlatformBuilding JavaScript Applications on the Salesforce1 Platform
Building JavaScript Applications on the Salesforce1 PlatformSalesforce Developers
 
Communities & Dreamforce Key Takeaways
Communities & Dreamforce Key TakeawaysCommunities & Dreamforce Key Takeaways
Communities & Dreamforce Key TakeawaysMagnet 360
 
Summer '13 Developer Preview Webinar
Summer '13 Developer Preview WebinarSummer '13 Developer Preview Webinar
Summer '13 Developer Preview WebinarSalesforce Developers
 

Similaire à Dive Deep Into the Force.com Canvas Framework (20)

Force.com Canvas in the Publisher and Chatter Feed
Force.com Canvas in the Publisher and Chatter FeedForce.com Canvas in the Publisher and Chatter Feed
Force.com Canvas in the Publisher and Chatter Feed
 
Salesforce1: Every Developer is a Mobile Developer
Salesforce1: Every Developer is a Mobile DeveloperSalesforce1: Every Developer is a Mobile Developer
Salesforce1: Every Developer is a Mobile Developer
 
1 + 1 = 3
1 + 1 = 31 + 1 = 3
1 + 1 = 3
 
Emerging Technologies: Heroku for ISVs (October 13, 2014)
Emerging Technologies: Heroku for ISVs (October 13, 2014)Emerging Technologies: Heroku for ISVs (October 13, 2014)
Emerging Technologies: Heroku for ISVs (October 13, 2014)
 
Salesforce.com API Series: Service Cloud Console Deep Dive
Salesforce.com API Series: Service Cloud Console Deep DiveSalesforce.com API Series: Service Cloud Console Deep Dive
Salesforce.com API Series: Service Cloud Console Deep Dive
 
Design Patterns Every ISV Needs to Know (October 15, 2014)
Design Patterns Every ISV Needs to Know (October 15, 2014)Design Patterns Every ISV Needs to Know (October 15, 2014)
Design Patterns Every ISV Needs to Know (October 15, 2014)
 
Introducing the Salesforce platform
Introducing the Salesforce platformIntroducing the Salesforce platform
Introducing the Salesforce platform
 
Trailhead live - Overview of Salesforce App Cloud
Trailhead live - Overview of Salesforce App CloudTrailhead live - Overview of Salesforce App Cloud
Trailhead live - Overview of Salesforce App Cloud
 
Trailhead in a Box & Winter 20 Release
Trailhead in a Box & Winter 20 ReleaseTrailhead in a Box & Winter 20 Release
Trailhead in a Box & Winter 20 Release
 
APP Academy: Build Your First App (October 13, 2014)
APP Academy: Build Your First App (October 13, 2014)APP Academy: Build Your First App (October 13, 2014)
APP Academy: Build Your First App (October 13, 2014)
 
Hands-on Workshop: Intermediate Development with Heroku and Force.com
Hands-on Workshop: Intermediate Development with Heroku and Force.comHands-on Workshop: Intermediate Development with Heroku and Force.com
Hands-on Workshop: Intermediate Development with Heroku and Force.com
 
CloudOps evening presentation from Salesforce.com
CloudOps evening presentation from Salesforce.comCloudOps evening presentation from Salesforce.com
CloudOps evening presentation from Salesforce.com
 
Tech Enablement Webinar for ISVs (March 16, 2017)
Tech Enablement Webinar for ISVs (March 16, 2017)Tech Enablement Webinar for ISVs (March 16, 2017)
Tech Enablement Webinar for ISVs (March 16, 2017)
 
Spring '14 Release Developer Preview Webinar
Spring '14 Release Developer Preview WebinarSpring '14 Release Developer Preview Webinar
Spring '14 Release Developer Preview Webinar
 
Winter'18 Developer Preview Webinar
Winter'18 Developer Preview WebinarWinter'18 Developer Preview Webinar
Winter'18 Developer Preview Webinar
 
Dreamwares_Salesforce Updated
Dreamwares_Salesforce UpdatedDreamwares_Salesforce Updated
Dreamwares_Salesforce Updated
 
Building JavaScript Applications on the Salesforce1 Platform
Building JavaScript Applications on the Salesforce1 PlatformBuilding JavaScript Applications on the Salesforce1 Platform
Building JavaScript Applications on the Salesforce1 Platform
 
Communities & Dreamforce Key Takeaways
Communities & Dreamforce Key TakeawaysCommunities & Dreamforce Key Takeaways
Communities & Dreamforce Key Takeaways
 
Lightning Experience for ISVs
Lightning Experience for ISVsLightning Experience for ISVs
Lightning Experience for ISVs
 
Summer '13 Developer Preview Webinar
Summer '13 Developer Preview WebinarSummer '13 Developer Preview Webinar
Summer '13 Developer Preview Webinar
 

Plus de Salesforce Developers

Sample Gallery: Reference Code and Best Practices for Salesforce Developers
Sample Gallery: Reference Code and Best Practices for Salesforce DevelopersSample Gallery: Reference Code and Best Practices for Salesforce Developers
Sample Gallery: Reference Code and Best Practices for Salesforce DevelopersSalesforce Developers
 
Maximizing Salesforce Lightning Experience and Lightning Component Performance
Maximizing Salesforce Lightning Experience and Lightning Component PerformanceMaximizing Salesforce Lightning Experience and Lightning Component Performance
Maximizing Salesforce Lightning Experience and Lightning Component PerformanceSalesforce Developers
 
Local development with Open Source Base Components
Local development with Open Source Base ComponentsLocal development with Open Source Base Components
Local development with Open Source Base ComponentsSalesforce Developers
 
TrailheaDX India : Developer Highlights
TrailheaDX India : Developer HighlightsTrailheaDX India : Developer Highlights
TrailheaDX India : Developer HighlightsSalesforce Developers
 
Why developers shouldn’t miss TrailheaDX India
Why developers shouldn’t miss TrailheaDX IndiaWhy developers shouldn’t miss TrailheaDX India
Why developers shouldn’t miss TrailheaDX IndiaSalesforce Developers
 
CodeLive: Build Lightning Web Components faster with Local Development
CodeLive: Build Lightning Web Components faster with Local DevelopmentCodeLive: Build Lightning Web Components faster with Local Development
CodeLive: Build Lightning Web Components faster with Local DevelopmentSalesforce Developers
 
CodeLive: Converting Aura Components to Lightning Web Components
CodeLive: Converting Aura Components to Lightning Web ComponentsCodeLive: Converting Aura Components to Lightning Web Components
CodeLive: Converting Aura Components to Lightning Web ComponentsSalesforce Developers
 
Enterprise-grade UI with open source Lightning Web Components
Enterprise-grade UI with open source Lightning Web ComponentsEnterprise-grade UI with open source Lightning Web Components
Enterprise-grade UI with open source Lightning Web ComponentsSalesforce Developers
 
TrailheaDX and Summer '19: Developer Highlights
TrailheaDX and Summer '19: Developer HighlightsTrailheaDX and Summer '19: Developer Highlights
TrailheaDX and Summer '19: Developer HighlightsSalesforce Developers
 
Lightning web components - Episode 4 : Security and Testing
Lightning web components  - Episode 4 : Security and TestingLightning web components  - Episode 4 : Security and Testing
Lightning web components - Episode 4 : Security and TestingSalesforce Developers
 
LWC Episode 3- Component Communication and Aura Interoperability
LWC Episode 3- Component Communication and Aura InteroperabilityLWC Episode 3- Component Communication and Aura Interoperability
LWC Episode 3- Component Communication and Aura InteroperabilitySalesforce Developers
 
Lightning web components episode 2- work with salesforce data
Lightning web components   episode 2- work with salesforce dataLightning web components   episode 2- work with salesforce data
Lightning web components episode 2- work with salesforce dataSalesforce Developers
 
Lightning web components - Episode 1 - An Introduction
Lightning web components - Episode 1 - An IntroductionLightning web components - Episode 1 - An Introduction
Lightning web components - Episode 1 - An IntroductionSalesforce Developers
 
Migrating CPQ to Advanced Calculator and JSQCP
Migrating CPQ to Advanced Calculator and JSQCPMigrating CPQ to Advanced Calculator and JSQCP
Migrating CPQ to Advanced Calculator and JSQCPSalesforce Developers
 
Scale with Large Data Volumes and Big Objects in Salesforce
Scale with Large Data Volumes and Big Objects in SalesforceScale with Large Data Volumes and Big Objects in Salesforce
Scale with Large Data Volumes and Big Objects in SalesforceSalesforce Developers
 
Replicate Salesforce Data in Real Time with Change Data Capture
Replicate Salesforce Data in Real Time with Change Data CaptureReplicate Salesforce Data in Real Time with Change Data Capture
Replicate Salesforce Data in Real Time with Change Data CaptureSalesforce Developers
 
Modern Development with Salesforce DX
Modern Development with Salesforce DXModern Development with Salesforce DX
Modern Development with Salesforce DXSalesforce Developers
 
Integrate CMS Content Into Lightning Communities with CMS Connect
Integrate CMS Content Into Lightning Communities with CMS ConnectIntegrate CMS Content Into Lightning Communities with CMS Connect
Integrate CMS Content Into Lightning Communities with CMS ConnectSalesforce Developers
 

Plus de Salesforce Developers (20)

Sample Gallery: Reference Code and Best Practices for Salesforce Developers
Sample Gallery: Reference Code and Best Practices for Salesforce DevelopersSample Gallery: Reference Code and Best Practices for Salesforce Developers
Sample Gallery: Reference Code and Best Practices for Salesforce Developers
 
Maximizing Salesforce Lightning Experience and Lightning Component Performance
Maximizing Salesforce Lightning Experience and Lightning Component PerformanceMaximizing Salesforce Lightning Experience and Lightning Component Performance
Maximizing Salesforce Lightning Experience and Lightning Component Performance
 
Local development with Open Source Base Components
Local development with Open Source Base ComponentsLocal development with Open Source Base Components
Local development with Open Source Base Components
 
TrailheaDX India : Developer Highlights
TrailheaDX India : Developer HighlightsTrailheaDX India : Developer Highlights
TrailheaDX India : Developer Highlights
 
Why developers shouldn’t miss TrailheaDX India
Why developers shouldn’t miss TrailheaDX IndiaWhy developers shouldn’t miss TrailheaDX India
Why developers shouldn’t miss TrailheaDX India
 
CodeLive: Build Lightning Web Components faster with Local Development
CodeLive: Build Lightning Web Components faster with Local DevelopmentCodeLive: Build Lightning Web Components faster with Local Development
CodeLive: Build Lightning Web Components faster with Local Development
 
CodeLive: Converting Aura Components to Lightning Web Components
CodeLive: Converting Aura Components to Lightning Web ComponentsCodeLive: Converting Aura Components to Lightning Web Components
CodeLive: Converting Aura Components to Lightning Web Components
 
Enterprise-grade UI with open source Lightning Web Components
Enterprise-grade UI with open source Lightning Web ComponentsEnterprise-grade UI with open source Lightning Web Components
Enterprise-grade UI with open source Lightning Web Components
 
TrailheaDX and Summer '19: Developer Highlights
TrailheaDX and Summer '19: Developer HighlightsTrailheaDX and Summer '19: Developer Highlights
TrailheaDX and Summer '19: Developer Highlights
 
Live coding with LWC
Live coding with LWCLive coding with LWC
Live coding with LWC
 
Lightning web components - Episode 4 : Security and Testing
Lightning web components  - Episode 4 : Security and TestingLightning web components  - Episode 4 : Security and Testing
Lightning web components - Episode 4 : Security and Testing
 
LWC Episode 3- Component Communication and Aura Interoperability
LWC Episode 3- Component Communication and Aura InteroperabilityLWC Episode 3- Component Communication and Aura Interoperability
LWC Episode 3- Component Communication and Aura Interoperability
 
Lightning web components episode 2- work with salesforce data
Lightning web components   episode 2- work with salesforce dataLightning web components   episode 2- work with salesforce data
Lightning web components episode 2- work with salesforce data
 
Lightning web components - Episode 1 - An Introduction
Lightning web components - Episode 1 - An IntroductionLightning web components - Episode 1 - An Introduction
Lightning web components - Episode 1 - An Introduction
 
Migrating CPQ to Advanced Calculator and JSQCP
Migrating CPQ to Advanced Calculator and JSQCPMigrating CPQ to Advanced Calculator and JSQCP
Migrating CPQ to Advanced Calculator and JSQCP
 
Scale with Large Data Volumes and Big Objects in Salesforce
Scale with Large Data Volumes and Big Objects in SalesforceScale with Large Data Volumes and Big Objects in Salesforce
Scale with Large Data Volumes and Big Objects in Salesforce
 
Replicate Salesforce Data in Real Time with Change Data Capture
Replicate Salesforce Data in Real Time with Change Data CaptureReplicate Salesforce Data in Real Time with Change Data Capture
Replicate Salesforce Data in Real Time with Change Data Capture
 
Modern Development with Salesforce DX
Modern Development with Salesforce DXModern Development with Salesforce DX
Modern Development with Salesforce DX
 
Get Into Lightning Flow Development
Get Into Lightning Flow DevelopmentGet Into Lightning Flow Development
Get Into Lightning Flow Development
 
Integrate CMS Content Into Lightning Communities with CMS Connect
Integrate CMS Content Into Lightning Communities with CMS ConnectIntegrate CMS Content Into Lightning Communities with CMS Connect
Integrate CMS Content Into Lightning Communities with CMS Connect
 

Dernier

Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusZilliz
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...apidays
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 

Dernier (20)

Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 

Dive Deep Into the Force.com Canvas Framework

  • 1. Deep Dive into the Force.com Canvas Framework Jay Hurst, salesforce.com, Product Manager @extraidea
  • 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 any litigation, risks associated with completed and any 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-K for the most recent fiscal year and in our quarterly report on Form 10-Q for the most recent fiscal quarter. These 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.
  • 4. Questions ▪ Who has played with the Force.com Canvas SDK? ▪ Who has thought of at least one potential app that could be used with Force.com Canvas? ▪ Who has actually developed a Force. com Canvas App?
  • 6. Introducing Force.com 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 (Signed Request or OAuth) • Context Services (Including Custom Parameters) • Cross Domain API Calls • Eventing model • App Registration and Management
  • 7. What does Force.com Canvas do? Your Web Application is surfaced inside salesforce.com • Displayed using standard web technology • JavaScript SDK allows communication between apps • Installation and management of the app is controlled by the admin SDK
  • 8. Force.com Canvas Usage Flow 1. Canvas App is opened which sends a Signed Request to the 3rd Party App 2. The 3rd Party App responds with HTML that is loaded into the salesforce UI 3. The user interacts with the 3rd party app 4. The 3rd party app uses the Canvas JavaScript SDK to make a call to a server side JavaScript library 5. Salesforce acts on the behalf of the user and posts to the request 6. Alternatively, the 3rd party app can communicate server-to-server with salesforce via the standard APIs
  • 9. When Would I Use Force.com Canvas A few key times to consider Force.com Canvas ▪ You have data that lives outside of salesforce.com • Canvas allows you to display the data directly inside the salesforce.com UI • You do not need to bring the data inside of salesforce.com ▪ Your developer prefer their language of choice • Rather than use Visualforce and Apex, use your language of choice • You build the UI and use the Canvas API to provide the data ▪ You have an existing application • If your users have to manage data in multiple places • Potentially use the existing app rather than recreating from scratch Salesforce.com Confidential
  • 10. What is the Signed Request Access Method? The signed request is the default (and recommended) access method. ▪ ▪ ▪ When you click the Canvas app, we POST a signed request to your endpoint You can verify the request was sent by salesforce and then view context info Context contains data like: • • • • • Scoped OAuth Token User Info (Name, email, ID, etc..) Company Info (Company name, ID, etc…) Environment Info (page is the canvas on, size of the iFrame) Useful Links
  • 11. Force.com 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: SD K
  • 14. Creating the Canvas App Canvas Apps have a metadata representation in salesforce.com ▪ This determines how the app can connect into salesforce.com • Built off of the Connected Apps Framework ▪ Set the Basic Data • Name, icons, contact info ▪ Set the OAuth Data • Callback URL, Level of Access ▪ Set the Force.com Canvas data • Canvas URL, Access Method, Locations Salesforce.com Confidential
  • 15. Canvas Locations Determines where your Canvas App can show inside salesforce ▪ Chatter Tab ▪ Visualforce Page ▪ Open CTI ▪ Console ▪ Publisher (Pilot) • Allows you to develop a Canvas App for the Publisher ▪ Chatter Feed (Pilot) • Allows you to develop a Canvas App that can appear in a user’s Chatter Feed Salesforce.com Confidential
  • 16. Demo
  • 17. Force.com Canvas – Eventing and Streaming API
  • 19. Canvas Eventing Lightweight JSON eventing framework ▪ Allows your app to publish and subscribe to events • The events are sent through the Canvas API • Event happen in browser - Data is not sent to salesforce unless you choose ▪ Salesforce publishes and listens to specific events • This allows your app to richly interact with salesforce ▪ You can also publish and subscribe to event in Visualforce • This allows your app to communicate with Visualforce pages and vice versa ▪ Events happen within the page (not across tabs) Salesforce.com Confidential
  • 20. Canvas and the Streaming API The Canvas API provides events that allow you access to the Streaming API ▪ You can create, delete, and subscribe to Streaming Topics • Done through the Canvas Eventing model ▪ The Canvas API manages the CometD connection • Your app does not need to manage its own ▪ The Canvas API multiplexes streaming requests • This allows multiple apps to use the streaming API, but only a single streaming connection is required Salesforce.com Confidential
  • 21. Demo
  • 22. Force.com Canvas – Publisher and Chatter Feed
  • 24. Force.com Canvas – Publisher Quick Action (Pilot) We have expanded the Quick Actions to now support Force.com Canvas Applications ▪ Your application can now be exposed directly in the publisher • Common actions from your app are now available to your end users ▪ Your application can plug into the Chatter lifecycle • You can tell the publisher that the app is ready to “Share” • You can detect when events are fired from the publisher
  • 25. Force.com Canvas – Publisher Events Publisher Events allow interaction with the native publisher ▪ Your application can subscribe to events from the publisher • publisher.setupPanel – Fired when the Publisher is loaded • publisher.showPanel – Fired when the Canvas action is opened • publisher.clearPanelState – Fired when the Canvas action is closed • publisher.failure – Fired if there was a failure on the share • publisher.success – Fired if the share was successful • publisher.getPayload – Fired when Share is clicked (gets content from the app) ▪ Your application can publish events to the publisher • publisher.setPayload – Sends payload to the publisher (response to getPayload) • publisher.setValidForSubmit – Enabled the Share button
  • 26. Force.com Canvas in the Chatter Feed (Pilot) Expand the Chatter Feed to show your app information ▪ You canvas app can open inline directly in the feed ▪ Provides the ability to deliver app specific content directly to your users • Your info in our feed ▪ The feed item contains canvas specific information • Thumbnail image • Canvas Parameters • Title • Description • Height information
  • 27. Interacting with a Canvas Feed Item The user interacts with the feed and launches your Canvas App ▪ By clicking the Feed Link, the signed request is fired and the canvas app opens up • Signed request contains information specific to your app ▪ Once opened, the user interacts with your app • The browser displays your content • User can interact directly with your content ▪ Your app can access the salesforce data layer • The Canvas API can be used to perform interactive connections to salesforce data
  • 28. Demo
  • 29. Force.com Canvas – Debugging
  • 30. Kari Hotchkiss Senior Quality Engineer @ Mandy Blumreich Senior Quality Engineer @
  • 31. Canvas Debugging Canvas actions all happen in the browser ▪ Your app is surfaced within an iFrame ▪ User’s browser and machine determine connectivity access ▪ Canvas API is all JavaScript Ajax requests ▪ Events are sent using JSON and JavaScript JavaScript Debuggers are you best friends ▪ Firebug ▪ Chrome Developer Tools ▪ IE 9+ Debug Console Salesforce.com Confidential
  • 32. JavaScript Debugging Use standard JavaScript debugging practices ▪ Use console.out calls to dump info to the tools ▪ Use breakpoints and step through the code when needed ▪ Make sure you are capturing and relaying errors that come from salesforce calls • It is easy to swallow these errors, but the end user does not know what is going on Salesforce.com Confidential
  • 33. Demo
  • 34. What Have We Learned ▪ Explored the Current Canvas Features ▪ Canvas Locations (Chatter Tab, VF, Publisher, Chatter Feed) ▪ Canvas Events and resizing ▪ Canvas MD API ▪ Canvas Streaming API ▪ Seen code level demo of a canvas app ▪ Seen troubleshooting techniques
  • 35. We want to hear from YOU! Please take a moment to complete our session survey Surveys can be found in the “My Agenda” portion of the Dreamforce app
  • 36. Jay Hurst Steve Pepper Babu Naidu Chris Jolley Product Manager, @extraidea Senior Developer, Senior Developer, @pbnnbp Lead Developer, @jolley Kari Hotchkiss Mandy Blumreich Senior Quality Engineer, Senior Quality Engineer, @ @
  • 37. Where To Next? ▪ Other Force.com Canvas Sessions ▪ Force.com Canvas Workbook in the DevZone ▪ Force.com Canvas Developer Page ▪ Force.com Canvas Topic Page – http://bit.ly/forcecanvas ▪ Email or tweet Jay – jhurst@salesforce.com/@extraidea ▪ SalesWays Contact ▪ Spanning Contact