New icon theming. Also added basic template for left_main.php
[squirrelmail.git] / UPGRADE
diff --git a/UPGRADE b/UPGRADE
index da2e26a59ff50bdc7b929688b6b603a658e41ac7..84e4551d572152129aa672f85a7e6d6f00833f54 100644 (file)
--- a/UPGRADE
+++ b/UPGRADE
@@ -1,49 +1,95 @@
-Upgrading from 0.3 or 0.4
-=========================
-If you are upgrading from versions 0.3 or 0.4 of SquirrelMail, you can use this
-guide to make the transition a bit smoother.  If you have been using a previous
-version (0.1 or 0.2), it is suggested that you just start from scratch and 
-configure your settings as if it was your first install.
+Upgrading from 0.3 or higher
+============================
 
+If you are upgrading from versions 0.3 or higher of SquirrelMail, you can
+use this guide to make the transition a bit smoother.  If you have been
+using a previous version (0.1 or 0.2), it is suggested that you just start
+from scratch and configure your settings as if it was your first install.
 
-1.  Backups
-===========
-Make a backup of your current SquirrelMail directory.  If you use "cp", be sure
-to use the "-Rp" options.  -R means recursive, and -p will save the permissions
-in the directory.  In this example, we assume that your httpd document directory
-is /home/httpd/html.
+NOTE: The new plugin architecture required the use of some functions which
+are not in all versions of PHP. You will need at least PHP 4.1.0. If you
+need to upgrade please go ahead and install the latest release version of
+PHP.
+
+
+1.  Backup old install
+======================
+
+Make a backup of your current SquirrelMail directory.  If you use "cp", be
+sure to use the "-Rp" options.  -R means recursive, and -p will save the
+permissions in the directory.
+
+In this example, we assume that your httpd document directory is
+/home/httpd/html, that your SquirrelMail install is located at
+/home/httpd/html/squirrelmail-1.2.6, and that your new SM version is 1.4.0.
+Substitute version numbers and names as required.
 
   $ cd /home/httpd/html
-  $ cp -Rp squirrelmail-0.4 squirrelmail-0.4.bak
+  $ cp -Rp squirrelmail-1.2.6 squirrelmail-1.2.6.bak
+
+
+2.  Unarchive new SquirrelMail
+==============================
+Make sure that you are in your httpd document directory (/home/httpd/html)
+and then unarchive the SquirrelMail archive (whatever the filename is):
+
+  $ tar -zxvf squirrelmail-1.4.0.tar.gz
+
+
+3.  Copy important files from old install
+=========================================
+The important files to copy are:
+  A.  Preferences
+  B.  Config details
+  C.  Plugins
+  D.  Themes (if you've edited or added any of them)
+
+A.  Preferences
 
+First, copy your preference data over to the new directory.  Usually
+this is ok, but if you are upgrading from anything less than 1.0.5, we
+strongly suggest you let your users reset their preferences.  There
+were important security upgrades in 1.0.5 regarding preference files.
 
-2.  Unarchives Squirrelmail-0.5.tar.gz
-======================================
-Make sure that you're in your httpd document directory (/home/httpd/html) and
-then unarchive the squirrelmail archive (whatever the filename is):
-  $ tar -zxvf squirrelmail-0.5.tar.gz
+  $ cp squirrelmail-1.2.6.bak/data/* squirrelmail-1.4.0/data
 
+B.  Config details
 
-3.  Copy backups in place
-=========================
-Here is the main part.  There are two parts to this step: copy preferences,
-and copy config details.  The preference files are backwards compatible, so it
-is fine to copy the old user preferences into the new directory.  However, the
-configuration file has changed quite a bit, so you will want to be sure to run
-the configure script (conf.pl) to set up any new config details.
+If at all possible, start the configuration process from scratch.  It is
+much less prone to missing configuration options than copying your old
+configuration.  Ideally, you should just run conf.pl to reconfigure
+SquirrelMail.  If you decide to copy your old config.php over, we strongly
+recommend that you run conf.pl to make sure things are correct and then save
+the config file.
 
-First, copy the files in place:
-  
-  $ cp squirrelmail-0.4.bak/data/* squirrelmail-0.5/data
-  $ cp squirrelmail-0.4.bak/config/config.php squirrelmail-0.5/config
+  $ cp squirrelmail-1.2.6.bak/config/config.php squirrelmail-1.4.0/config
 
-Note that if at all possible, start the configuration process from scratch.
-It is less prone to missing configuration options than copying your old
-configuration.  The ideal solution would be to copy your users' preference
-files, and then run conf.pl to re-configure SquirrelMail (without using the
-old config file).  If you do copy the config.php file, you will want to run
-conf.pl and check for new options.
+C.  Copy plugins
+
+Like SquirrelMail, plugins are frequently updated for improvements, as well
+as to make them compatible with new SquirrelMail releases.  It is suggested
+that you download new versions of your plugins at the same time you download
+your SquirrelMail install, and that you install your plugins fresh (it's
+easy, don't panic!).
+
+You should not try replacing plugins that are already included in SquirrelMail
+package. Download latest versions of plugins that are not included in new
+SquirrelMail package or copy them from older SquirrelMail install.
+
+D.  Copy themes
+
+If you've created or modified themes, you should copy just those to the new
+SquirrelMail themes directory.  To just copy them all over to the new
+SquirrelMail installation, you can run one command.
+
+  $ cp -ui squirrelmail-1.2.6.bak/themes/* squirrelmail-1.4.0/themes/
+
+When -u flag is used, command copies only missing and newer files.
+When -i flag is used, command asks for confirmation before replacing
+existing files.
+
+(While you are at it, you should send them to us!  We might add them to the
+themes in the standard install!)
 
 
 4.  Change permissions
@@ -52,12 +98,29 @@ The web server must have write permission to the data directory.  In this
 example, we assume that user "nobody" and group "nobody" are the web server
 as is often the case with Apache.
 
-  $ cd squirrelmail-0.5
-  $ chown -R nobody.nobody data
+  $ cd squirrelmail-1.4.0
+  $ chown -R nobody:nobody data
+
+See INSTALL for alternate userid/groupid pairs.  Additionally, if "chown
+user:group" doesn't work, you can use "chown user" and "chgrp group"
+instead.  See the man pages for these commands for more information.
+
+
+5.  Run conf.pl
+===============
+Run config/conf.pl to see the new configuration options available with the
+new version, as well as to verify that all of your old options are set
+properly.
+
+Always save your options, also if you haven't changed anything.
+This will ensure that any problems with conf.pl that might have been solved
+are effective to your installation.
 
 
-5.  DONE!
+6.  DONE!
 =========
-That should be all!  The most important part is copying your users' preference
-files back into the new data directory.  This will insure that your users will
-have their old preferences.
+That should be all!  The most important part is copying your users'
+preference files back into the new data directory.  This will insure that
+your users will have their old preferences.  Remember to do so with caution,
+especially if you are upgrading from a version before 1.0.5 to version 1.0.5
+or later.