marketplace atlascampeurope2012final
TRANSCRIPT
Ben WoskowAtlassianDeveloper, Ecosystem Team
Licensed to Sell: How to use Atlassian's new Licensing APIto Sell your Plugin on the Atlassian Marketplace
2
• Licensing Introduction• Plugin Licensing API• Quick Start Guide• Under The Hood• The Bright Future• UPM 2 Awesomeness
3
Overview
4
Licensing Introduction
The Dark Ages: Vendors
5
Re-implement.
The Dark Ages: Vendors
5
Re-implement.
The Dark Ages: Vendors
5
Re-test.
Re-implement.
The Dark Ages: Vendors
5
Re-test. Re-invent.
Re-implement.
The Dark Ages: Vendors
5
Write a lot of code.
Re-test. Re-invent.
Re-implement.
The Dark Ages: Vendors
5
Write a lot of code.
Re-test. Re-invent.HARD
Re-implement.
The Dark Ages: Vendors
6
Write a lot of code.
Re-test. Re-invent.HARD
Re-implement.
The Dark Ages: Vendors
6
Write a lot of code.
Re-test. Re-invent.HARD
• Cheaper, faster, and easier to develop against• Increases plugin discoverability• Better experience for your customers• Improves sales flow
7
The Atlassian Marketplace In-App Experience
8
Plugin Licensing API
• Validation• Storage and retrieval• Encoding and decoding• Flexible enforcement
9
Features
10
• MyAtlassian (http://my.atlassian.com)• Communication with license management
• Try, Buy, Renew, and Upgrade workflows
11
Fully IntegratedBilling System
12
Confluence 3.1 Dec 2009 27 months
JIRA 4.1 April 2010 23 months
Bamboo 2.6 June 2010 20 months
Fisheye / Crucible 2.4 October 2010 16 months
Compatibility
13
• License administration screen allows:• Updating and removing license• Viewing license details• Acquiring a new license from MyAtlassian
• Consistency: all your licensed plugins can have the same user interface
14
License Administration UI
15
Putting the Pieces Together
15
Putting the Pieces Together
License
Utilities
15
Putting the Pieces Together
License
UtilitiesCompatibility
15
Putting the Pieces Together
License
UtilitiesCompatibility
Billing System
15
Putting the Pieces Together
License
UtilitiesCompatibility
Billing SystemLicense
Admin UI
15
Putting the Pieces Together
License
UtilitiesCompatibility
Billing SystemLicense
Admin UI
License Enforcement
16
17
Quick Start Guide
• Decide how to enforce your license• License enforcement at all plugin entry points• Use SDK 3.9+: Atlassian-Build-Date
18
Before You Start
1. Code generation (SDK 3.9+)• atlas-create-jira-plugin-module • “Licensing API Support” module
2. Programmatically enforce your license3. Go eat some chocolate!
19
Licensing Your Plugin
20
• Maven dependencies• OSGi bundle instructions• Uses maven-dependency-plugin
• atlassian-licensing-enabled in plugin-info• Components and component-imports• License management servlet• Sample license enforcement code (optional)
Generated Code
21
Under The Hood
22
23
Licensing Architecture
23
Licensing Architecture
23
Licensing Architecture
23
Licensing Architecture
24
Licensing Architecture
24
Licensing Architecture
25
25
26
Enforcing a Plugin License
27
Enforcing a Plugin License
28
28
29
Driving In-App Sales
30
Driving In-App Sales
31
31
31
EASY
32
The Bright Future
33
34
Upgrade Path to UPM 2
35
Upgrade Path to UPM 2
35
Upgrade Path to UPM 2
36
• Without UPM 2:• Manage each license on own license
administration screen• With UPM 2:
• Manage all licenses within Plugin Manager
37
User Experience
38
UPM 2 Awesomeness
39
40
41
41
Simple Purchase Path.
41
Consistent License Management.
Simple Purchase Path.
42
42
42
43
43
44
45
45
Useful Notifications.
• Expired & nearly expired evaluations• Maintenance expired & nearly maintenance expired• User mismatch• Plugin update available
46
Notifications
47
Plugin Branding:UPM Install Tab
Plugin Branding:UPM Install Tab
50
50
Increased Plugin Discoverability.
• Carousel of Marketplace-enabled plugin banners• Customized branding• Improved search capabilities
51
Plugin Discoverability
• “Install Plugins” tab• Plugin Exchange
• “Manage My Plugins” tab• Plugin artifact (JAR)
52
Plugin Branding
53
53
54
• Simple purchase path• Consistent license management• Useful notifications• Increased plugin discoverability
55
Awesomeness
56
• Licensing Introduction• Plugin Licensing API• Quick Start Guide• Under The Hood• The Bright Future• UPM 2 Awesomeness
Recap
• Where: Paris (across the hall)• When: Today and tomorrow
57
Workshop
• Documentation and tutorials: http://atlss.in/z6X2EW• Marketplace Workshop• Ask questions to myself, Jonathan, Daniel, or John
58
Additional Information
Thank you!