MIGRATION WALKTHRU ------------------ 0) You should add two parameters to ad_user_new; registration_date and peeraddr. (supply a patch, olah) 1) Edit nsd.tcl for the OpenACS 4 server: ns_section ns/db/pools ns_param pool1 "Pool 1" ns_param pool2 "Pool 2" ns_param pool3 "Pool 3" # Define a pool pointing to the [Open]ACS 3.x db you want to migrate. # The migration scripts assume its name is "acs32". ns_param acs32 "OpenACS 3.2 pool" # Define which pools are for use by OpenACS 4. # The "acs32" pool mustn't be included. ns_section "ns/server/${server}/acs/database" ns_param AvailablePool "pool1" ns_param AvailablePool "pool2" ns_param AvailablePool "pool3" ... # pool pointing to an OpenACS 3.2 db (local or remote) ns_section ns/db/pool/acs32 ns_param maxidle 1000000000 ns_param maxopen 1000000000 ns_param connections 5 ns_param verbose $debug ns_param extendedtableinfo true ns_param logsqlerrors $debug if { $database == "oracle" } { ns_param driver ora8 ns_param datasource {} ns_param user migr-db-name ns_param password migr-db_password } else { ns_param driver postgres ns_param datasource localhost::migr-db-name ns_param user nsadmin ns_param password "" } (change "migr-db-name" and "migr-db_password" to something relevant) I had to increase the stacksize to the following when I migrated ~4900 openacs.org users ([expr 1024 * 512] wasn't enough): ns_section ns/threads ns_param stacksize [expr 1024 * 1024] 1½) Start/restart the 4.x server. 2) Load the migration tables into the OpenACS 4 database (the example is for PostgreSQL): cd /path/to/bboard/migr/scripts/ psql -f maps.sql openacs4-db-name 3) Backup the destination (OpenACS 4) database (so you have something to go back to if things screw up). 4) Run user-migr.tcl 5) run forum-migr.tcl (first find and replace the package_id for "forums" or "bboard" with your actual package_id (it is hardcoded). One way to find it is to look under /pemissions) 6) make sure attachments is not installed and mounted and the server restarted.(?) 7) run msg-migr.tcl (replace the hardcoded package_id) 8) run subs_forum_migr.tcl (replace the hardcoded package_id) 9) run subs_thread_migr.tcl (replace the hardcoded package_id) Done.