%TOC% %STARTINCLUDE%
## TWiki Upgrade Guide
### Upgrading to TWiki 01-Sep-2001
Upgrade from your 01-Dec-2000 edition to the new, next generation **01-Sep-2001** TWiki Production Release in a few straightforward steps.
### Major Changes from 01-Dec-2000
The 01 Sep 2001 release includes several new areas of functionality, and existing features have been significantly revised and enhanced. These changes affect the upgrade of the 01 Dec 2000 version:
* **TWikiPlugins** major enhancement, allows easy installation and removal of program enhancements using external plug-in modules, standardized creation of Plugins with the Plugins API
* **AttachmentsUnderRevisionControl** In the previous version, changes to topics were tracked under revision control (RCS); now, topic Attachments are also tracked.
* **ManagingTopics/Move/Delete Topic** In the previous version, managing topics required access to the TWiki file system (Telnet or FTP); now, moving, renaming, deleting can be done through the browser. Deleted topics are act move and stored in a common Trash web.
* **TOC (Table of Contents)** Automatically generates a hierarchical Table of Contents from topic headings: <HI>...<H6>. Set depth...
* **ArbitraryTextForWikiWordLinks**
* **ChangingTWikiPasswords** done by Web form
* **TWikiFormTemplate**
* **TWikiTemplateSystem** all new template set-up
* **TWikiSkins**
* **SuperAdminCanEdit**
* **TWikiMetaData**
* **ConvertToXHTML10**
* **HierarchicalNavigation**
The TWiki directory structure remains the same, with one exception, the new **lib/TWiki/Plugins**
directory tree to for the main configuration file, library, internal modules and the new Plugin modules. Pre-existing files were formerly in **bin**
.
### Picking the Right Upgrade Path
Check these to make sure you're on the right page:
* If you've updated, replaced, or even added files from any of this year's Beta test releases of the new TWiki, head here: %TWIKIWEB%.TWikiBetaUpgradeNotes.
* To upgrade from a pre-01-Dec-2000 TWiki, make this your first stop: %TWIKIWEB%.TWikiUpgradeTo01Dec2000.
### Standard Six-Step Upgrade
Follow this step-by-step guide to upgrade the 01 Dec 2000 version to the 01 Sep 2001 release, and transfer all of your original data: [ We assume `export TWIKIROOT=/some/dir/` ]
> #### Step 1: Backup & Unpack
>
> 1. **_Backup_** all existing TWiki directories ( `bin`, `pub`, `data`, `templates` )
>
> * **_Unpack the zip file_** into some working directory:
`mkdir -p ~/tmp/`
`cd ~/tmp`
`unzip ~/TWiki20001201.zip`
>
> #### Step 2: Upgrade TWiki document files
>
> * * Move the document files to your TWiki root: ( `twiki` )
`mv ~/tmp/TWiki*.html $TWIKIROOT`
`mv ~/tmp/readme.txt $TWIKIROOT`
>
> #### Step 3: Upgrade cgi-bin scripts
>
> * * Rename your original `twiki/bin` directory: ( `twiki/bin` )
`mv $TWIKIROOT/bin $TWIKIROOT/bin.old`
> * Move the new scripts to your original `twiki/bin` location, i.e.
`mv ~/tmp/bin $TWIKIROOT/bin`
> * Merge the changes in your current `wikicfg.pm` into the new `wikicfg.pm`. We suggest using `diff -c` to compare the two files if you have made heavy changes to the file, i.e.
`diff -c $TWIKIROOT/bin.old/wikicfg.pm $TWIKIROOT/bin/wikicfg.pm | less`
> * Restore any additional scripts you might have from the old directory, i.e.
`mv $TWIKIROOT/bin.old/somescript $TWIKIROOT/bin/`
(Note that the `changes` script is obsolete.)
> * In case you have basic authentication:
> * The `TWikiRegistration` topic moved from the TWiki.Main web to the TWiki.TWiki web. Change `.htaccess` to reflect the new location, i.e.
`ErrorDocument 401 /cgi-bin/view/TWiki/TWikiRegistration`
> * Pay attention to the file and directory permissions (security issue)
> * Test your TWiki installation if you can view topics. (Ignore the %HTTP\_EQUIV\_ON\_VIEW%
you see on top of the topic; this will disappear after upgrading the template files.
>
> #### Step 4: Upgrade template files
>
> * * Rename your original `twiki/templates` directory: ( `twiki/templates` )
`mv $TWIKIROOT/templates $TWIKIROOT/templates.old`
> * Move the new templates to your original `twiki/templates` location, i.e.
`mv ~/tmp/templates $TWIKIROOT/templates`
> * Merge the changes in your current template files into the new template files. To compare two files use
`diff -c $TWIKIROOT/templates.old/view.tmpl $TWIKIROOT/templates/view.tmpl | less`
> * Restore any additional template subdirectories of your TWiki webs you might have and merge the changes.
> * Test your TWiki installation if you can view topics.
>
> #### Step 5: Upgrade public files
>
> * * Move the new `twiki/pub/TWiki` directory to your installation: ( `twiki/pub` )
`mv ~/tmp/pub/TWiki $TWIKIROOT/pub/`
> * Pay attention to the file permissions of the `TWiki` directory and its subdirectory and files. The files must be writable by the cgi-scripts (usually user "nobody")
> * Move the new `twiki/pub/twikilogo*` image files to your installation, i.e.
`mv ~/tmp/pub/twikilogo* $TWIKIROOT/pub/`
>
> #### Step 6: Upgrade data files
>
> * * Move the new `twiki/data/TWiki` directory to your installation: ( `twiki/data` )
`mv ~/tmp/data/TWiki $TWIKIROOT/data/`
Pay attention to the file permissions of the `TWiki` directory and its files. The files must be writable by the cgi-scripts (usually user "nobody")
> * Optionally move the new `twiki/data/Test` directory to your installation, i.e.
`mv ~/tmp/data/Test $TWIKIROOT/data/`
(Pay attention to the file permissions)
> * Move these new TWiki.Main web topics to your TWiki.Main web: `TWikiGroups`, `TWikiAdminGroup`, and if needed also `OfficeLocations` , i.e.
`mv ~/tmp/data/Main/TWikiGroups.* $TWIKIROOT/data/Main`
(Pay attention to the file permissions)
> * The following topics in the TWiki.Main web are obsolete and can be deleted: `BillClinton`, `GoodStyle`, `RegularExpression`, `TextFormattingFAQ`, `TextFormattingRules`, `ManagingWebs`, `TWikiCategoryTable`, `TWikiEnhancementRequests`, `TWikiImplementationNotes`, `TWikiInstallationGuide`, `WebNotification`, `TWikiPlannedFeatures`, `TWikiUpgradeTo01May2000`, `TWikiUsernameVsLoginUsername`, `TWikiSite`, `WelcomeGuest`, `WelcomeVisitor`, `WikiName`, `WikiNotation`, `WikiTopic`, `WikiWikiClones`. Sample delete command:
`rm -f $TWIKIROOT/data/Main/BillClinton.*`
> * The following topics are new and most be copied to all of your TWiki webs: `WebChanges`, `WebIndex`.
`cp -p $TWIKIROOT/data/TWiki/WebChanges.txt* $TWIKIROOT/data/Main`
`cp -p $TWIKIROOT/data/TWiki/WebIndex.txt* $TWIKIROOT/data/Main`
Repeat this for all your webs. Pay attention to the file permissions.
> * `TWikiRegistration` moved from TWiki.Main to TWiki.TWiki. In case you customized `TWikiRegistration` , merge your changes back into `TWiki.TWikiRegistration` , then delete `$TWIKIROOT/data/Main/TWikiRegistration*`.
> * `TWikiPreferences` moved from TWiki.Main to TWiki.TWiki. Merge your changes to `TWikiPreferences` into `TWiki.TWikiPreferences`.
> * Modify the `WebPreferences` topics in all your webs to reflect the following:
> * `WEBTOPICLIST` should use `WebChanges` for `"Changes"`, and `WebIndex` for `"Index"`, i.e.
`| Changes`
`| Index`
> * In case you want to exclude a web from a `web="all"` search: Set this new preference
`Set NOSEARCHALL = on`
> * The `WebSearch` topic has considerable changes. Copy the one from `TWiki.TWiki` into all webs, or merge them if you made changes. To copy, do an edit-copy-edit-paste operation.
> * Change the `WebHome` topics in all your webs to reflect these changes:
> 1. The "Changes" link should point to `WebChanges`.
> 2. The "Topic index" link should point to `WebIndex`.
> 3. Change the include of the web table to %INCLUDE\{"%TWIKIWEB%.TWikiWebsTable"\}%
> * Merge your `TWikiWebsTable` topic in TWiki.Main with the `TWikiWebsTable` topic in TWiki.TWiki. Note the new variable to query the color of a web. Delete the old `TWikiWebsTable` topic in TWiki.Main after merge is complete.
> * The following topics in the TWiki.Main web are deprecated (because they moved to TWiki.TWiki), but still need to be present in TWiki.Main because of existing links to them: `FileAttachment`, `TWikiDocumentation`, `TWikiHistory`, `TWikiPreferences`, `TWikiVariables`.
It is recommended that you edit these topics in TWiki.Main and replace the content with this line:
This topic moved to %TWIKIWEB%.%TOPIC% in the %WIKITOOLNAME%.%TWIKIWEB% web.
> * In all your webs, change references to topics that moved to the TWiki.TWiki web:
> * Change topics: `TWikiUsers` , `WebNotify` , `WebHome`
> * With links to: `TWikiPreferences` , `TWikiVariables` , `TWikiUsers` , `TWikiWebsTable` and `WelcomeGuest`
>
> ### Setting Access Control
>
> * * Read [[TWikiAccessControl]], in case you want to use the new authorization feature based on groups.
>
> ### Known Upgrade Issues
>
> * * Check for known issues of TWiki 01 Sep 2001 (production release)
-- [[MikeMannix]] - 26 Aug 2001