I’m proud to announce the availability of Atlassian’s Universal Plugin Manager. The UPM allows you to see and manage the plugins that you have installed in your application, and it allows you to discover, download and install new plugins from the Atlassian Plugin Exchange. That may sound simple, but I’m incredibly excited about the possibilities.
As you may know, all of Atlassian’s products have a powerful plugin system that allows you to add to or extend the application’s standard functionality. There are different extension points in each application, but the underlying framework is the same.
However, despite using a single framework, when it came to discovering, installing and managing plugins, each application implemented it’s own interface to do this. In a blinding flash of obviousness, we decided that was silly. We needed one way to manage plugins, and it needed to be the same in every application. The UPM solves that problem, and then some!
A year ago at the first Atlassian Summit, we launched the Plugin Exchange. In the year since, it’s become a thriving bazaar of plugin developers and plugin users. We’ve doubled the number of plugins available in the Exchange, and we’ve more than doubled the number of plugins downloaded from the exchange. And the UPM builds on that success to offer amazing possibilities for Atlassian plugins.
There are five major features of the UPM, each of which addresses a major area of pain for admins.
Each time you load the UPM, it checks with the Plugin Exchange to see if any upgrades are available for the plugins you already have installed. If there are, it presents a list of the available upgrades, and each can be upgraded with a click.
You can also search the Plugin Exchange right from inside the UPM. You can browse featured and popular plugins from the Plugin Exchange, or look through the whole list of hundreds of plugins. The UPM will only show you plugins that are compatible with the application you are running, and that you haven’t already installed.
Of course you can also upload your own custom plugins, or ones you’ve downloaded directly.
The Manage interace allows you to view all the plugins that are installed in your application. It separates them out into User-installed and System plugins. You can enable or disable all of the plugins, as well as individual plugin modules. You can also remove User-installed plugins, though you cannot uninstall System plugins, as doing so could really damage your application.
There are a surprising amount of smarts packed into the UPM Compatibility Check Tab, thanks to the data we have in the Plugin Exchange. If you’re contemplating an upgrade, you can select any newer version of your product from the UPM and see which of your plugins will be compatible and which won’t. It takes a lot of the uncertainly out of the upgrade process, and lets you plan for plugin incompatibilities much more effectively.
Lastly, what’s bound to be an admins’ favourite feature. The UPM logs all actions performed, so you can see exactly who installed or uninstalled a plugin and when they did so. Just think of it as your own personal plugin cop.
Good for Plugin Developers
I just told you about the features that make the UPM awesome for users, but I also want to take a minute to explain just how good this is for plugin developers.
First of all, let me tell the tale of two graphs.
This graph shows the number of plugins downloaded for each of our products. You’ll note that Confluence users have downloaded about twice as many plugins as JIRA users have, even though there are almost two times as many JIRA installations out in the field. One reason this is the case is that Confluence has had the “Plugin Repository”, which allowed admins to discover and install new plugins right from the application’s UI with just one click. The UPM brings adds functionality to JIRA and the other applications, and we expect to see quite a bump in plugin installations once it’s become standard.
Second, the UPM will go a long way to making sure your users are staying up to date with your development. Any time you release a new plugin to the Plugin Exchange, anyone with that plugin installed will get notified that there is a compatible upgrade. Likewise, when one of your users gets ready for an upgrade, the Compatiblity Check can tell them exactly what to expect – hopefully cutting down on the number of panicked support issues created when an upgrade doesn’t quite go as planned.
As the UPM is adopted by more and more users, the success of your plugin is going to become tightly bound to its information in the Plugin Exchange. The ability to install directly will be crucial, as will be up to date releases for each new version of the host application, and accurate compatibility info.
Call to action!
Marketing 101 says that every blogpost should have a Call to Action™! So here are yours:
If you are a plugin developer, download the UPM and ensure that your plugins show up and can be installed into the application with one click. This may take some tweaks to your plugin; make sure that your plugins are using Version 2 of the Atlassian Plugin Framework. Make sure that your plugin is a single, installable jar (not a zip distribution, or a collection of jar) And lastly, make sure that the compatibility information you list for your plugin is correct. This may require some manual testing in different versions of our applications, but it will ensure your users have a good experience.
if you are a Bamboo, Fisheye or Crucible user. stay tuned. This version of the UPM won’t work for you yet, but we hope to release a version that will soon.