Join us and see what the last year has brought for Canvas since becoming generally available, and learn what features are in store for Canvas for the coming year. Get an overview of building Canvas applications and hear from developers using Canvas for the enterprise.
Gen AI in Business - Global Trends Report 2024.pdf
Force.com Canvas: 2 Case Studies and a Roadmap
1. Force.com Canvas
2 Case Studies and a Roadmap
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 heard about Force.com
Canvas?
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
8. Force.com Canvas Usage Flow
1.
2.
Canvas App is opened which sends a
Signed Request to the 3rd Party App
The 3rd Party App responds with HTML
that is loaded into the salesforce UI
3.
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
Salesforce.com
Database
Chatter Tab
if(conn
SELEC
WHERE
print
The user interacts with the 3rd party app
4.
5
6
4
Server-side JS
<script
var a=
var xl
if(xls
3
1
2
Canvas Link
Client-Side JS
(canvas-all.js)
3rd Party
Database
Server
Web UI
Salesforce.com UI
3rd Party App
9. 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
10. 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
12. Canvas Locations – Chatter Tab
Add a Canvas App to the Chatter Tab
List of Apps appear in the Chatter Applications List
Clicking the App opens in the Chatter Main Window
Salesforce.com Confidential
13. Canvas Locations – Visualforce Component
Add a Force.com Canvas App to any Visualforce Page
Tabs, Inline, and Standalone Visualforce Pages
Ability to specify Canvas height and width
Signed Request/Context delivers Page and Record specific information
Salesforce.com Confidential
14. Force.com Canvas – Eventing
Send simple JSON events between Canvas Apps
Apps can publish and subscribe to events
Eventing allows cross-domain communication
Happens in the browser
Salesforce.com Confidential
15. Force.com Canvas – Scrolling and Resizing
The canvas app can resize itself, and detect when the parent frame is
scrolling
Allows for a richer, more seamless user experience
App can resize up to the allowed limits
Infinite scrolling is also supported
Salesforce.com Confidential
17. Canvas Enhancements
Metadata API
You can now retrieve and deploy Canvas Apps through MDAPI
• Allows a canvas app to be migrated between orgs
• Consumer Key is still unique, so app can be recreated, not copied
Streaming API
Canvas Apps can now hook into the streaming API via the Canvas SDK
• Allows you to build rich apps that receive info from salesforce.com
• Each page only needs a single Streaming connection
- Managed by the Canvas SDK
• CometD connection is managed for you
Salesforce.com Confidential
18. Canvas Locations – Winter ‘14
List has expanded to a few more places
Open CTI and Console
• Allows a canvas app to interact natively inside of the Service Cloud Console
• You do not need to house the Canvas App in a VF page
Publisher (Pilot)
• Allows you to develop a Canvas App for the Publisher
- Create a place for common actions that exist in your app
Chatter Feed (Pilot)
• Allows you to develop a Canvas App that can appear in a user’s Chatter Feed
- Add your information into the Salesforce Chatter Feed giving a single information
stream to your users
Salesforce.com Confidential
19. Publisher Location (Pilot)
Your actions in our publisher
Uses the Quick Action framework to allow placement in different publishers
The developer can choose their own icon (or use the default canvas icon)
The app ties directly into the Chatter Lifecycle to publish the feed item
Salesforce.com Confidential
20. Canvas Feed Location (Pilot)
Your information in our feed
The developer can choose their own icon (or use the default canvas icon)
The app has a linked title and description
•
When the link is clicked, the app switches between open to closed
In the open mode, your app displays inline in the feed
Salesforce.com Confidential
21. Canvas in Salesforce1 (Pilot)
Provide full parity with Web UI
Ability to view Canvas Feed Apps
Ability to view Canvas Publisher Apps
Ability to add Canvas Apps on VF pages in Stage Left and on
Record Detail views
27. Areas of Focus
• Canvas works best for visual, one directional apps
• Data not automatically synchronized with Force.com
• Not easy to replicate Sharing Rules on 3rd Party App
• Additional Security Review Steps
• Burp Scanner Report
30. About Spanning
Spanning provides data protection for cloud applications,
ensuring that potential data disasters turn into non-events.
Founded 2010 in Austin, Texas
Funded 2011 $3m Series A, 2013 $6m Series B
Products:
Spanning Backup for Salesforce
Spanning Backup for Google Apps
Multiple free tools
~3000 customers worldwide
~40 full-time employees
31. Spanning Backup for Salesforce
Automates daily and on-demand backups of Salesforce
What we back up:
• Base objects, custom objects and custom attributes
• Metadata (customizations and personalization)
• Attachments and files
Key features:
• Automates, manages and monitors daily backups
• Enables recovery of objects and metadata from any daily or on-demand backup
• Canvas-enabled Chatter posts for key activities
• Allows the customer to control the API usage
32. Spanning Backup for Salesforce
Product Release Timeline
• In Beta now, www.spanning.com/salesforce
• Submitted for security assessment
• Per-user pricing, unlimited storage
Launches in January 2014!
33.
34. Spanning Backup for Salesforce
We started with Canvas!
Let us do what we do best, build web apps fast
• Team of 4, expertise in Java and JavaScript
• Minimal to moderate Salesforce knowledge
• Developed v1 in 4 months
Product architecture
• Server side Node.js extracts data to Amazon S3 and RDS
• Client side JavaScript UI leveraging Angular.js and Bootstrap
• Visual force pages and components built with Canvas
• Utilize the Force.com Rest and SOAP API
Bootstrap
35. Spanning Backup for Salesforce
Canvas Development Process
Benefits of Canvas
• Allowed us to develop how we wanted, aligned with our expertise
• Enabled rapid development and lower cost to enter the market
• Seamless integration with Salesforce platform
• Integration with multiple parts of Salesforce via a single App
• Simplified authentication
36. Spanning Backup for Salesforce
Canvas Development Process
Challenges
• Limited ability to build a fully responsive application
• Must serve SSL in development
• Browser support dictated by the Salesforce CRM
• Demo domain for testing
37.
38. Force.com Canvas wrapped in a little bow
In today’s session we have:
Walked through the basics of Force.com Canvas
• What does Force.com Canvas Allow you to do
• Where can Force.com Canvas display
Discovered how current Partners have begun using the Force.com
Canvas
39. Jay Hurst
Sam Henechowicz
Gordon Bocks
Product Manager,
Salesfore.com
@extraidea
CTO,
SalesWays Corp
@salesways
UI Lead,
Spanning
@SpanningBackup
40. Where to next?
Other Force.com Canvas Sessions
11/19 5:15-6:00 - Force.com Canvas in the Publisher and Chatter Feed
11/20 9:00-9:45 - Introduction to Force.com Canvas Apps
11/21 10:00-12:30 - Hands-on Training: Integrate an External App with the Salesforce UI Using Canvas
11/21 11:30-12:30 - Integrate Third-party Web Apps Using Force.com Canvas
Force.com Canvas Integration 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 – Sam Henechowicz - @salesways
Spanning Contact – Gordon Bockus - @SpanningBackup
Notas do Editor
Questions to set the stage for the next 45 minsTODOGet images for each of the questionsAdd animations
----- Meeting Notes (3/7/13 11:25) -----Add slide calling out where canvas can and has been used so far
----- Meeting Notes (3/7/13 11:25) -----define step 6 a litle bit clearer - have to make server calls directly
Mention how we are seeing this later with salesways
Mention We will see this later (Spanning)
Demo Canvas in the Publisher and Canvas in the Chatter Feed Show the default app and explain how/why we would want to place it in the publisherEnable the app for the publisher, create a quick action, add the app to the global layoutShow the app running in the publisherShow the app creating feed itemsCreate a Text and a Link post and explain the 1-to-many relationship for the Canvas AppExplain the Canvas Post and create oneShow the post expanding in the feedShow a historical feed item and how the history is up to the 3rd party app.
Modern sales method designed for technologySimple, generic, patented methodology that does not need hundreds of questions. Builds a sales model of each opportunity from where you track the sales cycle, determine an accurate probability, derive a priority and sales coachingSales Cycle is broken up into 3 phases, Probe, Prove, CloseWe determine a probability based on the IBO Essentials (Will We Win? Will It Happen?) and not the Current Stage.Priority is derived from where you are in the sales cycle + probability
Talk about the product before and after Canvas“Canvas is a great option for ISV Partners to rapidly go to market using the Force.com platform”Mention our existing cloud/mobile app and our need for integration. We have lots of intellectual property that we wanted to embed in Salesforce. Wanted to reuse as much code as possible (IBO Analysis, Animated Dashboards, Expert Mode). Before Canvas, we had to upload our Javascript Libs into Resources. Every time we wanted to make a change to the JS would need to zip and upload the package. We then had to port all our LAMP stack code/objects into Apex/SOQL. It was a complicated, time consuming process. We caught a Webinar for Canvas and instantly stopped the presses and changed our direction.Canvas allowed us to reuse our existing code base. It opened up the Opportunity layout to give us the flexibility we needed to embed our dashboard. Choose your preferred technology stackAvoid rewriting codeRelease upgrades and bug fixes instantlyFor us, Canvas was the perfect choice. “Let me show you a summary our current architecture”
Canvas in a Visualforce page, inside a new section, on the standard opportunity layoutSends a signed request to our Amazon AWS hosted connected appNot restricted to HerokuMention during Authentication, we create accounts on the fly. Mention because we are using Persistent Sessions, users are automatically logged into ASPEC.com. “Let me demo the app.”
Demo Canvas in the Publisher and Canvas in the Chatter Feed Show the default app and explain how/why we would want to place it in the publisherEnable the app for the publisher, create a quick action, add the app to the global layoutShow the app running in the publisherShow the app creating feed itemsCreate a Text and a Link post and explain the 1-to-many relationship for the Canvas AppExplain the Canvas Post and create oneShow the post expanding in the feedShow a historical feed item and how the history is up to the 3rd party app.
Show Priority View, starting pageShow Dashboard, extension of opportunityShow Expert, go deeper in method.
Show Priority View, starting pageShow Dashboard, extension of opportunityShow Expert, go deeper in method.
Show Priority View, starting pageShow Dashboard, extension of opportunityShow Expert, go deeper in method.
For example, if you work with data that only certain users can see, if your web app has pages where that data is displayed, you will need to figure out a way to replicate sharing rules.Trust Salesforce to handles license management, sharing rulesOption to solve this problem is to use the Canvas Javascript SDK to check “has access” using the APIDon’t fear the burp scan, use it to your advantage (load testing, security improvements)