1 rizwank 1.1 %META:TOPICINFO{author="PeterThoeny" date="1093847178" format="1.0" version="1.5"}%
2 %TOC%
3 %STARTINCLUDE%
4
5 ---# TWiki Upgrade Guide
6
7 _Upgrade from the previous TWiki 01-Dec-2001 production release to TWiki 01-Feb-2003_
8
9 ---++ Overview
10
11 This guide describes how to upgrade from TWiki 01-Dec-2001 to TWiki 01-Feb-2003. The new version involves several new features and numerous enhancements to the previous version.
12
13 ---++ Upgrade Requirements
14
15 * To upgrade from a 01-Dec-2001 standard installation to the latest 01-Feb-2003 TWiki Production Release, follow the instructions below.
16
17 * __NOTE:__ To upgrade from a *pre-01-Dec-2001* TWiki, start with %TWIKIWEB%.TWikiUpgradeTo01Dec2001.
18
19 * To upgrade from a Beta of the new release, or if you made custom modifications to the application, read through all new reference documentation, then use the procedure below as a guideline.
20
21 ---++ Major Changes from TWiki 01-Dec-2001
22 rizwank 1.1
23 * Form and script to [[ManagingWebs][create new webs]]
24 * Enhanced Plugin API to manipulate topic data with new functions in TWikiFuncModule: =readTopicText=, =saveTopicText=, =setTopicEditLock=, =checkTopicEditLock=
25 * New Plugin hooks =registrationHandler=, =beforeEditHandler=, =afterEditHandler=, =beforeSaveHandler=, =writeHeaderHandler=, =redirectCgiQueryHandler=, =getSessionValueHandler=, =setSessionValueHandler=
26 * Internationalization ('I18N') support 8-bit character sets in WikiWords, such as ISO-8859-15, KOI8-R
27 * Possible to omit e-mail address in %NOTIFYTOPIC%, in which case the e-mail is taken from the user's home page; if the WikiName is a group name, a notification is sent to all members of the group
28 * New data storage framework that lets you use external RCS commands for revision control, or a new native Perl implementation that does not depend on the external RCS commands (not recommended yet for production use, see TWiki:Codev/RcsLite)
29 * New AND search; with regular expression enabled, use the semicolon ";" as the AND operator in =%<nop>SEARCH{}%= variable, FormattedSearch and WebSearch
30 * Many more enhancements, see the complete change log at TWikiHistory
31
32 ---++ Upgrade Procedure from 01-Dec-2001 to 01-Feb-2003 Release
33
34 The following steps describe the upgrade assuming that =$TWIKIROOT= is the root of your current 01-Dec-2001 release. As written this will require some downtime. A process for switching over without downtime is described at the end of this section.
35
36 1. *Back up and prepare*:
37 * Back up all existing TWiki directories =$TWIKIROOT/bin=, =$TWIKIROOT/pub=, =$TWIKIROOT/data=, =$TWIKIROOT/templates=, =$TWIKIROOT/lib=.
38 * Create a temporary directory and unpack the ZIP file there.
39 1. *Update files in TWiki root*:
40 * Overwrite all =*.html= and =*.txt= files in =$TWIKIROOT= with the new ones.
41 1. *Update template files*:
42 * Overwrite all template files in =$TWIKIROOT/templates= with the new ones.
43 rizwank 1.1 * If you have customized your templates, make sure to merge those changes to the new files.
44 * If you have customized skins or loaded new skins, make sure to merge or apply those changes to the new files.
45 * Specific changes to templates and skins:
46 * Replace =%<nop>WIKIHOMEURL%= with =%<nop>WIKILOGOURL%=
47 * Replace img tag's =src=%<nop>PUBURLPATH%/wikiHome.gif= with =src=%<nop>WIKILOGOIMG%=
48 * Replace img tag's =alt="TWiki Home"= with =alt="%<nop>WIKILOGOALT%"=
49 * Replace meta tag's =charset=iso-8859-1"= with =charset=%<nop>CHARSET%"=
50 * Add =%<nop>TOPIC%= to form action of GoBox
51 * For internationalized sites, URL encode webs and topics in all form actions, e.g. replace =.../view%<nop>SCRIPTSUFFIX%/%<nop>WEB%/%<nop>TOPIC%"= with =.../view%<nop>SCRIPTSUFFIX%/%<nop>INTURLENCODE{"%<nop>WEB%/%<nop>TOPIC%"}%=
52 1. *Update script files*:
53 * Overwrite all script files in =$TWIKIROOT/bin= with the new ones.
54 * If necessary, change the script names to include the required extension, e.g. =.cgi=
55 * Edit =$TWIKIROOT/bin/setlib.cfg= and point =$twikiLibPath= to the absolute file path of =$TWIKIROOT/lib=
56 * Edit =$TWIKIROOT/bin/.htaccess= to include a directive for the new =manage= script:%BR%
57 =<Files "manage">= %BR%
58 = require valid-user= %BR%
59 =</Files>=
60 * Pay attention to the file and directory permissions, the scripts need to be executable, e.g. =chmod 775 $TWIKIROOT/bin/*=
61 * If on Non-Unix host, make sure the correct path to the perl interpreter is changed in the first line of every script file. See also [[WindowsInstallCookbook#Editing_the_CGI_scripts][WindowsInstallCookbook]].
62 1. *Update library files*:
63 * Overwrite the =TWiki.cfg= configuration file in =$TWIKIROOT/lib= with the new one.
64 rizwank 1.1 * Restore the configuration values from the backup. You typically need to configure just the ones in the section "variables that need to be changed when installing on a new server".
65 * Overwrite the =TWiki.pm= library in =$TWIKIROOT/lib= with the new one.
66 * Copy and overwrite all subdirectories below =$TWIKIROOT/lib= with the new ones. Make sure to preserve any extra Plugins you might have in =$TWIKIROOT/lib/TWiki/Plugins=
67 * Pay attention to the file and directory permissions, the library files should not be executable, e.g. =chmod -R 664 $TWIKIROOT/lib/*=
68 1. *Update data files*:
69 * Run the =bin/testenv= script from the browser (e.g. =http://localhost/bin/testenv=) to verify if the cgi-scripts are running as user =nobody=.
70 * In case not: The =*,v= RCS repository files delivered with the installation package are locked by user =nobody= and need to be changed to the user of your cgi-scripts, e.g. =www-data=:
71 * Change the lock user in the temporary =twiki/data/*= directories where you unzipped the installation package: A simple way to switch the locker of the RCS files is to use sed in the :
72 <br /> =for f in *,v; do sed 's/nobody\:/www-data\:/' $f > x; mv x $f; done=
73 * In the temporary =twiki/data/TWiki= directory where you unzipped the installation package:
74 * Remove the files you do *not* want to upgrade: =InterWikis.*=, =TWikiRegistration.*=, =TWikiRegistrationPub.*=, =WebNotify.*=, =WebPreferences.*=, =WebStatistics.*= and all =WebTopic*= files.
75 * Rename in the temporary directory the file =$TWIKIROOT/data/TWiki/TWikiPreferences.*= to =TWikiPreferencesSave.*=.
76 * Move all remaining =*.txt= and =*.txt,v= files from the temporary =data/TWiki= directory to your =$TWIKIROOT/data/TWiki= directory, overwriting the existing ones.
77 * Merge your original =TWikiPreferencesSave.txt= settings into =$TWIKIROOT/data/TWiki/TWikiPreferences.txt=.
78 * Move the =data/_default= directory from the temporary location to your =$TWIKIROOT/data= directory.
79 * Move the =data/Sandbox= directory from the temporary location to your =$TWIKIROOT/data= directory %BR% (The *Test* web has been renamed to *Sandbox* in this release.)
80 * There are now *two webs in parallel* (Test and Sandbox) for the purpose of testing (experimenting) TWiki. %BR% Move all relevant topics from Test web to Sandbox web, or motivate the users to do.
81 * Make sure that the directories and files below =$TWIKIROOT/data= are writable by your cgi-script user.
82 1. *Adapt the other webs (all other than =TWiki= and =_default=)*:
83 * Merge the new files =WebHome.txt= and =WebPreferences.txt= of your other webs to make sure, you have the improvements applied also in your other webs.
84 1. *Update pub files*:
85 rizwank 1.1 * Move all subdirectories below =pub/TWiki= from your temporary directory into your =$TWIKIROOT/pub/TWiki= directory.
86 * Make sure that the directories and files below =$TWIKIROOT/pub/TWiki= are writable by your cgi-script user.
87 * Move all files in =pub/icn= directory from the temporary location to your =$TWIKIROOT/pub/icn= directory.
88 1. *Update TWiki.TWikiPreferences to authorize users to create webs*:
89 * Add =ALLOWWEBMANAGE= to the =FINALPREFERENCES= list so that nobody can overwrite the setting:
90 * Set FINALPREFERENCES = WIKIWEBMASTER, PREVIEWBGIMAGE, SMTPMAILHOST, SMTPSENDERHOST, ALLOWWEBMANAGE
91 * Set users or groups allowed to [[TWiki.ManagingWebs][create new webs]]:
92 * Set ALLOWWEBMANAGE = Main.TWikiAdminGroup
93 1. *Verify installation*:
94 * Execute the =$TWIKIROOT/bin/testenv= script from your browser (e.g. =http://localhost/bin/testenv=) to see if it reports any issues; fix any potential problems.
95 * Test your updated TWiki installation to see if you can view, create, edit and rename topics; upload and move attachments; register users.
96 * Test if the installed Plugins work as expected. You should see the list of installed Plugins in TextFormattingRules.
97
98 *Note:* These steps assume a downtime during the time of upgrade. You could install the new version in parallel to the existing one and switch over in an instant without affecting the users. As a guideline, install the new version into =$TWIKIROOT/bin1=, =$TWIKIROOT/lib1=, =$TWIKIROOT/templates1=, =$TWIKIROOT/data/TWiki1= (from =data/TWiki=), =$TWIKIROOT/pub/TWiki1= (from =pub/TWiki=), and configure =TWiki.cfg= to point to the same data and pub directory like the existing installation. Once tested and ready to go, reconfigure =$TWIKIROOT/bin1/setlib.cfg= and =$TWIKIROOT/lib1/TWiki.cfg=, then rename =$TWIKIROOT/bin= to =$TWIKIROOT/bin2=, =$TWIKIROOT/bin1= to =$TWIKIROOT/bin=. Do the same with the =lib=, =templates= and =data/TWiki= directories.
99
100 ---++ Known Issues
101
102 * Check TWiki:Codev/KnownIssuesOfTWiki01Feb2003 for known issues of TWiki 01-Feb-2003 production release
103
104 -- Main.PeterThoeny - 01 Feb 2002 %BR%
105 -- Main.MartinRaabe - 15 Jan 2003
106 rizwank 1.1
107 %META:TOPICMOVED{by="PeterThoeny" date="1093847178" from="TWiki.TWikiUpgradeGuide" to="TWiki.TWikiUpgradeTo01Feb2003"}%
|