Update

The wiki is built from components developed in the open source and regularly improved based on user experience and available contributors. Here we consider when and how a server should be upgraded to use newer component versions.

The server software evolves slowly since there are many copies deployed and other components are programmed to work with all versions. Expect improvements here several times a year.

The core client code evolves with new features added every month or so. One might update the server just to get a new version of the client code.

The core wiki software is extended with plugins that can come from various sources and installed and updated individually. The bundle that comes with the default server install updates every couple of weeks.

Improvements to independently maintained plugins could be much faster. A server operator must decide which independent plugins they will support and how current they will be kept.

# Server

A server and the components bundled with it can be updated by simply reinstalling it.

npm install -g wiki restart wiki

Choosing install over other npm options insures that the preferred versions of all the components are installed. Some options just update the server code leaving client and plugins as is.

Reinstalling the server does not seem to interfere with independently developed and installed plugins. Double check this for your installation.

Wiki will report the installed version of all components.

wiki -v

wiki: 0.7.0 wiki-server: 0.6.0 wiki-client: 0.5.1 wiki-plugin-activity: 0.2.4 wiki-plugin-audio: 0.1.4 wiki-plugin-bars: 0.3.0 wiki-plugin-bytebeat: 0.2.3 ...

# Plugins

The bundled core client code and plugins are best updated by updating the server. Independently maintained plugins can be installed or updated by invoking npm from within the installed wiki module.

One must first locate the installed wiki module then change to that directory.

cd /usr/local/lib/node_modules/wiki

Double check that the node_modules directory within this directory contains the expected components.

ls node_modules

wiki-client wiki-plugin-activity wiki-plugin-audio wiki-plugin-bars wiki-plugin-bytebeat ... wiki-server

Install or update the desired independent plugin with npm and restart the server.

npm install wiki-plugin- ... restart wiki

Note: We are not using the -g global install flag here. A global install of a plugin would make it a peer of wiki, not a component of wiki.

See Maintaining a Custom Wiki for more detailed suggestions for those responsible for multiple servers.