SlideShare a Scribd company logo
1 of 89
Download to read offline
Licensed to Sell:
How to use Atlassian's new Licensing API
to Sell your Plugin on the Atlassian Marketplace

Ben Woskow
Atlassian
Developer, Ecosystem Team
                                               2
Overview
• Licensing Introduction
• Plugin Licensing API
• Quick Start Guide
• Under The Hood
• The Bright Future
• UPM 2 Awesomeness


                           3
Licensing Introduction



                         4
The Dark Ages: Vendors




                         5
The Dark Ages: Vendors

   Re-implement.




                         5
The Dark Ages: Vendors

   Re-implement.   Re-test.




                              5
The Dark Ages: Vendors

   Re-implement.   Re-test.   Re-invent.




                                           5
The Dark Ages: Vendors

   Re-implement.    Re-test.       Re-invent.

            Write a lot of code.




                                                5
The Dark Ages: Vendors



HARD
   Re-implement.    Re-test.

            Write a lot of code.
                                   Re-invent.




                                                5
The Dark Ages: Vendors



HARD
   Re-implement.    Re-test.

            Write a lot of code.
                                   Re-invent.




                                                6
The Dark Ages: Vendors



HARD
   Re-implement.    Re-test.

            Write a lot of code.
                                   Re-invent.




                                                6
The Atlassian Marketplace
In-App Experience
• Cheaper, faster, and easier to develop against
• Increases plugin discoverability
• Better experience for your customers
• Improves sales flow




                                                   7
Plugin Licensing API



                       8
Features
• Validation
• Storage and retrieval
• Encoding and decoding
• Flexible enforcement




                          9
10
Fully Integrated
Billing System
• MyAtlassian (http://my.atlassian.com)
• Communication with license management
 • Try, Buy, Renew, and Upgrade workflows




                                           11
Compatibility
      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

                                                      12
13
License Administration UI
• 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
Putting the Pieces Together




                              15
Putting the Pieces Together

         License

         Utilities




                              15
Putting the Pieces Together

         License
                     Compatibility
         Utilities




                                     15
Putting the Pieces Together

          License
                        Compatibility
          Utilities


       Billing System


                                        15
Putting the Pieces Together

          License
                        Compatibility
          Utilities

                          License
       Billing System
                          Admin UI

                                        15
Putting the Pieces Together
           License Enforcement


          License
                        Compatibility
          Utilities

                          License
       Billing System
                          Admin UI

                                        15
16
Quick Start Guide



                    17
Before You Start
• Decide how to enforce your license
• License enforcement at all plugin entry points
• Use SDK 3.9+: Atlassian-Build-Date




                                                   18
Licensing Your Plugin
1. Code generation (SDK 3.9+)
 • atlas-create-jira-plugin-module
 • “Licensing API Support” module
2. Programmatically enforce your license
3. Go eat some chocolate!



                                           19
Generated Code
• 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)
                                               20
Under The Hood



                 21
22
Licensing Architecture




                         23
Licensing Architecture




                         23
Licensing Architecture




                         23
Licensing Architecture




                         23
Licensing Architecture




                         24
Licensing Architecture




                         24
25
25
Enforcing a Plugin License




                             26
Enforcing a Plugin License




                             27
28
28
Driving In-App Sales




                       29
Driving In-App Sales




                       30
31
31
EASY
       31
The Bright Future



                    32
33
Upgrade Path to UPM 2




                        34
Upgrade Path to UPM 2




                        35
Upgrade Path to UPM 2




                        35
36
User Experience
• Without UPM 2:
 • Manage each license on own license
   administration screen
• With UPM 2:
 • Manage all licenses within Plugin Manager




                                               37
UPM 2 Awesomeness



                    38
39
40
41
Simple Purchase Path.




                        41
Simple Purchase Path.

Consistent License Management.




                                 41
42
42
42
43
43
44
45
Useful Notifications.




                       45
Notifications
• Expired & nearly expired evaluations
• Maintenance expired & nearly maintenance expired
• User mismatch
• Plugin update available




                                                     46
