Sun ONE Calendar Server 6.0 Installation Guide for Solaris Operating Systems |
Appendix C
Calendar Server 5.x to 6.0 Upgrade/Migration ProcessThis appendix describes how to upgrade/migrate Sun ONE or iPlanet Calendar Server 5.x to Calendar Server 6.0, including:
- Upgrade/Migration Process for upgrading to Calendar Server 6.0
- XSL Tips for merging changes into the Calendar Server 6.0 XSL files
Upgrade/Migration ProcessTo upgrade to Calendar Server 6.0:
- On the server where Calendar Server 5.x is installed, change to the /opt/SUNWics5/cal/sbin directory and stop Calendar Server 5.x:
./stop-cal
- Backup the following Calendar Server 5.x directories and files:
- Backup any Calendar Server 5.x files that you have customized, including:
- User interface (UI) XSL files in /opt/SUNWics5/cal/bin/data
- Mail formatting files–Default location is:
/opt/SUNWics5/cal/bin/config/language/- default.html file–Default location is:
/opt/SUNWics5/cal/bin/html/language/- HTML files–For example, in:
/opt/SUNWics5/cal/bin/html/language/- Time-zone files such as timezones.ics and change_timezone.xml.
The language directory includes the files for the language you are using. For example, en–English, de–German, es–Spanish, fr–French, ja–Japanese, zh-TW–Traditional Chinese, or zh-CN–Simplified Chinese.
- Change to the /opt/SUNWics5/cal/ directory and uninstall Calendar Server 5.x. You must be running as superuser (root). For example:
./uninst
- Remove all files under the /opt/SUNWics5 directory.
- Run the Java Enterprise System installer to install Calendar Server 6.0 in the /opt/SUNWics5 directory. For information, refer to the Sun Java Enterprise System Installation Guide.
- Change to the /opt/SUNWics5/cal/sbin directory and run the comm_dssetup.pl utility to configure your Sun ONE Directory Server 5.x to work with Calendar Server 6.0. For information about comm_dssetup, refer to the "Directory Server Setup Script (comm_dssetup.pl)".
- Run the Calendar Server 6.0 configuration program (csconfigurator.sh) to create a new ics.conf configuration file. For more information, refer to "Calendar Server Configuration Program (csconfigurator.sh)"
- If you want to keep your 5.x configuration, copy the ics.conf file from your backup location or tape to the /etc/opt/SUNWics5/config/ics.conf file.
- Set the UNIX user and group IDs (default is icsuser and icsgroup) and permissions for the ics.conf file. For example:
chown icsuser:icsgroup /opt/SUNWics5/cal/config/ics.conf
chmod 600 /opt/SUNWics5/cal/config/ics.conf- Run the cs5migrate utility to migrate your Calendar Server 5.x database to 6.0. For information, refer to the "cs5migrate Utility".
- If the cs5migrate migration is successful, copy the migrated 6.0 database to the /var/opt/SUNWics5/csdb directory. Make sure that the owner of all files in the /csdb directory is icsuser and icsgroup (or the user ID and group ID you have specified in the ics.conf file).
- The Calendar Server 6.0 XSL. XML, HTML, and mail formatting files have significant changes from the 5.x release. If you saved the 5.x files in Step 3, you must manually merge your customization changes from the 5.x files to the 6.0 files. For tips for merging changes into XSL files, see "XSL Tips".
- Change to the /opt/SUNWics5/cal/sbin directory and start Calendar Server 6.0:
./start-cal
- Login to Calendar Server 6.0 using Calendar Express and make sure that you are able to view the Calendar Server components (events and todos).
XSL TipsIf you are merging changes into the Calendar Server 6.0 XSL files, follow these tips and guidelines to avoid common mistakes:
- Do not use undeclared variables. Make sure variables are declared before they are used. Some parsers ignore undeclared variables, but other parsers flag them as errors.
- Do not use spaces in variable names. For example:
- Do not use multiple variables with same name. Do not redeclare the same variable at different levels.
- Do not use position(.). This should be position().
- Do not use "//node". For example:
- Do not use very complex patterns in template rules. Instead of very complicated and long rules, use “and” and “or” and try to use <xsl:choose> within the rules to make them simpler.
- Do not use counting to check for existence. To check if a node exists, instead of checking if count(node) is greater than zero, just check if node exists.
- Do not use too many XSLT functions. Try to reduce use of XSLT functions such as string-length, especially in heavily used templates.
- Do not use for-each. Try to use apply-templates where possible instead of for-each. This leads to a better and more natural style for XSLT.
- Do not use preceding [-sibling] or following [-sibling] axes.
- Do not evaluate the same node multiple times in the same template. When the same node needs to be evaluated multiple times, do it once and save the result in a variable.
- Do not use angle brackets in conditional expressions. Use < and > instead of “<” and “>” in conditional expressions.
- Do not use value="" for radio buttons and check boxes: For example: