Previous to Foswiki 2.1.2, there were issues in the bulk_copy utility. In addition, bulk_copy can be very slow on large wikis with large histories. This document presents an alternate approach. |
{Site}{CharSet}
set to utf-8
utf-8
, and then back to the old {Site}{CharSet}
on save, so it is much preferable to do it once.
bulk_copy.pl
script is fixed, or an alternative is provided.
{AccessControlACL}{EnableDeprecatedEmptyDeny}
option is enabled.
tools/bulk_copy.pl
. This is broken
iso-8859-1
encoding (The "Latin Alphabet 1, intended for US and Western European languages). Foswiki 1.2 defaults to UTF-8
encoding, which provides better support for international character sets. You must match the prior encoding if you intend to use topic created on an older version of Foswiki. If you change encoding of existing topics, you must use the non-default Foswiki:Extensions.CharsetConverterContrib to modify the character encoding. Changes in character encoding must be done using the RCS based store.
Choose your desired Store. When migrating from Foswiki 1.x, you should continue to use the RcsStore. Do not select the PlainFileStore!
Extensions.CharsetConverterContrib
into your existing Foswiki 1.x system. tools/convert_charset.pl
script with the "-i" option to inspect your system perl -I lib tools/convert_charset.pl -i
{Site}{CharSet}
to utf-8
in the lib/LocalSite.cfg
file.
.htpasswd
password file, or the working
directory contents. If any topic or web names have changed, (for ex., they included an umlaut in the name) then the entries in .htpasswd and/or working will need to be repaired.
working
directory foswiki/working/work_areas
directory.
Extensions use it to store persistent information critical to operation. For example, the MailerContrib
directory contains the timestamps of the last notification email run per web.
If not copied, the next mailnotify
run will notify all recorded changes.
This is the most common data that should be copied. Review other non-default extensions to determine if anything else should be copied.
RcsWrap
or RcsLite
on the new installation. The PlainFile store is not compatible with topic history written on previous versions of Foswiki. If you have created or updated topics using PlainFileStore, you should either start over, or plan to to remove all ,pfv
directories from the system so that there is no history in the PlainFileStore format.
If you intend to change character encoding to UTF-8
, you should install and run the Foswiki:Extensions.CharsetConverterContrib on your existing data before migrating it to Foswiki 1.2. The CharsetConverterContrib only supports the RCS style Store. Once you have converted the characterset to UTF-8
then you can convert to PlainFileStore
Copy your local webs over to the data and pub directories of the new installation. Do not copy the default webs: <old_system_web> System, Main, Trash, Sandbox, _default, and _empty. WebChanges
topics depend on the file timestamp. If you touch the .txt files make sure to preserve the timestamp, or change them in the same chronological order as the old file timestamps.
UTF-8
) that any international characters have been properly converted and are displayed correctly.
Main
web <oldwiki>/data/<old_users_web>/
to <newwiki>/data/Main/
, and copy all files from <oldwiki>/pub/<old_users_web>/
to <newwiki>/pub/Main/
. Do not overwrite any topics already present in the <newwiki>/data/Main/
directory. <old_users_web>.NewUserTemplate
in the old installation, this step will copy over your template for user topics to the new installation.
Security setup
pane of the configure
page, in the {SuperAdminGroup}
setting (visible when Expert mode is enabled). You can do either of the following: {SuperAdminGroup}
setting in your new installation to the old admin group.
{LocalSitePreferences}
on the configure
page, or if you did customize {LocalSitePreferences}
but kept your site preferences within the <old_users_web> web, then this step will also copy over your site preferences to the new installation.
<old_users_web>.WikiUsers
topic in the old installation to the Main.WikiUsers
topic in the new installation. If the new installation does not yet have an initial Main.WikiUsers
topic, then copy <oldwiki>/data/<old_users_web>/WikiUsers.txt
to <newwiki>/data/Main/WikiUsers.txt
.
Main.WikiUsers
topic: Main.WikiUsers
, using the corresponding entries in Foswiki:System.UsersTemplate as an example.
data/.htpasswd
for authentication, copy this file from the old installation to the new one.
<old_system_web>.UserRegistration
, then either copy over <oldwiki>/data/<old_system_web>/UserRegistration.txt
and <oldwiki>/data/<old_system_web>/UserRegistration.txt,v
to the <newwiki>/data/System/
directory, or modify System.UserRegistration
in the new installation to contain your customizations.
<oldwiki>/data/Sandbox/
to <newwiki>/data/Sandbox
and from <oldwiki>/pub/Sandbox/
to <newwiki>/pub/Sandbox
. Some pages you may wish to preserve are the WebHome
topic and the WebLeftBar
topic (if you had created it in the old wiki installation). The Sandbox web often contains work-in-progress topics that users will want to keep.
Make sure the data and pub directories, as well as the files within them, are readable and writeable by the web server user.
Execute your test plans for authentication and authorization. Test that users that you have transferred from the old installation can login with any problems, and that access controls work appropriately: check that users are able to view and edit pages for which they have access, and are denied permission to view or edit pages for which they do not have access. Also check that pages restricted to the admin group are not accessible by non-admin users, and that administrators continue to have access.
DENYTOPIC
rules will be ignored by Foswiki 1.2. You must change them to the equivalent ALLOWTOPIC *
rules. The tools/convertTopicSettings.pl
utility will scan the Webs & Topics, and will perform several optional conversions on the topics. convertTopicSettings
convertTopicSettings
saves the modified topics, they will be saved by user UnknownUser.
-- GeorgeClark - 15 Jul 2015