47
Plugin Branding:
UPM Install Tab
Plugin Branding:
UPM Install Tab
50
Increased Plugin Discoverability.




                                    50
Plugin Discoverability
• Carousel of Marketplace-enabled plugin banners
• Customized branding
• Improved search capabilities




                                                   51
Plugin Branding
• “Install Plugins” tab
 • Plugin Exchange
• “Manage My Plugins” tab
 • Plugin artifact (JAR)




                            52
53
53
54
Awesomeness
• Simple purchase path
• Consistent license management
• Useful notifications
• Increased plugin discoverability




                                     55
Recap
• Licensing Introduction
• Plugin Licensing API
• Quick Start Guide
• Under The Hood
• The Bright Future
• UPM 2 Awesomeness


                           56
Workshop
• Where: Paris (across the hall)
• When: Today and tomorrow




                                   57
Additional Information
• Documentation and tutorials: http://atlss.in/z6X2EW
• Marketplace Workshop
• Ask questions to myself, Jonathan, Daniel, or John




                                                        58
Thank you!

More Related Content

Viewers also liked

Unite community germany
Unite community germanyUnite community germany
Unite community germany
Atlassian
 
Jira andscrum (1)
Jira andscrum (1)Jira andscrum (1)
Jira andscrum (1)
Atlassian
 
Atlassian unite-2012-sponsored-by-syracom-v3.2
Atlassian unite-2012-sponsored-by-syracom-v3.2Atlassian unite-2012-sponsored-by-syracom-v3.2
Atlassian unite-2012-sponsored-by-syracom-v3.2
Atlassian
 
Atlassian Unite Sponsored Talk - Avono
Atlassian Unite Sponsored Talk - AvonoAtlassian Unite Sponsored Talk - Avono
Atlassian Unite Sponsored Talk - Avono
Atlassian
 
Setting Up Your Scrum Board in GreenHopper
Setting Up Your Scrum Board in GreenHopperSetting Up Your Scrum Board in GreenHopper
Setting Up Your Scrum Board in GreenHopper
Atlassian
 
JIRA State of the Union
JIRA State of the UnionJIRA State of the Union
JIRA State of the Union
Atlassian
 
Unite dvcs deck-uk-john stevenson
Unite dvcs deck-uk-john stevensonUnite dvcs deck-uk-john stevenson
Unite dvcs deck-uk-john stevenson
Atlassian
 

Viewers also liked (20)

Unite community germany
Unite community germanyUnite community germany
Unite community germany
 
You Can Kick-Ass Too, AtlasCamp US 2012
You Can Kick-Ass Too, AtlasCamp US 2012You Can Kick-Ass Too, AtlasCamp US 2012
You Can Kick-Ass Too, AtlasCamp US 2012
 
Jira andscrum (1)
Jira andscrum (1)Jira andscrum (1)
Jira andscrum (1)
 
Atlassian Summit 2012 - Rock Your Wiki
Atlassian Summit 2012 - Rock Your WikiAtlassian Summit 2012 - Rock Your Wiki
Atlassian Summit 2012 - Rock Your Wiki
 
Atlassian Unite Sponsored Talk - S&D
Atlassian Unite Sponsored Talk - S&DAtlassian Unite Sponsored Talk - S&D
Atlassian Unite Sponsored Talk - S&D
 
Atlassian unite-2012-sponsored-by-syracom-v3.2
Atlassian unite-2012-sponsored-by-syracom-v3.2Atlassian unite-2012-sponsored-by-syracom-v3.2
Atlassian unite-2012-sponsored-by-syracom-v3.2
 
Atlassian Unite Sponsored Talk - Avono
Atlassian Unite Sponsored Talk - AvonoAtlassian Unite Sponsored Talk - Avono
Atlassian Unite Sponsored Talk - Avono
 
Atlassian Unite - Scaling JIRA in Agile enterprise software development
Atlassian Unite - Scaling JIRA in Agile enterprise software developmentAtlassian Unite - Scaling JIRA in Agile enterprise software development
Atlassian Unite - Scaling JIRA in Agile enterprise software development
 
