103. JIRA JIRA
Internal Database
API Tables
Your Plugin's Output to XML
Database Backup/Restore
Your Plugin
Tables
Entity Objects
Another Plugin's
Database
Tables
TRUE DATABASE STORAGE
FOR PLUGIN DATA
53
Daniel: introduces Alex, clicks “next” on this slide\n
Daniel: introduces Alex, clicks “next” on this slide\n
Daniel: introduces Alex, clicks “next” on this slide\n
Daniel: introduces Alex, clicks “next” on this slide\n
Daniel: introduces Alex, clicks “next” on this slide\n
Daniel: introduces Alex, clicks “next” on this slide\n
Daniel: introduces Alex, clicks “next” on this slide\n
Daniel: introduces Alex, clicks “next” on this slide\n
Daniel: introduces Alex, clicks “next” on this slide\n
Daniel: introduces Alex, clicks “next” on this slide\n
Daniel: introduces Alex, clicks “next” on this slide\n
Daniel: introduces Alex, clicks “next” on this slide\n
Daniel: introduces Alex, clicks “next” on this slide\n
Daniel: leave stage\nAlex: “hi everyone, I want to start with a story”anyone play counter strike?\n
explain CS\n
explain CS\n
explain clan\n
explain clan\nnobel place where people make websites\n
sweet flame counter\nI was super excited, satisfied\nSatisfaction got me here -- used it to get into UW CSE\nThat’s why I’m here, but what about all of you?\n
sweet flame counter\nI was super excited, satisfied\nSatisfaction got me here -- used it to get into UW CSE\nThat’s why I’m here, but what about all of you?\n
sweet flame counter\nI was super excited, satisfied\nSatisfaction got me here -- used it to get into UW CSE\nThat’s why I’m here, but what about all of you?\n
want to talk plugins\n
plugins are built by developers\nmany of you will or have built plugins\n
As each comes:\n-explain\n-ask the audience how many\n
As each comes:\n-explain\n-ask the audience how many\n
As each comes:\n-explain\n-ask the audience how many\n
As each comes:\n-explain\n-ask the audience how many\n
As each comes:\n-explain\n-ask the audience how many\n
As each comes:\n-explain\n-ask the audience how many\n
As each comes:\n-explain\n-ask the audience how many\n
As each comes:\n-explain\n-ask the audience how many\n
Regardless of what you’re building, share a few exciting characteristics\n“find satisfaction and excitement like I did”\n
Today we’ll talk about ...\nLeaving slide, “Let’s start with activity”\n
Today we’ll talk about ...\nLeaving slide, “Let’s start with activity”\n
Today we’ll talk about ...\nLeaving slide, “Let’s start with activity”\n
For the last several months, every 2 days we see a new plugin on the plugin exchange\n4 updates per day\nA lot added to the plugin exchange, but that’s tip of iceberg\n
estimation, at least 2 / day\ncustomizations, commercial, open source, integrations\n
of plugins on exchange, ~75% are open source\n
can learn from these, use them as example/dependency, contact the developers\n
In addition to new plugins, want to talk about SDK\nExplain SDK\nUnique IP SDK downloads / day\nupdating, building, testing a plugin\n
community of people\nbuilding new things\nupdating, improving, learning\n
Looking for people to use your plugins\nsatisfaction of seeing someone use your work\n
We got ‘em\nOver 60k\nCommercial, starter, community, academic\nNot license or end-user count\nLeaving, are customers using those plugins?\n
Average plugins installed per instance\nDoes not include plugins we bundle ourselves\nCustomers are installing plugins, a lot\nPlugins harder to install in non-Confluence, Jonathan will say how we’re fixing that\n
Average plugins installed per instance\nDoes not include plugins we bundle ourselves\nCustomers are installing plugins, a lot\nPlugins harder to install in non-Confluence, Jonathan will say how we’re fixing that\n
Average plugins installed per instance\nDoes not include plugins we bundle ourselves\nCustomers are installing plugins, a lot\nPlugins harder to install in non-Confluence, Jonathan will say how we’re fixing that\n
Average plugins installed per instance\nDoes not include plugins we bundle ourselves\nCustomers are installing plugins, a lot\nPlugins harder to install in non-Confluence, Jonathan will say how we’re fixing that\n
Average plugins installed per instance\nDoes not include plugins we bundle ourselves\nCustomers are installing plugins, a lot\nPlugins harder to install in non-Confluence, Jonathan will say how we’re fixing that\n
Average plugins installed per instance\nDoes not include plugins we bundle ourselves\nCustomers are installing plugins, a lot\nPlugins harder to install in non-Confluence, Jonathan will say how we’re fixing that\n
Average plugins installed per instance\nDoes not include plugins we bundle ourselves\nCustomers are installing plugins, a lot\nPlugins harder to install in non-Confluence, Jonathan will say how we’re fixing that\n
Average plugins installed per instance\nDoes not include plugins we bundle ourselves\nCustomers are installing plugins, a lot\nPlugins harder to install in non-Confluence, Jonathan will say how we’re fixing that\n
Average plugins installed per instance\nDoes not include plugins we bundle ourselves\nCustomers are installing plugins, a lot\nPlugins harder to install in non-Confluence, Jonathan will say how we’re fixing that\n
Fun in the ecosystem\nI wish there was a geocities page competition\n
Plugin coding competition\n5th we’ve done\nExplain details\nHow many of you participated?\nWanted to go big this year\n
be quick here\n
explain each one\n
explain each one\n
explain each one\n
We couldn’t be happier\nBut why should you care ...\n
We couldn’t be happier\nBut why should you care ...\n
Two new technologies Jonathan will talk about\nDeveloper previews\n
Two new technologies Jonathan will talk about\nDeveloper previews\n
Two new technologies Jonathan will talk about\nDeveloper previews\n
Two new technologies Jonathan will talk about\nDeveloper previews\n
Two new technologies Jonathan will talk about\nDeveloper previews\n
Two new technologies Jonathan will talk about\nDeveloper previews\n
To those of you who participated\nHope you had fun\n
winners announced tomorrow\n
“want to introduce the dev relations team”\nyou’re not alone\n
introduce each person and what they do\nirc/forums - leads - eng/docs - tool Jonathan will announce later - marketing - specs/roadmaps\nwe’re here to help; responsible for making you successful\nbut if there’s one thing you should remember from this talk ...\n
introduce each person and what they do\nirc/forums - leads - eng/docs - tool Jonathan will announce later - marketing - specs/roadmaps\nwe’re here to help; responsible for making you successful\nbut if there’s one thing you should remember from this talk ...\n
introduce each person and what they do\nirc/forums - leads - eng/docs - tool Jonathan will announce later - marketing - specs/roadmaps\nwe’re here to help; responsible for making you successful\nbut if there’s one thing you should remember from this talk ...\n
introduce each person and what they do\nirc/forums - leads - eng/docs - tool Jonathan will announce later - marketing - specs/roadmaps\nwe’re here to help; responsible for making you successful\nbut if there’s one thing you should remember from this talk ...\n
introduce each person and what they do\nirc/forums - leads - eng/docs - tool Jonathan will announce later - marketing - specs/roadmaps\nwe’re here to help; responsible for making you successful\nbut if there’s one thing you should remember from this talk ...\n
introduce each person and what they do\nirc/forums - leads - eng/docs - tool Jonathan will announce later - marketing - specs/roadmaps\nwe’re here to help; responsible for making you successful\nbut if there’s one thing you should remember from this talk ...\n
introduce each person and what they do\nirc/forums - leads - eng/docs - tool Jonathan will announce later - marketing - specs/roadmaps\nwe’re here to help; responsible for making you successful\nbut if there’s one thing you should remember from this talk ...\n
introduce each person and what they do\nirc/forums - leads - eng/docs - tool Jonathan will announce later - marketing - specs/roadmaps\nwe’re here to help; responsible for making you successful\nbut if there’s one thing you should remember from this talk ...\n
introduce each person and what they do\nirc/forums - leads - eng/docs - tool Jonathan will announce later - marketing - specs/roadmaps\nwe’re here to help; responsible for making you successful\nbut if there’s one thing you should remember from this talk ...\n
introduce each person and what they do\nirc/forums - leads - eng/docs - tool Jonathan will announce later - marketing - specs/roadmaps\nwe’re here to help; responsible for making you successful\nbut if there’s one thing you should remember from this talk ...\n
introduce each person and what they do\nirc/forums - leads - eng/docs - tool Jonathan will announce later - marketing - specs/roadmaps\nwe’re here to help; responsible for making you successful\nbut if there’s one thing you should remember from this talk ...\n
introduce each person and what they do\nirc/forums - leads - eng/docs - tool Jonathan will announce later - marketing - specs/roadmaps\nwe’re here to help; responsible for making you successful\nbut if there’s one thing you should remember from this talk ...\n
There’s a blooming ecosystem around you\nsupport, satisfaction, and fun\n
Announced at Summit 2010 -- only downloadable.\n\nOver the course of the year, we’ve made it available in....\n
Announced at Summit 2010 -- only downloadable.\n\nOver the course of the year, we’ve made it available in....\n
Announced at Summit 2010 -- only downloadable.\n\nOver the course of the year, we’ve made it available in....\n
Announced at Summit 2010 -- only downloadable.\n\nOver the course of the year, we’ve made it available in....\n
Announced at Summit 2010 -- only downloadable.\n\nOver the course of the year, we’ve made it available in....\n
Announced at Summit 2010 -- only downloadable.\n\nOver the course of the year, we’ve made it available in....\n
\n
\n
\n
\n
\n
\n
\n
\n
* Makes existing things easier\n\n* Rapid Prototyping\n* All front-end tech: HTML, CSS, Javascript, JSON\n* Convention over configuration\n* Create and edit directly in the running product\n\n* Introduces a new kind of developer to atlassian plugins\n\n\n\n
* Makes existing things easier\n\n* Rapid Prototyping\n* All front-end tech: HTML, CSS, Javascript, JSON\n* Convention over configuration\n* Create and edit directly in the running product\n\n* Introduces a new kind of developer to atlassian plugins\n\n\n\n
* Makes existing things easier\n\n* Rapid Prototyping\n* All front-end tech: HTML, CSS, Javascript, JSON\n* Convention over configuration\n* Create and edit directly in the running product\n\n* Introduces a new kind of developer to atlassian plugins\n\n\n\n
\n
* brings new developers into the ecosystem\n\n\n* Create and edit directly in the running product\n
\n
Makes new things possible\n\n\n
Makes new things possible\n\n\n
Speakeasy Extensions are social\n\nShare between people, share between instances\n
Hackable\n
\n
\n
\n
Speakeasy: \n* powerful new technology\n* front-end technologies\n* opens plugins to a new kind of developer\n* social plugins, easy to share, easy to improve.\n\nRoadmap\n
Very early in the process.\n\nSuccessful in Codegeist. \n\nIn developer preview now, because we want your feedback.\n\nPlease give it a try!\n
\n
* Storing data has been a big problem for plugins for ages. \n\n* XML-backed. No data relationships. No speed. No scale. \n\n* How people have ever tried using Bandana or PluginSettings to store data?\n\n* But hey -- letting plugin authors screw around in the instance database is scary too. a plugin could really mess things up, in unrecoverable ways.\n\n* And what about backing up that data? If the instance doesn't know about it, then we can't back it up.\n\n* So for a few years, we were at an impasse. \n
Introducing Atlassian Active Objects\n
* Storing data has been a big problem for plugins for ages. XML-backed. No data relationships. No speed. No scale. Anyone remember the Confluence Usage Plugin?\n * But hey -- letting plugin authors screw around in the instance database is scary too. a plugin could really mess things up, in unrecoverable ways.\n * And what about backing up that data? If the instance doesn't know about it, then we can't back it up.\n * So for a few years, we were at an impasse. But on this stage last year, we said we were going to tackle this problem, and tackle it we did.\n\n
\n
\n
Great Codegeist entries -- these are my favourites\n\nJIRA HERO -- associating activity points and badges with users.\nWithout AO it would have been very difficult to do in an instance with lots of users\n
\n
Solves the problem of large-scale, performant storage of data for your plugin\n\nIt’s going to open up a whole new class of applications on the atlassian platform.\n\nSo what’s the roadmap?\n
3 months of serious testing in JIRA 4.4, please give feedback\n\nPlan for a official stable release in JIRA 5.\n
\n
Question: how many of you have ever written code to connect an Atlassian App to some other app?\n\nWe know that lots of plugins are written to do just that.\n\nSometimes it’s another atlassian app, like JIRA talking to Bamboo.\n\nBut sometimes it’s an service, like ZenDesk. Or a legacy app you might be running in your organization\n\nThis problem comes up a lot, and so we decided to solve it once, in a way that could be used by us and by you.\n\n
Introducing AppLinks.\n\nThe best way to hook up an atlassian app to ANY OTHER APP\n\n
Handles identification, authentication and unified configuration for external apps, Atlassian or otherwise.\n
Handles identification, authentication and unified configuration for external apps, Atlassian or otherwise.\n
\n
UPM -- Unifieid plugin management, 1-click install of plugins, easy upgrades\nAO -- large scale data storage for plugins\nSpeakeasy -- social extensions for easy front-end experimentation\nAppLinks -- Easiest way to hook up to any other app\n
UPM -- Unifieid plugin management, 1-click install of plugins, easy upgrades\nAO -- large scale data storage for plugins\nSpeakeasy -- social extensions for easy front-end experimentation\nAppLinks -- Easiest way to hook up to any other app\n
UPM -- Unifieid plugin management, 1-click install of plugins, easy upgrades\nAO -- large scale data storage for plugins\nSpeakeasy -- social extensions for easy front-end experimentation\nAppLinks -- Easiest way to hook up to any other app\n
UPM -- Unifieid plugin management, 1-click install of plugins, easy upgrades\nAO -- large scale data storage for plugins\nSpeakeasy -- social extensions for easy front-end experimentation\nAppLinks -- Easiest way to hook up to any other app\n
Plugin Schema\nAtlas-run-standalone\n
Easiest way to start up any Atlassian product\n
Easy set up for testing\n
\n
\n
\n
\n
\n
What do we say here?\n\nListening to your feedback -- a more searchable, more useful, more community-driven place to get Answers.\n\nYou’ll hear more about this tomorrow.\n
Thanks for taking the developer survey this year\nWe hear you!\nWe’re prioritizing our work next year to respond to your feedback\n
1-click installs in all products\n\nget your code live on production faster -- no maintenance windows\n\nGreenhopper, our most complicated plugin, is now 1-click installable and fully reloadable.\n
20% pays off again\nJames Roper Built a plugin API analyzer shows us exactly what methods every plugin in PAC depends on. \n\nWe use to check compatibility before we release, instead waiting for you to test after we release.\n\nFor example, as of a a few weeks ago, we know that out of ~200 JIRA plugins that we got from PAC, only 14 depend on a method that has changed. And we can take action to fix those 14.\n\nMore time on features, less time chasing API changes\n
We heard your feedback loud and clear, number one request from you guys\n\nSo we’re going to centralize and expand our docs\n\none place to search, more examples & more tutorials\n