Code

. #502437 ] rogue reactor and unittest
[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.py 
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())
48 Configuration
49 -------------
50 INSTANCE_NAME and EMAIL_SIGNATURE_POSITION have been added to the
51 instance_config.py. Simplest solution is to copy the default values from
52 template in the core source.
54 INSTANCE_NAME needs to be added to the Client class in your interfaces.py
55 file. INSTANCE_NAME and ANONYMOUS_REGISTER need to be added to the MailGW
56 class in your interfaces.py file. In both cases if might be easier to just
57 copy the file from the core source (roundup/templates/[schema]/interfaces.py)
58 where schema is "classic" or "extended".
61 CGI script roundup.cgi
62 ----------------------
63 The CGI script has been updated with some features and a bugfix, so you should
64 copy it from the roundup cgi-bin source directory again. Make sure you update
65 the ROUNDUP_INSTANCE_HOMES after the copy.
68 Nosy reactor
69 ------------
70 The nosy reactor has also changed - copy the nosyreactor.py file from the core
71 source roundup/templates/[schema]/detectors/nosyreactor.py to your instance
72 home "detectors" directory.
76 Migrating from 0.2.x to 0.3.x
77 =============================
79 Cookie Authentication changes
80 -----------------------------
81 0.3.0 introduces cookie authentication - you will need to copy the
82 interfaces.py file from the roundup source to your instance home to enable
83 authentication. If you used the classic schema, the interfaces file is in:
85  <roundup source>/roundup/templates/classic/interfaces.py
87 If you used the extended schema, the file is in:
89  <roundup source>/roundup/templates/extended/interfaces.py
91 If you have modified your interfaces.Client class, you will need to take
92 note of the login/logout functionality provided in roundup.cgi_client.Client
93 (classic schema) or roundup.cgi_client.ExtendedClient (extended schema) and
94 modify your instance code apropriately.
97 Password encoding
98 -----------------
99 This release also introduces encoding of passwords in the database. If you
100 have not edited the dbinit.py file in your instance home directory, you may
101 simply copy the new dbinit.py file from the core code. If you used the
102 classic schema, the interfaces file is in:
104  <roundup source>/roundup/templates/classic/dbinit.py
106 If you used the extended schema, the file is in:
108  <roundup source>/roundup/templates/extended/dbinit.py
111 If you have modified your dbinit.py file, you may use encoded passwords:
113  1. Edit the dbinit.py file in your instance home directory
114  1a. At the first code line of the open() function:
116     from roundup.hyperdb import String, Date, Link, Multilink
118       alter to include Password, as so:
120     from roundup.hyperdb import String, Password, Date, Link, Multilink
122  1b. Where the password property is defined (around line 66):
124     user = Class(db, "user", 
125                     username=String(),   password=String(),
126                     address=String(),    realname=String(), 
127                     phone=String(),      organisation=String())
128     user.setkey("username")
130       alter the "password=String()" to "password=Password()":
132     user = Class(db, "user", 
133                     username=String(),   password=Password(),
134                     address=String(),    realname=String(), 
135                     phone=String(),      organisation=String())
136     user.setkey("username")
138  2. Any existing passwords in the database will remain cleartext until they
139     are edited. It is recommended that at a minimum the admin password be
140     changed immediately:
142       roundup-admin -i <instance home> set user1 password=<new password>
145 Configuration
146 -------------
147 FILTER_POSITION, ANONYMOUS_ACCESS, ANONYMOUS_REGISTER have been added to
148 the instance_config.py. Simplest solution is to copy the default values from
149 template in the core source.
151 MESSAGES_TO_AUTHOR has been added to the IssueClass in dbinit.py. Set to 'yes'
152 to send nosy messages to the author. Default behaviour is to not send nosy
153 messages to the author. You will need to add MESSAGES_TO_AUTHOR to your
154 dbinit.py in your instance home.
157 CGI script roundup.cgi
158 ----------------------
159 There have been some structural changes to the roundup.cgi script - you will
160 need to install it again from the cgi-bin directory of the source
161 distribution. Make sure you update the ROUNDUP_INSTANCE_HOMES after the
162 copy.