Confluence Repository Client

Name Atlassian Plugin Repository
Vendor Adaptavist.com Ltd (Website)
Authors Dan Hardiker
Homepage http://confluence.atlassian.com/display/CONFEXT/Confluence+Repository+Client
Issue Management http://developer.atlassian.com/jira/browse/APR
Categories Administration
Version 2.0.15
Availability Confluence v2.9-m5 to v2.9-m5
State Stable
Support Atlassian Supported Plugins
License Freeware / Open Source (3-Clause BSD)
Price Free
Release Docs http://confluence.atlassian.com/display/CONFEXT/Confluence+Repository+Client
Java API Docs n/a
Download Source http://svn.atlassian.com/svn/public/contrib/repository/atlassian-plugin-repository/tags/atlassian-plugin-repository-2.0.15
Download JAR atlassian-plugin-repository-confluence-plugin-2.0.15.jar

Compatibility With Confluence

Plugin Version 2.4.5 2.5.8 2.6.2 2.7.3 2.8.0 Tested
2.0.8   David Chui (Oct/19/2007)
2.0.12   Jonathan Nolen (Dec/4/2007)
2.0.13     David Chui (Apr/15/2008)
2.0.14 1     David Chui (Jul/10/2008)

1 – Will only be compatible with Confluence 2.9 onwards.

Description

Display all available plugins from the Atlassian Plugin Repository in Confluence and install, upgrade or delete them with one click. The Confluence Repository Client is pre-installed on Confluence 2.3 and newer, and a recommended install for older Confluence versions. The confluence repository client provides an intuitive interface for plugin browsing, installation, upgrading and uninstallation within the Administration Console.
Plugins in the repository are easier to audit because you can get answers to the common questions through a single interface:

  • Where did it come from?
  • Who made it?
  • What license is it under?
  • What version am I using?

The Plugin Repository contains detailed information about each plugin, allowing the repository client interface to clearly indicate which versions of which plugins are compatible with the specific version of Confluence you have installed.

Install Instructions

If you're using Confluence 2.3 or later, the Plugin Repository Client is already installed. If you choose to reinstall it, reinstall it through the upload on the plugin manager. If you're using Confluence 2.2, you can install a previous version of the Plugin Repository Client using the Confluence's default plugin manager.

To access the Repository Client prior to Confluence 2.2 go to the plugin manager and then manually alter the URL in your web browser from: http://www.example.com/admin/plugins.action to http://www.mysite.com/admin/repository/plugins.action.

If your server uses a proxy to access the internet then you must configure web proxy support if you have not done so already.

Features

The repository client contains four tabs:

  • Available Plugins - this lists all available plugins and allows you to get additional information about each one, install, upgrade and uninstall, etc.
  • Upload - this allows you to upload a plugin either using HTTP Upload (like the Plugin Manager) or by providing a URL to fetch.
  • Preferences - This tab allows users to set view preferences.
  • Admin - this tab allows admins to set the URL to the plugin repository and set some default filters (for example, only show stable plugins)

Available Plugins

The plugins list is the main interface for locating, installing and upgrading plugins:


Along the top of the page, you'll see three items (from left to right):

  • Status filter (defaults to "All Plugins"):
    • Set to "Installed Plugins" to list plugins which have been installed
    • Set to "Outdated Plugins" to list installed plugins for which updates are available
    • Set to "Available Plugins" to list plugins which are available, but have not yet been installed
  • Search - quickly find what you're looking for:
    • Quickly locate plugins by searching on their title, description, vendor and other details. Just type what you are looking for and let Confluence do the rest
    • The search results are filtered by the status filter (as discussed above), so if you want to see all installed plugins from Adaptavist.com, for example, set the filter to "Installed Plugins", enter "Adaptavist.com" in to the search box and click the search button.
  • Categories list - filter by category:
    • Simply choose the desired category from the list and only plugins relating to that category will be displayed.
    • Note that plugins can exist in more than one category to make them easier to find

