Build and Package Lightning Components for Lightning Exchange
Emily Hudson, Valerie LimISV Technical Evangelists
@EmilySFDC @ValerieSFDC
Forward-Looking Statements 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.
1 2 3 4 5 6
Package ManageDistribute
SecurityReview
Build your Component
Partners
Install
Customers
Distribution Steps
Scale App Development with Lightning ComponentsBuild faster with a modern component framework
Building Blocks for AppsBuild apps and pages with self-contained components with HTML, JavaScript and CSS
Faster LoadingReduced server trips with client-side caching and shared transport layer
Scale, Share, and ReuseSave time and development resources by reusing components to build apps faster.
Easily Install Components from the Lightning ExchangeThe Enterprise Marketplace for Lightning Components
Build or BuyAssemble apps easily with pre-built Components from Salesforce partners that work for any device
Interoperable componentsEvent-driven architecture allows interaction between Components built by different developers
Share, Sell, and Buy with PackagingEasily distribute components with Managed Packages. Users install components with a few clicks
Our Mission: Cloud Computing Driver, Catalyst, and Evangelist
“Salesforce is a Platform Company. Period.” TechCrunch
2MInstalls
20152006
Apps
on
the
AppE
xcha
nge
1MInstalls
AppExchangeLaunches
3.8M+Installs3K+
AppExchange Apps
Building Lightning Components
Types of Components
Global Not context specific Can access data, but
does not dynamically change
Can be dragged onto any page
Ex: calendar, speed dialer, calculator, task manager, local time viewer, Company hierarchy
Record Scoped Context specific Data view changes
based on context / page
Can be dragged onto Record Home and Community page
Ex: project management, Lightning charts, Sales stats viewer
Lightning Component Display OptionsCustomers can leverage your component in multiple ways
Record Home
Community
App Home
Lightning App
Customize Record Home
Almost all standard objects
All custom objects
Uses:
Global Components
Record Scoped Components
Customize Community
Customize Community page
Drag and drop from Community Builder
Uses:
Global Components
Record Scoped Components
Customize App Home
Custom Home Page
Per-profile page assignment
Uses:
Global Components
Customize Lightning App
Customize Mobile view
Create tab for Lightning Pages
Drag and drop in App Builder
Uses:
Global Components
Packaging and Distribution
1 2 3 4 5 6
Package ManageDistribute
SecurityReview
Build your Component
Partners
Install
Customers
Distribution Steps
DemoInstalling a Lightning Component from the Lightning Exchange
1 2 3 4 5 6
Package ManageDistribute
SecurityReview
Build your Component
Partners
Install
Customers
Distribution Steps
Free No Upgrades No IP Protection
Free or Paid Upgrades Choose price structure (one-time, yearly) Use Checkout ISV program benefits (push upgrades,
License Management App, Subscriber Support Console, etc)
Packaging Your Component Before Distribution
Managed PackageUnmanaged Package
1 2 3 4 5 6
Package ManageDistribute
SecurityReview
Build your Component
Partners
Install
Customers
Distribution Steps
Security Review
Basic approach:● Identify potential product vulnerability
points at design time
● Put defenses in place to cover all possible input paths
● Institute coding standards to control risk from the beginning
Meet the security expectations of enterprise customers
Incorporate security into your Application Lifecycle Management process
Secure Development:● Test for the OWASP top 10● Test for Record and Field Level Security Enforcement
○ http://sforce.co/1Y32v3k
● See full list of security considerations here: http://bit.ly/LC-SecuritySecurity Review Submission:
● Security Review of paid components is $1000, no charge for free components
● Each listing (bundle or individual component) has the same price for Security Review
● Create a test environment with the component configured/accessible ready for the tester
● Third party frameworks are not supported in Lightning Components
https://developer.salesforce.com/page/Lightning_Security
Considerations to pass Security Review
Lightning LockerService
Keeps 3rd party authored JavaScript and CSS in a secure sandbox
Eliminate DOM scraping vulnerabilities
Mitigates impact of one developer’s component breaking another developer’s component
LockerService documentation on Partner Community https://developer.salesforce.com/blogs/developer-relations/
2016/04/introducing-lockerservice-lightning-components.html
Browser Security Architecture for the Lightning Platform
Salesforce Application JavaScript
3rd Party Authored
JavaScript
Without LockerService
Salesforce Application JavaScript
3rd Party Authored
JavaScript
With LockerService
1 2 3 4 5 6
Package ManageDistribute
SecurityReview
Build your Component
Partners
Install
Customers
Distribution Steps
DemoDistributing a Lightning Component on the Lightning Exchange
Use Trialforce to Provide Trials for Customers
ISVs choose trial length, we take care of the rest.ISVs can distribute free trials of their apps using:● Custom webform● Environment Hub● SignUp API● AppExchange
A Simple Way to Provision Free Trials
Collects credit card
information using Stripe
• In Summer, will accept ACH payments
Manages trial periods
Processes changes
Automatically updates licenses
in your LMA
Use Checkout to Charge for Your Component
Best Practices for Charging for Components
How should you charge for Components?
How should you license your Component?
One-Time Charge Annual Charge
Use one time pricing for components that are limited in scope and do not require significant maintenance over
time
Use annual pricing for more complex components that will need to be supported
over time
Site-wide licensing is preferred
1 2 3 4 5 6
Package ManageDistribute
SecurityReview
Build your Component
Partners
Install
Customers
Distribution Steps
Use License Management App to Manage Customers
Control licensing and access to components from customers’ orgs
View lead and license records for each installation of your package
Records basic information about customers or prospects who have installed
Ability to support partner’s customers through the Subscriber console
Best Practices throughout the Process
Building Choose type (global or
record scoped) Choose display option
(record home, app home, community, lightning app)
Follow Security Review and LockerService guidelines
Packaging Test your component in
target environment
Use a managed package to benefit from ISV tools
Distribution Choose pricing options
Use free trial
Spend time creating polished Lightning Exchange listing
Manage customers using License Management App
Next Steps & Resources
Free Trial of your Component● Trialforce
Collect Leads from Installs of your components ● License Management App
Monetizing your Component ● Payment tool “Checkout”
Upgrading your Component ● Push Upgrades
Technical Benefits for ISVs in the Partner Program
Program Benefits for ISVs in the Partner Program
Partner Community
New ISV program details
App Academy program training for all ISVs
Collaborate with program staff & other partners
Partner Roadmap Webinars
Office Hours
Sales & Marketing resources
Support http://p.force.com/isvprogram
New ISV Module on TrailheadEarn your badge!
https://trailhead.salesforce.com/module/isvforce_basics
thank y u