Forum .LRN Q&A: Guidelines on how to upgrade dotLRN
we plan to upgrade dotLRN in January. Therefore I seek your advice. Also my hope is that this thread will serve as a knowledge pool for others interested in the upgrade.
Here our current system:
SuSE Linux Prof. 9.1
We have 5.000 active users and 25.000 registered accounts and the system is in productive use since Nov. 2003.
Any summary of steps taken place, the problems faced and the solutions found during an upgrade to 2.1 would help.
- How should bug-tracker be upgraded?
- Are there any problems with content-repository?
- Which packages have no upgrade script?
- What about AOLServer 4 and SSL? Is it already working and what steps have to be taken for that upgrade?
Please post your experience here. Thank you very much in advance.
- Install 7.4.6 in paralell
- Either dump/import (works without problems) or do a direct database transfer between both running instances (it is somewhere detailed at the postgres site).
- Use latest code from CVS, especially with nsopenssl involved. Works like a charm with me, but you might want to confirm with MIT. Otherwise install pound for SSL and run AOLserver 4.09 behind it.
- Which version do you come from in the first place?
- Bug Tracker upgrade works normally, if you are already at 1.2d1
- Content repository does not provide to be a problem, though I have not tested it with files stored within the database.
- Core .LRN packages have upgrade scripts, at least they have been working on a step by step basis and otherwise been fixed by Galileo, MIT or myself.
- In general: Use the APM (/acs-admin/apm) for the upgrade, not the installer.
Obviously you should run the upgrade on the copied 7.4.6 database so you still have your old data if something goes wrong :). And make at least one test run before, writing down all the steps you did in what order. And follow these steps once you do the final (live migration).
thank you very much for your guidelines.
Here is what I have
- bug-tracker 1.3d
- dotlrn 2.0.3
- acs-kernel 5.0.4 (like most of the OACS packages)
Is the upgrade of AOLServer and PostgreSQL necessary? Why should I dump the database (except for backup purposes) and run it on 7.4.6? Won't the upgrade work otherwise?
So should we simply replace the packages folder with the latest from oacs-5-1 branch on a running test system and then use the APM? But what exactly should I use in APM? The only
I normally use the upgrade link on /acs-admin/install but I guess that is exactly what we shouldn't do? Why is that?
Please make a fresh checkout of *all* of oacs-5-1 (not only packages) and modify the resulting /www/*.adp to your needs. This is necessary due to changes in blank-master.adp and I think standard-master.adp as well.
Using the APM is the foolproof way. From what I heard, /acs-admin/install does not execute the upgrade APM callback procs correctly (sometimes). But maybe I'm only an old hacker that is attached to the /acs-admin/apm interface :).
Bug Tracker will not give you any trouble, neither should .LRN in my experience and definitely not OpenACS itself. Be warned though to make a check on the ACS Authentication issue which is desribed in the forums quite at length.
Anything else that might go wrong will be seen on the development server where you test the upgrade.
APM page offeres the following links:
- Create a new package
- Write new specification files for all installed, locally generated packages
- Load a new package from a URL or local directory.
- Install packages
Clicking on a package I am only offered the sections:
- package information
- xml .info package specification file
I cannot see any upgrade link. So how do you upgrade packages from APM? Via "Reload this package" or "Install packages." link?
Since you will test the upgrade first, you can use the regular install/upgrade page. It executes the same code and I have never heard of a callback problem. (Malte, if there is such a problem, please document it, file a bug and we should get it fixed.)
The path to the APM is usually through a link called "Developer Admin". If you try the APM installer you will see it allows you to do some additional things, such as: force install if dependencies are not met or skip installation of SQL datamodel files. Obviously one would not want to try those things without knowing what was going to happen, but in most cases normal users installed a released version of OpenACS would not need to try that.
- Package by package or
- simply replace all packages on a running system
and then use acs-admin/apm?
Hi, I finished the upgrade from 2.0.3 to 2.1.0b4 http://unis.galileo.edu Here are some steps i followed: (I am using cvs, postgresql) Before upgrading the live site, create a copy of your site, a dump, to test and fix the problems with the upgrade scripts and your database. - Make a tag of your working code or copy to a secure place. I used cvs -q tag nameofyourtagdate - Make a dump of your database. pg_dump database > todaydate.dump (verify the instruction for user or host) - Make a copy of content-repository-content-files if your store file in file system instead of database. cp -r content-repository-files .. . . Testing - Clean the new database you will create to test dropdb databasename - Create the new database createdb -E UNICODE databasename - Fill the database with the dump psql -f todaydate.dump databasename - Get the working code cvs checkout -r nameofyourtagdate or cp -r workingcode .... - Remember to change the config.tcl (ip, port, dbname, ...) - Copy the content-repository-files - Start the site Get the new code Get the fresh code, change your specific files, etc ... Use cvs for more convinience .. cp -r /path/newcode . or cvs -q update -dA - Now browse to /acs-admin/apm/packages-install - Check the new packages to install/upgrade and wait ... If there are errors, write the upgrade script and try to fix it or post the problem. And start again (dropdb, ... ) - If no errors, restart the server (remember to check the config.tcl) - Login again and reload many times your browser (the css may be cached) - Check the old information ... With the new working code upgrade your live site. just update and install packages. Problems i had: dotlrn: tcl/apm-callback-procs.tcl I changed the apm_upgrade_logic from 2.0.3 2.1.0 to 2.0.3 2.1.0b4 workflow: upgrade-1.2-2.0d1.sql I had a problem with this script because it alters a table: alter table workflow_fsm_action_en_in_st add constraint workflow_fs_action_en_in_st_pk primary key (action_id, state_id); The instruction crash because i had duplicate rows, I deleted the rows, delete from workflow_fsm_action_en_in_st where action_id='4'; ... Check the table before running the script. file-storage: upgrade-5.1.0a6-5.1.0a7.sql I had a problem with a constraint, but it was a problem with a row in my system, i searched the row and change a title. static-portlet: upgrade-2.0.3d1-2.0.3d2.sql This script was not run in the upgrade, check if it is in the list of scripts to run, if not run it manually after the upgrade. psql -f packages/static-portlet/sql/postgresql/upgrade/upgrade-2.0.3d1-2.0.3d2.sql .... Greetings, Hector