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.