General procedures

Before you update an existing wiki, MAKE A BACKUP! You have been warned, and it's not my fault when you end up like this... @)

Configuration update

After upgrading, your existing wiki should continue to work (the goal is to have sane defaults for any new config values, but then there can be bugs). Check that this is indeed the case, and then take the time to check the CHANGES file in your distribution. Often, new features will be invisible unless your extend your configuration in "moin.config.py".

This is especially true for:

somewhat dangerous macros that won't be activated by default, because they're not advisable for public wikis. You need to explicitely activate those by adding an allowed_actions list to the config. Currently, the actions DeletePage and AttachFile are considered unsafe.

email features: you need to provide mail_smarthost and mail_from.

new pages icons: to get new icons like "XML", "Subscribe" etc. it's best to just delete the page_icons setting, now that "config.py" has a default for it. If you changed it in the past, add new icons from the "config.py" default to your "moin_config.py".

Updating files

Images

On every update, you should copy the content of the "share/moin/htdocs/img" directory to the image directory visible to your web server, normally a new release has some new GIFs in it. If you use the default distutils setup scheme, this is no longer necessary (distutils updates the files for you, and your webserver gets the files from the installed images).

System pages

When upgrading to a new version, copy at least the help pages ("Help*") to your existing directory. Then check whether you miss any new system pages.

InterWiki

Check that you have the newest entries in the "intermap.txt" file; if you have "private" entries, add them to the distribution file, then copy the result over your current file. Note that starting with version 0.11, you can point "shared_intermap" at a file loaded before the file in your data directory, which takes precedence (i.e. have global entries in the shared one, private entries the data dir file).

Troubleshooting

To make UserPreferences work, you should "mkdir -m707 user" in your "data" directory. A good idea is to do a request for "moin.cgi?test" (which calls an internal diagnosis feature) after you installed a new release, which will spot some common errors.

Depending on your installation, more tightly secured permissions are a good idea. Ideally, you assign all files in the data directory to the user the web server runs under, and then you use 700 or 755.

Upgrade information for specfic versions

The following sections provide information pertaining to specific versions of the software; if you jump several versions, read all the sections applying to your situation.

Version 0.11

It is strongly recommended that you change any installation prior to 0.11 to the new distutils scheme, this will make any future upgrades much easier.

You should follow the instructions on HelpOnInstalling regarding basic installation, until you come to the "Creating a wiki instance" step. Then you have two options:

simply adapt your old instance to the new situation, this especially means to create an alias that points to the .../share/moin/htdocs directory; you have to change url_prefix to /wiki then. The positive effect is that you automatically get any new icons and CSS files of version 0.11 and any future version, because distutils will update them in that location.

create a new instance as per the instructions, copy the data directory from your old instance, and merge the configuration files.

Check your configuration against the provided default moin_config.py that you find in .../share/moin/cgi-bin/moin_config.py after installation with distutils. You should add the sitename setting, which gets added to the page title, to RSS feeds and the like.

When you are offically a part of the InterWiki system, then also add interwikiname, which should contain your own InterWiki moniker (for example "MoinMoin" for the MoinMoin wiki itself).

To get new icons, and also to allow I18N customization of the menu and icon links, you should either delete or adapt1 your settings for page_icons and navi_bar. Note that the new navi_bar default setting gets the wiki's name from the new sitename setting, which previously was the main reason to have your own modified navi_bar.

Due to I18N support for system pages, the only remaining configurable page name is that of the front page, which can be set by page_front_page (the old name front_page for that setting is also no longer supported); the reasoning behind this is that page name customization was mainly added and used for localization issues, while changing the front page name is rather common, often the front page is named like the whole wiki.

Finally, copy any new system pages to your wiki data directory. The current system pages are in the directory .../share/moin/data/text. The minimal set to copy is the new help pages ("Help*"). If you are sure you have not modified any system pages, you can simply copy all of them to your instance data/text directory.

When copying all system pages with one command, be sure to delete pages from the following list of pages that are likely changed by your users.

The following pages are very likely to change once a wiki is in use, and it is advisable to delete them from the master system page directory .../share/moin/data/text before any instance update; they are only included to seed new wikis: