Update Fiji

QR for this page

From Fiji

(Redirected from Fiji Updater)
Jump to: navigation, search
Update Fiji (Fiji)
Author Johannes Schindelin, Yap Chin Kiet (Google Summer of Code 2009)
Maintainer Johannes Schindelin
Source in gitweb
Initial release 10 Oct 2008
Latest version 14 Jun 2010
Development status beta


The purpose of Fiji's Updater is to keep you up-to-date with all components of Fiji, i.e. ImageJ, the plugins and the core components (libraries) needed by the plugins.

As of Fiji Madison, the Fiji Updater can handle 3rd-party update sites, i.e. anybody with write access to a web server can set up their own update site which users can decide to follow.

Automatic Update

The Fiji Updater is a mechanism to update individual packages in Fiji. It is automatically run when all the following conditions are met:

  • Fiji was just started
  • Fiji was started without parameters (i.e. no Drag 'n Drop onto the Fiji icon)
  • Fiji's files can be updated by the current user
  • There is a network connection

If there were updates since the Updater was run the last time, Fiji will ask whether you want to run the Updater now or later:

Up-to-date-check.png

In case you do not want to run the Updater upon startup, you can choose Never.

Starting the Updater explicitly

The Updater can be run via Help>Update Fiji.

Easy mode

The Updater has two modes, the Easy Mode and the Advanced Mode. In the former mode, you will only see the files that can be updated. The easy mode looks like this:

Updater-easy-mode.png

For technical reasons, a restart of Fiji is required before the changes take effect. You can read about technical details here.

Resolve dependencies

Some plugins require other components to be updated. For example, the Simple Neurite Tracer needs the 3D Viewer. If you have a locally modified version of the dependency (i.e. the Fiji Updater does not know that particular version), Fiji will ask you what to do:

Updater-Resolve dependencies.png

A typical scenario when you can have a locally modified version of a component is when you asked the respective plugin author for a change in a Fiji component and got a test version that you installed manually.

You can keep the local version if you are certain that the version you have is new enough to work with the plugin noted under the text A newer version might be required by, otherwise you should consider to choose Update <component> instead.

Advanced mode

In the advanced mode, you can see details about the Fiji components, choose not to update selected components, and search by filename.

Note: in the advanced mode you can also upload plugins to your update site. The details for each component can be edited by writing below the respective entry. To save the changes, you have to upload the plugin to the server.

Snapshot of the Advanced Mode of the Updater.png

Starting the Updater manually

Just click on the Help>Update Fiji menu item:

Fiji Updater-screenshot.png

Adding update sites

If you want to update plugins from other update sites than the principal one, follow these instructions.

You can also set up and populate your own update site.

Command-line usage

It is possible to drive the Updater through Fiji's command-line option --update. If you call that without arguments, it will show you what subcommands are available:

./fiji --update

The simplest usage is to update either single files:

./fiji --update update jars/ij.jar jars/Fiji.jar plugins/Fiji_Updater.jar


or all files that would be marked for update in the interactive Updater by default:

./fiji --update update


If you configured upload sites, you can also use the command-line version of the Updater to upload files:

./fiji --update upload plugins/My_New_Cool_Plugin.jar


Full list of options available when running Fiji from command line looks like this:

Commands:
	diff [ --list-files | --javap | --class-file-diff | --hex-diff ] [<files>]
	list [<files>]
	list-uptodate [<files>]
	list-not-uptodate [<files>]
	list-updateable [<files>]
	list-modified [<files>]
	list-current [<files>]
	list-local-only [<files>]
	list-from-site <name>
	show [<files>]
	update [<files>]
	update-force [<files>]
	update-force-pristine [<files>]
	upload [--simulate] [--[update-]site <name>] [--force-shadow] [--forget-missing-dependencies] [<files>]
	upload-complete-site [--simulate] [--force] [--force-shadow] [--platforms <platform>[,<platform>...]] <name>
	list-update-sites [<nick>...]
	add-update-site <nick> <url> [<host> <upload-directory>]
	edit-update-site <nick> <url> [<host> <upload-directory>]


In order to update from command line using a specific update site (for example the BigDataViewer) use the following command:

./fiji-linux64 --update add-update-site BigDataViewer http://sites.imagej.net/Pietzsch/


Bootstrapping the updater

If you do not have Fiji yet, you can download bootstrap.js and run it like this:

jrunscript bootstrap.js help


This uses the jrunscript executable of your Java installation to run the Javascript file tracked in Fiji's source code repository that was originally intended to fix existing installations, but enhanced to initialize the updater in an ImageJ 1.x-only directory -- or even from a complete fresh state.

Development

As of September 2012, the Fiji Updater has moved to ImageJ2. Details can be found in the announcement: 2012-09-14 - The Updater moved.