Legend
- ToDo
- In Progress
- finished (and documented)
Notes on http://dotlrn.org (in reverse chronological order)
- Import user portraits from the old site
- Enable search
- Install tsearch2 for the dotlrn instance (postgres)
- Install tsearch2 driver
- Add the service contracts to work with tsearch2
- Find out why reply by email does not work
- Write an upgrade script that adds the "read_privacy_data" privilege to exisiting classes. Change the PrivacyControlEnabledP to 1, if successful.
- Install Keepalive Cron entry,Monitoring System
- Testing done:
- Access the site and see all public pages.
- Look at files and make sure their links are working.
- Login as Eduardo Perez and test the site:
- Make sure the forums show up in "My Home".
- Make sure that he can read a posting.
- Make sure he can make a posting.
- Make sure the members show up in the community.
- Make sure he can download a file.
- Test that the posting of news is working.
- Creation of a new bug.
- After the upgrade the permissions are not working correctly for .LRN anymore. My assumption is that something deleted them on the way, but I need to take a closer look at the respective data sets. This has been fixed (after digging for a couple of hours) by resetting the ACS Kernel Parameter PrivacyControlEnabledP to 0. Make sure that /packages/dotlrn/tcl/dotlrn-init.tcl does not set the parameter back to 1 automatically.
- After the upgrade a couple of issues have come up:
- THe workflow upgrade scripts are not properly named. This resulted in Bug Tracker not working properly. This results in the upgrade script from 1.2d1-1.2d2 not being executed, which is needed for bug tracker to work. This needs to be debugged furhter.
- The news package did not allow the creation of new news items. For this the news content type needed to be registered with the content repository. This was done using "content::folder::register_content_type -folder_id -100 -content_type news"
- Automatic creation of database backups to /backup/dotlrn using a cron entry for the dotlrn user executing the /web/dotlrn/etc/backup-dotlrn.sh script
- Edit the Content Repositories Filter Proc to find old URLs as well that would not work otherwise due to the FS upgrade like this:
# Make sure we are not dealing with an upgraded file and there exists a file with the title if { [string equal "" $item_info(item_id)] } { set splitted_url [split $url "/"] set item_url_title [lindex $splitted_url end] set item_url_folder [lindex $splitted_url end-1] set item_info(item_id) [db_string test "select i.item_id from cr_revisions r, cr_items i where r.item_id = i.item_id and r.title = :item_url_title and i.parent_id = (select item_id from cr_items where name = :item_url_folder) order by revision_id desc limit 1" -default ""] }
- Copy the dotlrn-index.adp from the ETP templates to article-index.adp out of pure lazyness to change all the applications manually.
- Clean up the master.adp from /www/dotlrn-org/ not to load dotlrn specific stuff (remove all if/else statements and the dotlrn-master.css)
- Copy the .LRN logo: cp /web/dotlrn2/packages/dotlrn/www/resources/dotlrn-white-on-blue.gif /web/dotlrn/package/dotlrn/www/resources
- Write a bugfix for the file-storage upgrade: upgrade-5.1.0a6-5.1.0a7.sql and run the upgrade for file-storage now.
- Upgrade the site
- Login to dotlrn.org:8000/acs-admin/apm/
- Click on "Install packages"
- Select all upgrades except file storage
- From the data model scripts deselect workflow datamodell upgrade.
- Let it run and restart the server.
- Change the parameter for the default master in /admin to /www/dotlrn-master
- Make a backup of the database: pg_dump -p 5434 -f /web/dotlrn/database-backup/dotlrn-after-upgrade.dmp dotlrn
- Reload the datamodel and install the site from scratch:
- svc -d /service/dotlrn
- du - dotlrn
- . /etc/set-7.4.7-env
- dropdb -p 5434 dotlrn
- createdb -p 5434 dotlrn
- psql -f /web/dotlrn/database-backup/dotlrn.dmp -p 5434 dotlrn >import.log 2>&1
- psql -f /web/dotlrn/packages/workflow/sql/postgres/upgrade/upgrade-1.2-2.0d1.sql -p 5434 dotlrn (this failed in automtic source)
- Put site under svc control (/service/dotlrn). OLD SITE IS AT /service/dotlrn2!!!!
- Master Template Changes
- Create a new master template /www/dotlrn-master which contains the if clause to decide if we are in /dotlrn or not.
- Depending
on the decision, use the /www/dotlrn-org/master or the
/packages/dotlrn/www/dotlrn-master as the <master>
- ETP Changes
- Create a new dotlrn application in /packages/edit-this-page/tcl/etp-custom-init.tcl
- Copy the files from the article application
- Remove the list of content_items from the dotlrn-index.adp file
- Made changes to Lars Blogger
- add display_template code at the bottom of /packages/lars-blogger/www/blog.tcl
- added display_template to lars_blog_get_as_string_mem and lars_blog_get_as_string
- added
permalink_url to blog.tcl
- Scratching
my head if this should be committed to the package itself ....
- Upgrade the old site to AOLserver 40r10:
- Remove all modules that are 3.3 specific from /web/dotlrn2/etc/dotlrn2.tcl
- Add the loading of nsdb for AOLserver4 from the /web/dotlrn/etc/dotlrn.tcl file to dotlrn2.tcl
- cross fingers
- change the postgres module to load nspostgres.so
- mv /usr/local/aolserver /usr/local/aolserver-3-3
- ln
-s /usr/local/aolserver40r10 /usr/local/aolserver
- copy
nsd-postgres-7.3.4 from /usr/local/aolserver-3-3/bin to
/usr/local/aolserver/bin
- Change
the master template to /packages/dotlrn/www/dotlrn-master at
http://dotlrn.org:8000/admin
- Start
the site: /usr/local/aolserver40r10/bin/nsd-postgres -t
/web/dotlrn/etc/dotlrn.tcl
- Prepare the new site (/web/dotlrn)
- su - dotlrn
- cd /web/dotlrn/etc
- cp config.tcl dotlrn.tcl
- edit
dotlrn.tcl. Change server to "dotlrn", hostname and address as well as
the database port (5434). change serverroot to /web/${server}
- Dump and install dotlrn in the database
- su - postgres
- . /etc/set-7.3.4-env
- /usr/local/pgsql-7.4.7/bin/pg_dump -f /tmp/dotlrn.dmp dotlrn
- . /etc/set-7.4.7-env
- createuser -p 5434 dotlrn
- createdb -p 5434 dotlrn
- psql
-U dotlrn -f /tmp/dotlrn.dmp -p 5434 dotlrn
- Install tsearch2 for the dotlrn database:
psql -p 5434 -U dotlrn -f tsearch2.sql dotlrn - Get
latest .LRN sourcecode
- su - dotlrn
- cd
/web
- Get sourcecode from CVS: cvs -d :pserver:anonymous@cvs.openacs.org:/cvsroot co -r oacs-5-1 openacs-4
- mv openacs-4 dotlrn
- cd dotlrn/packages/
- cp -pur ../contrib/packages/events .
- Copy
the old www files over: cd /web/dotlrn2/www
- cp -pur images/ /web/dotlrn/www/
- cp -pur dotlrn-org/ /web/dotlrn/www/
- cp -pur index.vuh /web/dotlrn/www/
- cp -pur style/ /web/dotlrn/www/
- cp
-pur design/ /web/dotlrn/www/
- Move away oldest dotlrn
- mv /web/dotlrn/ /web/dotlrn.old
- mv /service/dotlrn/ /service/dotlrn.old
- edit /web/dotlrn.old/etc/dotlrn.tcl and /service/dotlrn.old/run to reflect the new location
- shut
down the old dotlrn site (1.x): svc -d /service/dotlrn.old
- Update AOLserver 4.0.10 and PostgreSQL 7.4.7 following the documentation (HEAD)
- AOLserver 4.0.10 resides in /usr/local/aolserver40r10
- PostgreSQL
7.4.7 resides in /usr/local/pgsql-7.4.7/
- Install tsearch2 for PostgreSQL:
- cd /usr/local/src/postgresql-7.4.7/contrib/tsearch2/
- make install
- Change Port for PostgreSQL 7.4.7 to 5434 in /usr/local/pgsql-7.4.7/data/postgresql.conf
- Edited the configuration file for the environment /etc/set-7.4.7-env. Remember to user psql -p 5434 to connect to the new database!
- Edited
the Kernel SHMMAX along with PostgreSQL parameters according to
documentation.
- FIX DNS PROBLEMS: dotlrn.mit.edu is not working (2004-05-27)
- DNS changes: dotlrn.org
- Switch to port 80 and delete the 1.0 based site
- Made changes to /web/dotlrn2/packages/lars-blogger/www/blog.tcl /web/dotlrn2/packages/lars-blogger/tcl/lars-blogger-procs.tcl and added /web/dotlrn2/packages/lars-blogger/www/titles.adp this is the include in the master.adp /web/dotlrn2/www/dotlrn-org/master.adp < %=[lars_blog_get_as_string -url "/news" -display_template /packages/lars-blogger/www/titles]% >
- Test/setup backup restore mechanism
- Removed the bulleted list in the etp default template. Copied the original file into the same directory (subnav-article-index.adp in the package templates folder I believe). Probably need to move this to our dotlrn-org folder
- Changed "Home" Parameter DefaultMaster (/shared/parameters) from /packages/dotlrn/www/dotlrn-master to /www/dotlrn-org/master
- Moved all custom and css code /web/dotlrn2/www/dotlrn-org so it will not get erased on site update
- Switch "Main Site" of context bar to "Home" (/admin/ -> Main Site Admin -> Configure -> Edit)
- Built basic site structure with etp
- Mounted instance of weblogger under /weblog
- Mounted instance of weblog under /news
- As
per: http://openacs.org/doc/edit-this-page/install
cd /web/dotlrn2/www
ln -s ../packages/edit-this-page/www/index.vuh . - Installed ETP using the APM
- Installed Weblogger using the APM
- Installed Events and ecommerece (events dependency) using the APM (also installed dependencies ref-countries, ref-language and ref-us-states, all from HEAD)
- Set site to auto-approve for .LRN in site admin parameters
- Added a couple of files furfly uses in all of their installations, do-backups.tcl and roll-error-log.tcl, both in /web/dotlrn2/tcl. Their purpose ought to be obvious from the names.
- Base install of .LRN 2.0.1 from tarball
- Installed Postgres in /usr/local/pgsql-7.3.4, because we already had an older version on the system that was in use by the original site. To switch your environment variables between the two, run ". /etc/set-7.3.4-env" or ". /etc/set-7.2.4-env", as the case may be.