Code

More info for 0.2.x -> 0.3.0 migration
[roundup.git] / MIGRATION.txt
index 64d70fa880a092ac4b4e884673f580a6c4fe242a..251633dd86df4d94746bf6b6e73af6a0bec0218b 100644 (file)
@@ -2,9 +2,11 @@ Migrating to newer versions of Roundup
 ======================================
 
 
-0.2.x -> 0.3.x
---------------
+Migrating from 0.2.x to 0.3.x
+=============================
 
+Cookie Authentication changes
+-----------------------------
 0.3.0 introduces cookie authentication - you will need to copy the
 interfaces.py file from the roundup source to your instance home to enable
 authentication. If you used the classic schema, the interfaces file is in:
@@ -15,13 +17,30 @@ If you used the extended schema, the file is in:
 
  <roundup source>/roundup/templates/extended/interfaces.py
 
+If you have modified your interfaces.Client class, you will need to take
+note of the login/logout functionality provided in roundup.cgi_client.Client
+(classic schema) or roundup.cgi_client.ExtendedClient (extended schema) and
+modify your instance code apropriately.
 
-This release also introduces encryption of passwords in the database. To
-use the encrypted passwords in your existing database, you will need to
-modify your schema.
+
+Password encoding
+-----------------
+This release also introduces encoding of passwords in the database. If you
+have not edited the dbinit.py file in your instance home directory, you may
+simply copy the new dbinit.py file from the core code. If you used the
+classic schema, the interfaces file is in:
+
+ <roundup source>/roundup/templates/classic/dbinit.py
+
+If you used the extended schema, the file is in:
+
+ <roundup source>/roundup/templates/extended/dbinit.py
+
+
+If you have modified your dbinit.py file, you may use encoded passwords:
 
  1. Edit the dbinit.py file in your instance home directory
- 1a. Around line 47 (the first code line of the open() function):
+ 1a. At the first code line of the open() function:
 
     from roundup.hyperdb import String, Date, Link, Multilink
 
@@ -29,13 +48,21 @@ modify your schema.
 
     from roundup.hyperdb import String, Password, Date, Link, Multilink
 
- 1b. Around line 66 (after the 'user = Class(db, "user, ' line):
+ 1b. Where the password property is defined (around line 66):
 
+    user = Class(db, "user", 
                     username=String(),   password=String(),
+                    address=String(),    realname=String(), 
+                    phone=String(),      organisation=String())
+    user.setkey("username")
 
-      alter so it reads:
+      alter the "password=String()" to "password=Password()":
 
+    user = Class(db, "user", 
                     username=String(),   password=Password(),
+                    address=String(),    realname=String(), 
+                    phone=String(),      organisation=String())
+    user.setkey("username")
 
  2. Any existing passwords in the database will remain cleartext until they
     are edited. It is recommended that at a minimum the admin password be
@@ -43,5 +70,3 @@ modify your schema.
 
       roundup-admin -i <instance home> set user1 password=<new password>
 
-
-