From Protege Wiki
Revision as of 13:20, March 6, 2015 by TaniaTudorache (talk | contribs)

Jump to: navigation, search

Protege 4 Auto Update

Help people find your plugin and keep up-to-date with its most recent versions with auto-update.

auto-update on startup

What is auto-update?

Protege 4 can check for:

  • Updates to see if new versions of your installed plugins are available
  • Downloads to see what other plugins are available for P4

When requested you will be presented with a dialog (see right) that allows you to download the plugins.
As the check requires an internet connection it may take several seconds for the dialog to appear.

  • Just select which plugins you would like to update or download
  • Updates will take effect the next time you start P4.

By default, this check will happen whenever you start P4 (you can turn this off - see below).

Plugin preferences

plugin preferences

You can turn auto-update on and off.

If you want to manually check for updates or for new plugin downloads, just click on the appropriate button:

  • Check for updates to see if new versions of your installed plugins are available
  • Check for downloads to see if new plugins you've not yet installed are available

You can also select an alternative registry to use to find new plugins.

Plugin registry

The updates dialog has another tab that allows the user to find all available plugins by way of a registry.

The registry is a simple list of URLs that point to all the available plugin updates files. Actually, it can also point to other registries.

P4 allows you to specify the registry that it uses to find downloads (see below).

Custom registries

If you are developing a lot of your own plugins, or you are on a project where you want people to have access to plugins on your intranet, you can create your own registry. This is simply a flat file with a list of URLs on subsequent lines.

You can point your registry to any other registry (including the central one if you want) or any number of plugin updates files.

Then just instruct everyone to point at your registry instead of the default one in the Plugin preferences.

Enabling auto-update for a plugin

Plugin developers can take advantage of this feature with just a few simple steps.

Create an updates file

You should make this file available on the web, somewhere that will not change frequently.

This is in the form of a java properties file:

name=Annotation Template View
author=CO-ODE, The University of Manchester

The id must match the id part of the Bundle-SymbolicName in your manifest file

The version should be of the form used in the manifest file MAJOR.MINOR.MICRO[.qualifier]

The download location can point to a jar or a zip file directly containing the plugin jar

Other properties are optional.

If you choose to supply a readme keep the text short so that it will fit the dialog. You can use either plain text or very simple html (recommended as this allow you to have links).

Edit the manifest file for your plugin

You now need to point to this file from your manifest.

Add the following to the manifest file in your plugin (obviously with the location of your updates file):

Update-Url: http://co-ode-owl-plugins.googlecode.com/svn/trunk/org.coode.annotate/update.properties

Now, when your plugin is distributed, its current version is checked against this file (which you can update whenever you create a new version).

Getting on the plugin registry

Auto update is good for telling people when a new version of your plugin is out, but how do you get them to download it in the first place?

Well, you've already added wiki entries for the plugin, but its a nightmare to remember to update and some users just don't read the documentation.

Just email us at protege-dev with the location of your updates file and we'll add it to the central registry. You can browse the central registry here.

If you are intent on developing several plugins (good on you) and you don't want to have to request each be added separately, you can create your own registry and we can point to that.