AtlasCamp 2014: Collaboration State of the Union
AtlasCamp 2014: Collaboration State of the UnionAtlasCamp 2014: Collaboration State of the Union
AtlasCamp 2014: Collaboration State of the Union
 
Get Ready for JIRA 5 - AtlasCamp 2011
Get Ready for JIRA 5 - AtlasCamp 2011Get Ready for JIRA 5 - AtlasCamp 2011
Get Ready for JIRA 5 - AtlasCamp 2011
 
Troubleshooting JIRA & Confluence
Troubleshooting JIRA & ConfluenceTroubleshooting JIRA & Confluence
Troubleshooting JIRA & Confluence
 
Setting Up Your Scrum Board in GreenHopper
Setting Up Your Scrum Board in GreenHopperSetting Up Your Scrum Board in GreenHopper
Setting Up Your Scrum Board in GreenHopper
 
A Communication Cadence
A Communication CadenceA Communication Cadence
A Communication Cadence
 
How to Avoid the "Oh Shit" Moment with Team Calendars
How to Avoid the "Oh Shit" Moment with Team CalendarsHow to Avoid the "Oh Shit" Moment with Team Calendars
How to Avoid the "Oh Shit" Moment with Team Calendars
 
Better front-end development in Atlassian plugins
Better front-end development in Atlassian pluginsBetter front-end development in Atlassian plugins
Better front-end development in Atlassian plugins
 
JIRA State of the Union
JIRA State of the UnionJIRA State of the Union
JIRA State of the Union
 
Unite dvcs deck-uk-john stevenson
Unite dvcs deck-uk-john stevensonUnite dvcs deck-uk-john stevenson
Unite dvcs deck-uk-john stevenson
 
The Life of a Feature in Agile Development - Eric Dalgliesh
The Life of a Feature in Agile Development - Eric DalglieshThe Life of a Feature in Agile Development - Eric Dalgliesh
The Life of a Feature in Agile Development - Eric Dalgliesh
 
Building Effective Customer Feedback Loops, AtlasCamp US 2012
Building Effective Customer Feedback Loops, AtlasCamp US 2012Building Effective Customer Feedback Loops, AtlasCamp US 2012
Building Effective Customer Feedback Loops, AtlasCamp US 2012
 
Gouvernance web et crise 2.0 : meilleures pratiques
Gouvernance web et crise 2.0 : meilleures pratiquesGouvernance web et crise 2.0 : meilleures pratiques
Gouvernance web et crise 2.0 : meilleures pratiques
 

Similar to Marketplace atlascampeurope2012final

Similar to Marketplace atlascampeurope2012final (20)

Developing apps faster
Developing apps fasterDeveloping apps faster
Developing apps faster
 
Mastering the Administration of your AppDynamics Deployment - AppSphere16
Mastering the Administration of your AppDynamics Deployment - AppSphere16Mastering the Administration of your AppDynamics Deployment - AppSphere16
Mastering the Administration of your AppDynamics Deployment - AppSphere16
 
Subversion Edge Overview
Subversion Edge OverviewSubversion Edge Overview
Subversion Edge Overview
 
Meetup: Platform-as-a-Service / Cloud Foundry
Meetup: Platform-as-a-Service / Cloud FoundryMeetup: Platform-as-a-Service / Cloud Foundry
Meetup: Platform-as-a-Service / Cloud Foundry
 
State of the Ecosystem - Atlassian Summit 2010
State of the Ecosystem - Atlassian Summit 2010State of the Ecosystem - Atlassian Summit 2010
State of the Ecosystem - Atlassian Summit 2010
 
Zero Trust And Best Practices for Securing Endpoint Apps on May 24th 2021
Zero Trust And Best Practices for Securing Endpoint Apps on May 24th 2021Zero Trust And Best Practices for Securing Endpoint Apps on May 24th 2021
Zero Trust And Best Practices for Securing Endpoint Apps on May 24th 2021
 
