view MIGRATION.txt @ 519:2dd8571ca738

fixes to migration text
author Richard Jones <richard@users.sourceforge.net>
date Fri, 11 Jan 2002 03:34:52 +0000
parents 5f8b959a704b
children dce4c75bef5a
line wrap: on
line source

Migrating to newer versions of Roundup
======================================

Please read each section carefully and edit your instance home files
accordingly.

This file contains information for users upgrading from:
  0.3.x -> 0.4.x
  0.2.x -> 0.3.x


Migrating from 0.3.x to 0.4.x
=============================

Message-ID and In-Reply-To addition
-----------------------------------
0.4.0 adds the tracking of messages by message-id and allows threading
using in-reply-to. Most e-mail clients support threading using this
feature, and we hope to add support for it to the web gateway. 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. Find the lines
 which define the msg class:

    msg = FileClass(db, "msg",
                    author=Link("user"), recipients=Multilink("user"),
                    date=Date(),         summary=String(),
                    files=Multilink("file"))

 and add the messageid and inreplyto properties like so:

    msg = FileClass(db, "msg",
                    author=Link("user"), recipients=Multilink("user"),
                    date=Date(),         summary=String(),
                    files=Multilink("file"),
                    messageid=String(),  inreplyto=String())

Configuration
-------------
INSTANCE_NAME and EMAIL_SIGNATURE_POSITION have been added to the
instance_config.py. Simplest solution is to copy the default values from
template in the core source.

INSTANCE_NAME needs to be added to the Client class in your interfaces.py
file. INSTANCE_NAME and ANONYMOUS_REGISTER need to be added to the MailGW
class in your interfaces.py file. In both cases if might be easier to just
copy the file from the core source (roundup/templates/[schema]/interfaces.py)
where schema is "classic" or "extended".


CGI script roundup.cgi
----------------------
The CGI script has been updated with some features and a bugfix, so you should
copy it from the roundup cgi-bin source directory again. Make sure you update
the ROUNDUP_INSTANCE_HOMES after the copy.


Nosy reactor
------------
The nosy reactor has also changed - copy the nosyreactor.py file from the core
source roundup/templates/[schema]/detectors/nosyreactor.py to your instance
home "detectors" directory.



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:

 <roundup source>/roundup/templates/classic/interfaces.py

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.


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. At the first code line of the open() function:

    from roundup.hyperdb import String, Date, Link, Multilink

      alter to include Password, as so:

    from roundup.hyperdb import String, Password, Date, Link, Multilink

 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 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
    changed immediately:

      roundup-admin -i <instance home> set user1 password=<new password>


Configuration
-------------
FILTER_POSITION, ANONYMOUS_ACCESS, ANONYMOUS_REGISTER have been added to
the instance_config.py. Simplest solution is to copy the default values from
template in the core source.

MESSAGES_TO_AUTHOR has been added to the IssueClass in dbinit.py. Set to 'yes'
to send nosy messages to the author. Default behaviour is to not send nosy
messages to the author. You will need to add MESSAGES_TO_AUTHOR to your
dbinit.py in your instance home.


CGI script roundup.cgi
----------------------
There have been some structural changes to the roundup.cgi script - you will
need to install it again from the cgi-bin directory of the source
distribution. Make sure you update the ROUNDUP_INSTANCE_HOMES after the
copy.




Roundup Issue Tracker: http://roundup-tracker.org/