Code

More help in admin tool.
[roundup.git] / MIGRATION.txt
1 Migrating to newer versions of Roundup
2 ======================================
5 Migrating from 0.2.x to 0.3.x
6 =============================
8 Cookie Authentication changes
9 -----------------------------
10 0.3.0 introduces cookie authentication - you will need to copy the
11 interfaces.py file from the roundup source to your instance home to enable
12 authentication. If you used the classic schema, the interfaces file is in:
14  <roundup source>/roundup/templates/classic/interfaces.py
16 If you used the extended schema, the file is in:
18  <roundup source>/roundup/templates/extended/interfaces.py
20 If you have modified your interfaces.Client class, you will need to take
21 note of the login/logout functionality provided in roundup.cgi_client.Client
22 (classic schema) or roundup.cgi_client.ExtendedClient (extended schema) and
23 modify your instance code apropriately.
26 Password encoding
27 -----------------
28 This release also introduces encoding of passwords in the database. If you
29 have not edited the dbinit.py file in your instance home directory, you may
30 simply copy the new dbinit.py file from the core code. If you used the
31 classic schema, the interfaces file is in:
33  <roundup source>/roundup/templates/classic/dbinit.py
35 If you used the extended schema, the file is in:
37  <roundup source>/roundup/templates/extended/dbinit.py
40 If you have modified your dbinit.py file, you may use encoded passwords:
42  1. Edit the dbinit.py file in your instance home directory
43  1a. At the first code line of the open() function:
45     from roundup.hyperdb import String, Date, Link, Multilink
47       alter to include Password, as so:
49     from roundup.hyperdb import String, Password, Date, Link, Multilink
51  1b. Where the password property is defined (around line 66):
53     user = Class(db, "user", 
54                     username=String(),   password=String(),
55                     address=String(),    realname=String(), 
56                     phone=String(),      organisation=String())
57     user.setkey("username")
59       alter the "password=String()" to "password=Password()":
61     user = Class(db, "user", 
62                     username=String(),   password=Password(),
63                     address=String(),    realname=String(), 
64                     phone=String(),      organisation=String())
65     user.setkey("username")
67  2. Any existing passwords in the database will remain cleartext until they
68     are edited. It is recommended that at a minimum the admin password be
69     changed immediately:
71       roundup-admin -i <instance home> set user1 password=<new password>