OAuth for QuickBooks Online REST Services
OAuth for QuickBooks Online REST ServicesOAuth for QuickBooks Online REST Services
OAuth for QuickBooks Online REST Services
 
apidays New York 2023 - Enabling unified API Catalogs in a multi-vendor/cross...
apidays New York 2023 - Enabling unified API Catalogs in a multi-vendor/cross...apidays New York 2023 - Enabling unified API Catalogs in a multi-vendor/cross...
apidays New York 2023 - Enabling unified API Catalogs in a multi-vendor/cross...
 
Kubernetes deep dive - - Huawei 2015-10
Kubernetes deep dive - - Huawei 2015-10Kubernetes deep dive - - Huawei 2015-10
Kubernetes deep dive - - Huawei 2015-10
 
2012 09-04 smart devcon - sencha touch 2
2012 09-04 smart devcon - sencha touch 22012 09-04 smart devcon - sencha touch 2
2012 09-04 smart devcon - sencha touch 2
 
It's What's Inside that Counts!
It's What's Inside that Counts!It's What's Inside that Counts!
It's What's Inside that Counts!
 
VMworld 2015: Build and Run Cloud Native Apps in your Software Defined Data C...
VMworld 2015: Build and Run Cloud Native Apps in your Software Defined Data C...VMworld 2015: Build and Run Cloud Native Apps in your Software Defined Data C...
VMworld 2015: Build and Run Cloud Native Apps in your Software Defined Data C...
 
EVOLVE'13 | Enhance | Permission Sensitive Caching | Paul McMahon & Jason Rap...
EVOLVE'13 | Enhance | Permission Sensitive Caching | Paul McMahon & Jason Rap...EVOLVE'13 | Enhance | Permission Sensitive Caching | Paul McMahon & Jason Rap...
EVOLVE'13 | Enhance | Permission Sensitive Caching | Paul McMahon & Jason Rap...
 
Fundamentals of Using Open Source Code to Build Products
Fundamentals of Using Open Source Code to Build ProductsFundamentals of Using Open Source Code to Build Products
Fundamentals of Using Open Source Code to Build Products
 
First Caracas MuleSoft Meetup Slides
First Caracas MuleSoft Meetup SlidesFirst Caracas MuleSoft Meetup Slides
First Caracas MuleSoft Meetup Slides
 
Jumping from Continuous Integration to Continuous Delivery with Jenkins Enter...
Jumping from Continuous Integration to Continuous Delivery with Jenkins Enter...Jumping from Continuous Integration to Continuous Delivery with Jenkins Enter...
Jumping from Continuous Integration to Continuous Delivery with Jenkins Enter...
 
Why we don’t use the Term DevOps: the Journey to a Product Mindset - DevOpsCo...
Why we don’t use the Term DevOps: the Journey to a Product Mindset - DevOpsCo...Why we don’t use the Term DevOps: the Journey to a Product Mindset - DevOpsCo...
Why we don’t use the Term DevOps: the Journey to a Product Mindset - DevOpsCo...
 
Intro to Automation Using Perfecto's CQ Lab
Intro to Automation Using Perfecto's CQ LabIntro to Automation Using Perfecto's CQ Lab
Intro to Automation Using Perfecto's CQ Lab
 
Unlock Salesforce.com with Bonita Open Solution
Unlock Salesforce.com with Bonita Open SolutionUnlock Salesforce.com with Bonita Open Solution
Unlock Salesforce.com with Bonita Open Solution
 
Application Lifecycle Management
Application Lifecycle ManagementApplication Lifecycle Management
Application Lifecycle Management
 

More from Atlassian

Design Your Next App with the Atlassian Vendor Sketch Plugin
Design Your Next App with the Atlassian Vendor Sketch PluginDesign Your Next App with the Atlassian Vendor Sketch Plugin
Design Your Next App with the Atlassian Vendor Sketch Plugin
Atlassian
 

More from Atlassian (20)

International Women's Day 2020
International Women's Day 2020International Women's Day 2020
International Women's Day 2020
 
