This file documents the necessary steps for migrating your data/ dir to the latest moin version. It is in reverse order, the latest stuff is at the top. We don't talk about underlay/ directory here (you simply throw it away and install the new one provided). Post 1.5.3 new style migration ============================== First you have to do all steps described in the sections below or it won't work. After you have switched to new style migration, the procedure will be the same with every moin upgrade, simply follow these steps: a) First switch to the user of your data directory (www-data normally): e. g. sudo -u www-data sh or su www-data b) Invoke the following command: moin --config-dir=/path/to/config_dir --wiki-url=wiki.example.org/ migration data Note: If you did not use setup.py, you can call the moin script directly. It is located in MoinMoin/script/moin.py The new style mig stuff will then load the config for that wiki, get into its data_dir, read the 'meta' file content and determine what it has to do internally. 1.5.3 migration =============== First make sure you have run all the old mig scripts ONCE (and only once) on your data dirs. The old style stuff moved here: MoinMoin/script/old/migration/ In that directory, there is also a new 152_to_1050300.py mig script - you need to run it as the last mig script to switch to new style mig scripts. It puts a file "meta" in your data dirs that hold the data_format_revision value. The new style mig scripts use that value to make it much simpler for you in future. After this, please continue in section "Post 1.5.3 new style migration". 1.3.4/1.3.5 migration ===================== We added some mig scripts in moin 1.3.4. So if you have done the 1.2 to 1.3 migration with some earlier moin version (like 1.3.3), then please run the new scripts, too: * 12_to_13_mig10.py * 12_to_13_mig11.py 1.2 to 1.3 migration ==================== Migration from 1.2 to 1.3 is done by those basic steps: 1. make a backup 2. install new moin code 3. install new moin.cgi (if you use CGI) or other glue script 4. install new moin static data (css, icons, etc.) 5. convert your 1.2 data_dir using the migration scripts (see below) 6. fix your configuration (begin with new sample config and modify as needed) * especially make sure that data_dir and data_underlay_dir is correct 1. Making a backup ================== Make a backup of your current stuff: * CONFIG: moin_config.py, maybe also some farmconfig if you run a wiki farm Also backup the moin.cgi script (if you use CGI) or other glue script. * CODE: backup your MoinMoin/ directory (see sys.path.append at start of moin.cgi or standard location like /usr/lib/python2.x/site-packages) * DATA: backup your data/ directory (see data_dir in moin_config.py) - this is the most important stuff: your wiki pages, your wiki user accounts etc. - you want to keep this for quite a while even if the migration looks successful. 2. + 3. + 4. Install new moin code, new moin.cgi script, new moin static data ============================================================================= See INSTALL.html. 5. Converting your data/ directory ================================== Scripts see MoinMoin/script/old/migration/12_to_13_migN.py (in your MoinMoin code directory, e.g. /usr[/local]/lib/python2.x/site-packages/MoinMoin). Those are some scripts that convert your wiki data to the current MoinMoin version. You must use them AFTER stopping your old wiki code and BEFORE starting your new wiki code. Make sure you have enough free space on your hard disk (every mig script makes a new copy, so you need N+1 times the space your data dir needs, if you do not remove the pre-migX dirs after running migX script). When upgrading, choose your entry point depending on your version: version you use start with mig script --------------------------------------------- before 1.2 first upgrade to 1.2.4 and test for a while 1.2.x mig01 - check from_encoding in script! 1.3 section. * is your web server allowed to read and execute moin.cgi? Can you run another cgi script from same directory? Options +ExecCGI for Apache? * Is your Python at least v2.2.2? If you still have problems, it is best to ask on our IRC channel #moin on server irc.freenode.net.