# WebCalendar Upgrading Notes

WebCalendar Version: | 1.9.16

Important News: A major improvement beginning with Version 1.1 is the addition of an automated installation script. This script will guide you through the installation process and help identify any problem areas that might prevent successful installation or operation of WebCalendar.

- If upgrading, the script will attempt to determine your current installation version and bring your database up to date.
- If this is a new installation, the installation script will create your database and setup the required tables for you. It can then create a default Administrator account and add the basic configuration data to get you up and running.

This installation script was tested primarily using MySQL and Apache on a dedicated server. If using an ISP or a CPANEL installer, your mileage may vary. If problems arise, you can always follow the instruction below as in previous versions and setup your database manually. As with any upgrade, it's always a good idea to BACKUP YOUR DATA prior to installation.

Another major upgrade to WebCalendar for v1.1 is the implementation of full timezone support. In olders versions, all date/time data was stored based on server time and users set their 'time offset' relative to server time. Now, all date/time data will be stored in the database as Greenwich Mean Time (GMT) and users will be able to select a timezone based on their geographical location.

Having true timezone information available within WebCalendar enables the system to correct for Daylight Savings Time (DST) even if users are in different timezones. The database houses timezone information from 1970 to 2038 and can calculate the appropriate GMT offset required to allow users to see events in their true 'local time'.

The installation script will perform the initial import of the timezone data and guide you through the one-time conversion required to get your existing data converted to GMT.

Launch the Automatic Installation Script

## Upgrading Steps

With the install wizard, you will no longer be troubled with uploading SQL files to phpMyAdmin or executing SQL commands yourself. (For the most part. There are one or two database types that have not been fully implemented, as yet. If you are able to set them up, we'd appreciate the help.) Your database will be upgraded automatically from your current WebCalendar installation. Follow the steps below to upgrade to WebCalendar 1.3.0 from an older version of WebCalendar.

NOTE: You should use the Launch the Automatic Installation Script instead of doing this manually, but the information below is provided as documentation for those who are interested... All users (including those using the Automatic Installation Script) should create a backup of their database before performing the upgrade.

1. Make a backup of your current WebCalendar database. This can be done a couple of different ways.
   - If you have access to phpMyAdmin, you can use the export function:
     - Startup phpMyAdmin
     - Select the database from the pulldown on the left under the label "Databases". (This will be the same database name used in your includes/settings.php file in your current WebCalendar installation.)
     - Click on the "Export" tab.
     - Select the radio button for "Custom - display all possible options"
     - It's best to use "SQL" for the "Format:" so it can be easily imported again.
     - Under "Tables:" Make sure all the tables are checked as well as both the "structure" and "data" checkboxes for all of them.
     - Under "Output:" Select "Save output to a file".
     - Under "Data creation options" you'll want at least "Function to use when dumping data: INSERT" and "both of the above" radio button.
     - Experiment with the other options to find out what works best for your situation.
     - Click on the "Go" button at the bottom of the page and save the file to your computer. Preferably somewhere you can find it again; like the desktop.
   - If you have access to a MySQL command line (typically via shell access on a Linux server), you can use the mysqldump command:
     mysqldump -uUSERNAME -pPASSWORD DATABASE > dumpfile.sql
     Of course, replace USERNAME, PASSWORD and DATABASE from the values in your includes/settings.php file from your current WebCalendar installation.
2. Make a backup of your current WebCalendar files on the server. You would typically do this with an FTP client (like FileZilla).
3. Install the new WebCalendar files in a new directory on your server. How you do this will depend on what type of access you have to your server. It is best to not overwrite your old WebCalendar install. The unpacked/unzipped files will create a directory with the current WebCalendar version name in it.
4. Optional: If you prefer to use a simple name (like "webcalendar" rather than "WebCalendar-1.2.7"), then you can rename the directory after you've installed the files. A good way to do this might be to rename your old webcalendar install to something like "webcalendar-oldinstall" and rename the new install to be the same name as your old one.
   Note: If you are planning on renaming the directory, it is best to do this before you proceed to the automated install.
5. Change the permissions of the includes directory. If you are doing this from FTP, change directories to the new webcalendar directory and use the following command:
   chmod 777 includes
6. Change the permissions of the icons directory. If you are doing this from FTP, change directories to the new webcalendar directory and use the following command:
   chmod 777 icons
7. Download a copy of your old includes/settings.php file from your current WebCalendar install and have it handy so you can enter the same values in your upgrade process.
8. Download all files in your old icons directory from your old WebCalendar and copy the files into the icons directory in the new install directory.
9. You're now ready to start the install/upgrade wizard. Point your browser to the web server where you have installed the files. You only need to specify the webcalendar directory to get to the wizard. Since there is no includes/settings.php file in the new install, you will be redirected to the install/upgrade wizard.
10. Once the wizard is complete, it's a good idea to change your includes permissions back to what they were originally for better security.