10 emerging trends that will unbreak your workplace in 2020
10 emerging trends that will unbreak your workplace in 202010 emerging trends that will unbreak your workplace in 2020
10 emerging trends that will unbreak your workplace in 2020
 
Forge App Showcase
Forge App ShowcaseForge App Showcase
Forge App Showcase
 
Let's Build an Editor Macro with Forge UI
Let's Build an Editor Macro with Forge UILet's Build an Editor Macro with Forge UI
Let's Build an Editor Macro with Forge UI
 
Meet the Forge Runtime
Meet the Forge RuntimeMeet the Forge Runtime
Meet the Forge Runtime
 
Forge UI: A New Way to Customize the Atlassian User Experience
Forge UI: A New Way to Customize the Atlassian User ExperienceForge UI: A New Way to Customize the Atlassian User Experience
Forge UI: A New Way to Customize the Atlassian User Experience
 
Take Action with Forge Triggers
Take Action with Forge TriggersTake Action with Forge Triggers
Take Action with Forge Triggers
 
Observability and Troubleshooting in Forge
Observability and Troubleshooting in ForgeObservability and Troubleshooting in Forge
Observability and Troubleshooting in Forge
 
Trusted by Default: The Forge Security & Privacy Model
Trusted by Default: The Forge Security & Privacy ModelTrusted by Default: The Forge Security & Privacy Model
Trusted by Default: The Forge Security & Privacy Model
 
Designing Forge UI: A Story of Designing an App UI System
Designing Forge UI: A Story of Designing an App UI SystemDesigning Forge UI: A Story of Designing an App UI System
Designing Forge UI: A Story of Designing an App UI System
 
Forge: Under the Hood
Forge: Under the HoodForge: Under the Hood
Forge: Under the Hood
 
Access to User Activities - Activity Platform APIs
Access to User Activities - Activity Platform APIsAccess to User Activities - Activity Platform APIs
Access to User Activities - Activity Platform APIs
 
Design Your Next App with the Atlassian Vendor Sketch Plugin
Design Your Next App with the Atlassian Vendor Sketch PluginDesign Your Next App with the Atlassian Vendor Sketch Plugin
Design Your Next App with the Atlassian Vendor Sketch Plugin
 
Tear Up Your Roadmap and Get Out of the Building
Tear Up Your Roadmap and Get Out of the BuildingTear Up Your Roadmap and Get Out of the Building
Tear Up Your Roadmap and Get Out of the Building
 
Nailing Measurement: a Framework for Measuring Metrics that Matter
Nailing Measurement: a Framework for Measuring Metrics that MatterNailing Measurement: a Framework for Measuring Metrics that Matter
Nailing Measurement: a Framework for Measuring Metrics that Matter
 
Building Apps With Color Blind Users in Mind
Building Apps With Color Blind Users in MindBuilding Apps With Color Blind Users in Mind
Building Apps With Color Blind Users in Mind
 
Creating Inclusive Experiences: Balancing Personality and Accessibility in UX...
Creating Inclusive Experiences: Balancing Personality and Accessibility in UX...Creating Inclusive Experiences: Balancing Personality and Accessibility in UX...
Creating Inclusive Experiences: Balancing Personality and Accessibility in UX...
 
Beyond Diversity: A Guide to Building Balanced Teams
Beyond Diversity: A Guide to Building Balanced TeamsBeyond Diversity: A Guide to Building Balanced Teams
Beyond Diversity: A Guide to Building Balanced Teams
 
The Road(map) to Las Vegas - The Story of an Emerging Self-Managed Team
The Road(map) to Las Vegas - The Story of an Emerging Self-Managed TeamThe Road(map) to Las Vegas - The Story of an Emerging Self-Managed Team
The Road(map) to Las Vegas - The Story of an Emerging Self-Managed Team
 
Building Apps With Enterprise in Mind
Building Apps With Enterprise in MindBuilding Apps With Enterprise in Mind
Building Apps With Enterprise in Mind
 

Recently uploaded

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Recently uploaded (20)

Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
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
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
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
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
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
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
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?
 
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...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
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
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 

Marketplace atlascampeurope2012final