Under the filter options, the list of plugins matching the current filter settings is shown in a table:

  • Plugin Name
    • Displays the name of the plugin (linked to the detailed information page), the plugin vendor (linked to their website if applicable)
    • Click the icon to expand the information display showing plugin description, click the icon to hide it again.
  • Payment - can be one of the following:
    • Free (self explanitory)
    • Donate (it's free, but you should consider donating to keep it that way)
    • Buy (it's commercial - click the link to show a price list and purchase online)
  • Status - shows the current status of this plugin in respect to your Confluence installation:
    • Installed - installed and up-to-date
    • Outdated - installed, but there are new versions available
    • Available - not installed yet
    • Non Repository - a version is installed which is not in the repository
  • Install - Install, upgrade or unistall a plugin
    • Install, upgrade, uninstall
    • When installing or upgrading, everything is automatic (ie. it downloads and installs for you, etc). Although the client (since 1.0.2) warns you of dependancies and (since 1.0.3) will do its best to check what has been downloaded is what you asked for - Confluence may break as if you had uploaded the plugins to the Plugin Manger yourself. Where it can, the client will error constructively allowing you to choose the best course of action for yourself. In general, things usually work - and if they don't its a bug with the client or the metadata.
    • If the Confluence Repository Clientencounters a password request when downloading the plugin (usually case with Commercial plugins), you will be prompted for a username and password.
    • If the plugin is installed into WEB-INF (or otherwise uninstallable) it will display "Manually Installed" where the actions would be.
  • Enabled - if the box is ticked, the plugin is enabled, otherwise it's either disabled or partially disabled. You can enable or disable individual modules within the plugin from the plugin details screen (see later)

NB: You can click the table headings to sort the table. Click a second time to reverse the sort - those familiar with JIRA will know the drill.

Upload

There are several plugins that are not currently listed by the plugin repository which need to be manually uploaded either as a file or from a remote server URL:

Preferences

Admin

There are various settings on the "Configure" tab as shown below:


The most important of these is the "Repository Path URL" setting - without this, you'll see no plugins in the list and will get a fair amount of errors.
The *"Earliest Development State"*allows you to filter the plugin list to versions at or above a specific state: Alpha, Beta, Prerelease, Stable. By default "Prerelease" versions are shown. If you are running in a production environment, you will usually want to set this setting to "Prerelease" or "Stable".
The "Only Show Plugins Confimed as Working" setting allows you to restrict the list to only show plugin versions that are specifically known to work with your version of Confluence. It's important to note that in many cases, plugins will work with your version of Confluence but they might be marked as "unknown" compatibility if the plugin author hasn't been able to test with that specific Confluence version. As such, it's extremely useful if you find an "unknown" version of a plugin to work (or not work) with your Confluence that you let us know (by any means possible) so that we can update the repository to reflect this.
The "Hide Empty Categories" setting allows you to trim down the categories list by hiding categories that don't contain a plugin yet.

The "Automatically Refresh Cached Data" setting allows you select the interval at which the cached repository data will be looked up again. This defaults to 1 hour but is selectable from 5 minutes to Never (the latter which is what versions prior to 1.1 will be fixed to).

Plugin Details

When you click the name of a plugin on the plugin list, you'll be taken to the detailed view for that plugin:


General information and plugin module details are shown at the top of the display and from here you can disable or enable individual modules.

Near the bottom of the display a table clearly outlines all versions and shows which you have installed. Just like the plugins list, you can click the to expand the details shown for a specific version. This screen also allows you to quickly install, upgrade, downgrade and uninstall any version of the plugin.

Macros

These macros are available to Confluence instances ("clients") that have the Confluence Atlassian Plugin Repository v.2.0.13+ installed and configured to talk to a server that provides data about plugins.

{repository-plugin}

Displays rendered information from the metadata in the repository.

Parameter Required Values Default Notes
key yes plugin key, such as com.atlassian.confluence.extra.rsvp (none) The plugin to display data about.
profile no the key of one of the profiles configured locally default This profile will be used to get plugin data.
outputType no overview-table, version-grid, description overview-table Format of the macro output.
suppressHeader no true, false false Whether or not to include a header with the output. Only applies when outputType is version-grid or description.

{recentlyupdated-plugins}

Displays an ordered list of the plugins with the most recently released versions, according to the plugin metadata.

Parameter Required Values Default Notes
product no a name of a product that plugins can be written for and stored in the repository (in our case confluence or jira) (all products) Allows restricting results to those plugins for a particular product.
count no integer 10 Number of result plugins to return.
mode no table, list table Indicates the form in which to display the results

{popular-plugins}

Displays an ordered list of the most popular plugins. The popularity of a plugin is based on number of downloads of the plugin jar that have been recorded on the server.

Parameter Required Values Default Notes
product no a name of a product that plugins can be written for and stored in the repository (in our case confluence or jira) (all products) Allows restricting results to those plugins for a particular product.
count no integer 10 Number of result plugins to return.
range no one of two formats:
  1. year, month, week, or day
  2. an integer followed by y, m, w, or d (e.g. 6w)
month The length of time from which to consider plugin downloads:
  1. one of the unit given, e.g. one month from the start or end date given
  2. integer number of units given (always goes back in time from today), e.g. 6w or -6w means the past six weeks
rangeStart no date in the form yyyy-MM-dd depends on range and rangeEnd Cannot be used with the second form of the range parameter.
rangeEnd no date in the form yyyy-MM-dd today's date (if rangeStart is not given) Cannot be used with the second form of the range parameter.
mode no table, list table Indicates the form in which to display the results

{download-stat}

Provides statistics about the number of downloads for each plugin.

Parameter Required Values Default Notes
product no a name of a product that plugins can be written for and stored in the repository (in our case confluence or jira) (all plugins) Allows restricting results to those plugins for a particular product. If both product and key are specified, then key will be ignored.
key no plugin key, such as com.atlassian.confluence.extra.rsvp (all plugins) Allows restricting results to those for a particular plugin. If both product and key are specified, then key will be ignored.
version no build number of the plugin specified by key (all versions) Allows restricting results to those for a particular version of a plugin. Can only be used if a plugin key (and not a product name) is provided.
range no one of two formats:
  1. year, month, week, or day
  2. an integer followed by y, m, w, or d (e.g. 6w)
month The length of time from which to consider plugin downloads:
  1. one of the unit given, e.g. one month from the start or end date given
  2. integer number of units given (always goes back in time from today), e.g. 6w or -6w means the past six weeks
rangeStart no date in the form yyyy-MM-dd depends on range and rangeEnd Cannot be used with the second form of the range parameter.
rangeEnd no date in the form yyyy-MM-dd today's date (if rangeStart is not given) Cannot be used with the second form of the range parameter.
increment no monthly, daily, yearly, weekly, total daily Size of the chunks of hits to return.
format no compact, full full Will be ignored unless increment equals total. In the compact mode, only the number of hits will be displayed. In the full mode, the number of hits are displayed in a table with the date range; the table is similar to other result tables displayed by the download-stat macro.

{confluence-status}

Displays the update status of Confluence.

Parameter Required Values Default Notes
update-only no true, false false If true, a result will only be shown if updates are required.
profile no the key of one of the profiles configured locally default  

{plugin-status}

Displays a list of plugins that need to be updated. Currently, this macro has a bug where it will cause a Confluence system error if someone who is not logged in tries to view it.

Parameter Required Values Default Notes
update-only no true, false false If true, a result will only be shown if updates are required.
profile no the key of one of the profiles configured locally default This profile will be used to get plugin data.

{plugin-repository}

Displays the table of plugin information that by default only appears in the admin section. Info that non-admins should not see is hidden from them.

Parameter Required Values Default Notes
profileKey no the key of one of the profiles configured locally default This profile will be used to get plugin data.

Release History

Version Date Author Notes
1.0 11-Mar-2006 Adaptavist.com Ltd
  • Initial Version
1.0.1 12-Mar-2006 Adaptavist.com Ltd
  • CRC-1 Increased pre-Java5 compatabillity
1.0.2 12-Mar-2006 Adaptavist.com Ltd
  • CRC-2 Removed Uninstall link from Plugin Details page on Older/Newer versions as it was misleading
  • Fixed some further pre-Java5 issues which affected Velocity templates which failed silently causing misrendering of License and Payment information.
  • Added better handling of plugins installed manually into WEB-INF (actions are removed)
1.0.3 16-Mar-2006 Adaptavist.com Ltd
  • Better error handling
  • Self-updating
  • Wiki-markup in fields
1.1 18-Mar-2006 Adaptavist.com Ltd
  • Proxy support
  • Auto-refreshing
  • Unknown Confluence version handling
1.2 26-May-2006 Adaptavist.com Ltd
  • You can now Enable / Disable / Configure supported plugins and their modules.
  • Much better error handling.
  • File Upload and Manual URL Installation (see the new Upload tab)
  • Added a new Debug tab so that you can test your proxy settings.
  • Security & other bug fixes.
1.3.1 01-Feb-2007 Christopher Owen
2.0 13-Feb-2007 Adaptavist.com Ltd  

Troubleshooting the Confluence Plugin Repository

Labels

adaptavist adaptavist Delete
confluence confluence Delete
plugin plugin Delete
client client Delete
confluence21 confluence21 Delete
atlassian-supported atlassian-supported Delete
codegeist codegeist Delete
confluence22 confluence22 Delete
extension extension Delete
crc crc Delete
repository repository Delete
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.
  1. Mar 12, 2006

    Brendan Patterson says:

    AWESOME
    A-W-E-S-O-M-E
  2. Mar 14, 2006

    Peter Pugliese says:

    Am I missing something on the install process? The download isn't a jar fil...

    Am I missing something on the install process? The download isn't a jar file, it's a zip. How to I install this type of plug-in?

    1. Mar 14, 2006

      Guy Fraser says:

      I'm guessing you're using Internet Exploder on MS Windows ;) It silently renames...

      I'm guessing you're using Internet Exploder on MS Windows It silently renames .jar files to .zip files (thanks Microsoft!) - just rename the .zip to a .jar then upload via the plugin manager.

      1. Mar 14, 2006

        Peter Pugliese says:

        Oh great, that worked. Thanks\! Unfortunately, I'm getting an error though when ...

        Oh great, that worked. Thanks!

        Unfortunately, I'm getting an error though when I try and run it. But I'm one step closer!

        • Repository Exception: Unable to find the product information in the repository build xml file.
        1. Mar 15, 2006

          Dan Hardiker says:

          Which version of Confluence are you using?

          Which version of Confluence are you using?

          1. Mar 15, 2006

            Peter Pugliese says:

            Version: 1.4.4 Build:#221 Sep 23, 2005

            Version: 1.4.4 Build:#221 Sep 23, 2005

            1. Mar 15, 2006

              Guy Fraser says:

              Ah, I don't think it's been tested on that version yet we've recently set up a t...

              Ah, I don't think it's been tested on that version yet - we've recently set up a test platform running Confluence 2.14, 2.13, 2.12, 2.11, 2.1, 2.03, 2.02, 2.01 and 2.0. Looks like we need to install just a few more versions

            2. Mar 16, 2006

              Dan Hardiker says:

              I'm afraid, as stated as Product Versions in the table at the top of this page, ...

              I'm afraid, as stated as Product Versions in the table at the top of this page, the repository client is only capable of running on Confluence 2.0 or above. It is simply not possible to run on earlier versions as the Plugin Manager API is not complete enough to support a repository client.

              The only suggestion I have is to upgrade to 2.0 or newer. If you have specific reasons holding you back, you could always ask confluence-user@lists.atlassian.com for help with upgrading - file a support issue with http://support.atlassian.com/.

  3. Mar 17, 2006

    Peter Pugliese says:

    Ok, We've upgraded to the most recent build (2.1.5a Build:#411 ) but I'm still r...

    Ok, We've upgraded to the most recent build (2.1.5a Build:#411 ) but I'm still receiving this error (it appears twice, under both headings).  I've un-installed and reinstalled the plug-in and it still won't work.  Any other ideas? 

    1. Mar 17, 2006

      Peter Pugliese says:

      This is the error: The following error(s) occurred: Repository Exception: Unab...

      This is the error:

      The following error(s) occurred:
      Repository Exception: Unable to find the product information in the repository build xml file.

      1. Mar 17, 2006

        Dan Hardiker says:

        You should have an exception in your logs (if there is alot of information, look...

        You should have an exception in your logs (if there is alot of information, look for "confluence.repository.client"). That will help me determine the reason that the client cannot get to the repository.

        Can you also check that the {jiraissues} and {rss} macros work?

        1. Mar 20, 2006

          Peter Pugliese says:

          I do not see anything that mentions "confluence.repository.client" in the l...

          I do not see anything that mentions "confluence.repository.client" in the log files.

          We are currently using the jiraissues and rss macros and they both work (both before and after the upgrade).

          Thanks so much for your help

          1. Mar 20, 2006

            Dan Hardiker says:

            I've found the problem both Confluence 2.1.5 and Confluence 2.1.5a share the sam...

            I've found the problem - both Confluence 2.1.5 and Confluence 2.1.5a share the same build number (#411) and as the repository retrieves information based on the the build number it is getting rather muddled.

            I will discuss it with Atlassian and see what I can come up with.

            1. Mar 20, 2006

              Dan Hardiker says:

              OK Ive just downloaded Confluence 2.1.5a and set it up as a fresh installation. ...

              OK - Ive just downloaded Confluence 2.1.5a and set it up as a fresh installation. I installed the Confluence Repository Client 1.1 ... and it all worked fine.

              • Can you please check you can download the file: http://files.adaptavist.com/repository/repository-b411.xml
              • Can you also check that you can point the RSS macro at the same file (although you will get errors as its not an RSS feed - those errors should be about parsing the file, not about being unable to read it).

              If your problems persist, please email support@adaptavist.com where I'll send you a debugging version you can install which should narrow down the problem.

  4. Mar 20, 2006

    Andrew Miller says:

    Is it possible to find out what sites/url's the Repository client uses on the in...

    Is it possible to find out what sites/url's the Repository client uses on the internet? I can't open the box running Confluence for wide-open internet access through our proxy but am able to open up something like *.atlassian.com or a list of specific domains.

    Thanks.

    1. Mar 21, 2007

      Dan Hardiker says:

      Here are the areas where the repository client accesses the internet: # To coll...

      Here are the areas where the repository client accesses the internet:

      1. To collect the plugin data - using the URL specified in the Configure tab. This defaults to http://files.adaptavist.com/repository/. The file downloaded from this location is repository-b###.xml where ### is the confluence build number (e.g. 411 for v2.1.5) - there is also a repository-all.xml file which contains all the plugins available to any of the confluence versions.
      2. To download the plugin JAR files themselves during installation. This is specified in the <binary/> elements in the downloaded xml file from the repository.

      The following are known locations which store plugins:

      • svn.atlassian.com - stored in subversion (developer svn repo)
      • confluence.atlassian.com - attached to pages (confext / codegeist)
      • www.randombits.org - attached to pages (david's plugins)
      • files.adaptavist.com - Adaptavist's distributions (builder plugin)

      As the <binary/> element could point anywhere - it would be hard to firewall as it currently stands. I think you have 3 options:

      1. Open up your firewall so anywhere can be accessed (already ruled out).
      2. Programmatically parse the repository-full.xml file for the <binary/> elements and opening up the firewall automaticallly.
      3. Use the repository-generator to create your own vetted repository - this would require some extension, but I'd be happy to discuss what would be needed to be done so that this would be possible. Essentially you would want to extend the repository-generator so that it filters out plugins which aren't from locations you have approved.

      What do you think? Other people's opinions are welcome!

  5. Apr 18, 2006

    Ian Oberholser says:

    Iam getting a similar issue as one stated above where I installed the latest ver...

    Iam getting a similar issue as one stated above where I installed the latest version of the plugin and I cannot access the URL.  I have setup the proxy and I can get to the XML file by browsing.  Tried removing and re-installing the plugin and its not working.  Any ideas?

    1. Apr 19, 2006

      Dan Hardiker says:

      The server is unable to download the XML file for some reason. The next version ...

      The server is unable to download the XML file for some reason. The next version of the repository client will contain enhancements which help with debugging.

      Try using the RSS macro to download the XML file (the one you can access while browsing) to see if that macro can access it.

  6. May 05, 2006

    Chris W says:

    FWIW I let the plugin repository client install the latest 1.4.4 version of the ...

    FWIW I let the plugin repository client install the latest 1.4.4 version of the Content Formatting Macros today, which worked fine and almost instantly, but for some reason the newly installed plugin was left disabled, resulting in all sorts of nice Unknown macro: red <div>s. All it took was manually re-enabling the plugin, but this shouldn't have been necessary.

    1. May 05, 2006

      Dan Hardiker says:

      I would hazard a guess that you are using Confluence v2.2 which has a bug/featur...

      I would hazard a guess that you are using Confluence v2.2 which has a bug/feature which disables plugins once they are uninstalled - so when they are reinstalled they are still disabled. Annoying - but the next version of the repo should be able to counteract that effect.

      If you want to see the effect for yourself, try uninstalling and reinstalling a plugin using the inbuilt plugin manager. Hopefully Atlassian will view this as a regression/bug and fix it in the next release - feel free to weigh in behind it too.

      1. May 05, 2006

        Chris W says:

        Thanks for the quick reply Dan, Don't know either if this is expected behavior ...

        Thanks for the quick reply Dan,

        Don't know either if this is expected behavior or not, but I did raise an issue.

        Any idea when an updated repo client plugin will be available? There was also a very minor buglet which I reported above and is due in the next version as well.

        Cheers for the help & great work!
        Chris

        1. May 05, 2006

          Dan Hardiker says:

          Work & life are currently getting in the way, but I hope to get some time in the...

          Work & life are currently getting in the way, but I hope to get some time in the not too distant future to push through a release.

  7. Jun 05, 2006

    Kevin James says:

    Using Confluence 2.2.1a, it seems I can only Install plugins from RandomBits via...

    Using Confluence 2.2.1a, it seems I can only Install plugins from RandomBits via this Repository pluging.  Trying to install from any other vendor fails with messages such as:

    Error downloading plugin [confluence.extra.calendar] - consult your logs.

    or

    Error downloading plugin [com.atlassian.confluence.ext.plugininfo] - consult your logs.

    I checked all the log files I could find and see no mention of anything plugin related. Which logs would this be referring too? I'm currently using v1.2 of Confluence Repository Client plugin. The plugin's homepage used to show Confluence Compatibility with Confluence 2.2.1a, but now it shows 2.2.2 and 2.2-rc1. So is v1.2 of this plugin compatible with 2.2.1a or do I have to update to 2.2.2?

    1. Jun 06, 2006

      Dan Hardiker says:

      I have just tried it on my 2.2.1a installation, and installing those two plugins...

      I have just tried it on my 2.2.1a installation, and installing those two plugins using the Confluence Repository Client v1.2. worked fine. The log files I am talking about depend on which application server you use, commonly catalina.out (Tomcat), or stdout.log (Resin) - or other files in that area .

      The following JARs can be located by going to the Debug tab in the repository client and getting the repository-full.xml file. At the time of writing, the following are the latest binaries from each of those plugin keys (search using your browser):

      confluence.extra.calendar http://svn.atlassian.com/svn/public/contrib/confluence/calendar-plugin/jars/calendar-plugin-2.1.7.jar
      com.atlassian.confluence.ext.plugininfo http://svn.atlassian.com/svn/public/contrib/confluence/plugininfo-plugin/jars/plugininfo-confluence-plugin-0.2.jar

      Now place one of those URLs into the URL box for testing, and click Fetch. It should give you some garbage in the output (a raw representation of the jar file). If that all works, then try placing the URL into the new Upload tab.

      Please let me know how you get on.

      BTW - As for the compatability chart, it shows the compatability status with the latest patch version in each minor version - which was 2.2.1a in the 2.2 minor version, but is now 2.2.2. At some point in the not to distant future I hope to rework that list so that it is more intuative and informative.

      To answer your question - each version of the repository client is made to be compatable with the past two minor versions. For v1.2 of the client, that makes it compatable with Confluence v2.1 and v2.2 - it may well be compatable with older versions.

      1. Jun 06, 2006

        Kevin James says:

        I'm using the Tomcat 5 included with JIRA.&nbsp; So do all of these reside on ea...

        I'm using the Tomcat 5 included with JIRA. 

        So do all of these reside on each of the servers listed in an earlier comment?

        • svn.atlassian.com - stored in subversion (developer svn repo)
        • confluence.atlassian.com - attached to pages (confext / codegeist)
        • www.randombits.org - attached to pages (david's plugins)
        • files.adaptavist.com - Adaptavist's distributions (builder plugin)

        Or does my server need access to each of these URLs.  Currently, I have access to files.adaptavist.com from our server. I'm thinking I either need to setup the web proxy or open up access to these other URLs from our server.  Would this be correct?

        1. Jun 06, 2006