Code

ANONYMOUS_ACCESS -> ANONYMOUS_REGISTER
[roundup.git] / MIGRATION.txt
1 Migrating to newer versions of Roundup
2 ======================================
4 Please read each section carefully and edit your instance home files
5 accordingly.
7 This file contains information for users upgrading from:
8   0.3.x -> 0.4.x
9   0.2.x -> 0.3.x
12 Migrating from 0.3.x to 0.4.x
13 =============================
15 Message-ID and In-Reply-To addition
16 -----------------------------------
17 0.4.0 adds the tracking of messages by message-id and allows threading
18 using in-reply-to. Most e-mail clients support threading using this
19 feature, and we hope to add support for it to the web gateway. If you
20 have not edited the dbinit.py file in your instance home directory, you may
21 simply copy the new dbinit.py file from the core code. If you used the
22 classic schema, the interfaces file is in:
24  <roundup source>/roundup/templates/classic/dbinit.py
26 If you used the extended schema, the file is in:
28  <roundup source>/roundup/templates/extended/dbinit.pybinit.py needs updating from the original. 
30 If you have modified your dbinit.py file, you may use encoded passwords:
32  1. Edit the dbinit.py file in your instance home directory. Find the lines
33  which define the msg class:
35     msg = FileClass(db, "msg",
36                     author=Link("user"), recipients=Multilink("user"),
37                     date=Date(),         summary=String(),
38                     files=Multilink("file"))
40  and add the messageid and inreplyto properties like so:
42     msg = FileClass(db, "msg",
43                     author=Link("user"), recipients=Multilink("user"),
44                     date=Date(),         summary=String(),
45                     files=Multilink("file"),
46                     messageid=String(),  inreplyto=String())
50 Migrating from 0.2.x to 0.3.x
51 =============================
53 Cookie Authentication changes
54 -----------------------------
55 0.3.0 introduces cookie authentication - you will need to copy the
56 interfaces.py file from the roundup source to your instance home to enable
57 authentication. If you used the classic schema, the interfaces file is in:
59  <roundup source>/roundup/templates/classic/interfaces.py
61 If you used the extended schema, the file is in:
63  <roundup source>/roundup/templates/extended/interfaces.py
65 If you have modified your interfaces.Client class, you will need to take
66 note of the login/logout functionality provided in roundup.cgi_client.Client
67 (classic schema) or roundup.cgi_client.ExtendedClient (extended schema) and
68 modify your instance code apropriately.
71 Password encoding
72 -----------------
73 This release also introduces encoding of passwords in the database. If you
74 have not edited the dbinit.py file in your instance home directory, you may
75 simply copy the new dbinit.py file from the core code. If you used the
76 classic schema, the interfaces file is in:
78  <roundup source>/roundup/templates/classic/dbinit.py
80 If you used the extended schema, the file is in:
82  <roundup source>/roundup/templates/extended/dbinit.py
85 If you have modified your dbinit.py file, you may use encoded passwords:
87  1. Edit the dbinit.py file in your instance home directory
88  1a. At the first code line of the open() function:
90     from roundup.hyperdb import String, Date, Link, Multilink
92       alter to include Password, as so:
94     from roundup.hyperdb import String, Password, Date, Link, Multilink
96  1b. Where the password property is defined (around line 66):
98     user = Class(db, "user", 
99                     username=String(),   password=String(),
100                     address=String(),    realname=String(), 
101                     phone=String(),      organisation=String())
102     user.setkey("username")
104       alter the "password=String()" to "password=Password()":
106     user = Class(db, "user", 
107                     username=String(),   password=Password(),
108                     address=String(),    realname=String(), 
109                     phone=String(),      organisation=String())
110     user.setkey("username")
112  2. Any existing passwords in the database will remain cleartext until they
113     are edited. It is recommended that at a minimum the admin password be
114     changed immediately:
116       roundup-admin -i <instance home> set user1 password=<new password>
119 Configuration
120 -------------
121 FILTER_POSITION, ANONYMOUS_ACCESS, ANONYMOUS_REGISTER have been added to
122 the instance_config.py. Simplest solution is to copy the default values from
123 template in the core source.
125 MESSAGES_TO_AUTHOR has been added to the IssueClass in dbinit.py. Set to 'yes'
126 to send nosy messages to the author. Default behaviour is to not send nosy
127 messages to the author. You will need to add MESSAGES_TO_AUTHOR to your
128 dbinit.py in your instance home.
131 CGI script roundup.cgi
132 ----------------------
133 There have been some structural changes to the roundup.cgi script - you will
134 need to install it again from the cgi-bin directory of the source
135 distribution. Make sure you update the ROUNDUP_INSTANCE_HOMES after the
136 copy.