EnablePluginAutoUpdate

From Protege Wiki
Revision as of 05:20, November 7, 2008 by Nickdrummond (talk | contribs) (Create an updates file)

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.

This feature will be available from build 104 onwards.



auto-update on startup



What is auto-update?

Protege 4 can check the current versions of your installed plugins against a remote registry to determine if a more up-to-date version of the plugin is available.

If currently activated, this check will happen whenever you start P4 and you will be presented with a dialog (see right) that allows you to download the most recent versions. Updates will take effect the next time you start P4.

As the check requires an internet connection it may take several seconds for the dialog to appear.

You can deactivate the check or reactivate it in the P4 preferences.


Plugin preferences

plugin preferences

If you want to manually check for updates or for new plugin downloads, you can do this in the plugin preferences.

You can turn auto-update on and off.

You can also change the location of the plugin registry here.


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:

id=org.coode.annotate
version=1.0.4
download=http://co-ode-owl-plugins.googlecode.com/files/org.coode.annotate_1_0_4.zip
name=Annotation Template View
readme=http://co-ode-owl-plugins.googlecode.com/svn/trunk/org.coode.annotate/version-info.txt
license=http://www.gnu.org/licenses/lgpl.html
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 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 properties file (which you can update whenever you create a new version).


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 some users just don't read the documentation.

The updates dialog has another tab that allows the user to find all plugins in the registry.

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

Just email us at p4-feedback with the location of your properties 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.

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 property files.

In addition, P4 allows you to specify the registry that it uses to find downloads. You can change this in the Plugins preferences.