Migrating to newer versions of Roundup
======================================
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>