Sloan Upgrade 2004
by Andrew Grumet
This document covers some of the technical details of the Sloan
upgrade from OpenACS 4.6.x and .LRN 1.x to OpenACS 5.1.x and .LRN
pre2.1. Both pre- and post-upgrade systems run on an Oracle database.
A lot of the detail is specific to Oracle.
Steps
- db export/copy/import/viewfix
- upgrades run from sqlplus
- sequencing: all pre-ora9 scripts for all packages must be run first
- recompiling package bodies and packages as we go
- fixed upgrade scripts
- skipped upgrade scripts (two reasons: @ usage points to newer code, or we already had the fix)
- copy content-repository-content-files to new server and set permissions
- upgrades run from aolserver
- turn off outbound email (rollout support) and scheduled procs (new UpgradeModeP parameter) before starting the server.
- zzz-postload.tcl
- edit dotlrn-master.tcl and site-master.tcl temporarily working around code that breaks before upgrade is complete (lang_admin_p, num_users_online)
- upgrade all packages in APM, navigate directly to /acs-admin/apm/packages-install
- upgrade in 4 rounds, a subset of packages at a time, with intervening restarts, starting with the most core packages and working your way out to dotlrn [may not be strictly necessary]
- back in sqlplus
- run a few updates (missing-upgrades.sql) for upgrade scripts
that should exist but don't
- analyze tables, recompile broken objects
- update a few APM parameters
- mount localization package at acs-lang (tricky, have to conjure up the right URL, gui options not presented because acs-lang is marked as a service) and import all messages to be sure nothing falls through the cracks (a lot did, which is why we do this)
- unedit dotlrn-master.tcl and site-master.tcl
- WATCH OUT for new APM parameters -- for example, acs-mail-lite now uses the sendmail binary by default. Since this is controlled by a new parameter, it will get rolled out to your instance of acs-mail-lite with the default value, which means it will call the sendmail binary when your old system was probably using SMTP.
- WATCH OUT for changed APM parameters -- for example, file-storage now uses the filesystem for storage by default, when it used to default to the database. When you upgrade in APM, the defaults get overwritten, and all new package instances (e.g. file-storage in classes created post-upgrade) will get the new default if you forget to restore defaults to your old values. This silent overwriting of package value defaults is a bug in OpenACS.
aegrumet@alum.mit.edu