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.