From 15e9428f1f3325dd61c3237575c2f4249880b7ca Mon Sep 17 00:00:00 2001 From: richard Date: Sun, 14 Jul 2002 06:14:40 +0000 Subject: [PATCH] Some more TODOs git-svn-id: http://svn.roundup-tracker.org/svnroot/roundup/trunk@876 57a73879-2fb5-44c3-a270-3262357dd7e2 --- CHANGES.txt | 1 + TODO.txt | 14 +++++++++++--- roundup/backends/blobfiles.py | 22 +++++++++++++++++----- roundup/cgi_client.py | 15 +++++++++------ 4 files changed, 38 insertions(+), 14 deletions(-) diff --git a/CHANGES.txt b/CHANGES.txt index 3558ca1..8fe5cd3 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -8,6 +8,7 @@ Fixed: . made the unit tests run again - they were quite b0rken . #571170 ] gdbm deadlock . #576241 ] MultiLink problems in parsePropsFromForm + . fixed the date module so that Date(". - 2d") works Feature: . cleaned up the indexer code: diff --git a/TODO.txt b/TODO.txt index 0c89321..acf4b24 100644 --- a/TODO.txt +++ b/TODO.txt @@ -1,4 +1,8 @@ -Implementation plan for 0.5 release: +General Roundup project TODO list. Note that some of these are semi-formed +ideas. Those ideas that don't make the cutoff for the next major release are +punted automatically into the subsequent major release TODO. + +For 0.5 release: State Description ------------------------------------------------------------------------------ @@ -15,11 +19,15 @@ pending journalling: fix the journal bloat related: Re-enable link backrefs from messages feature request #568714 pending alternative user auth: at least an LDAP implementation -active security overhaul: see doc/security.txt -done - switch to sessions for web authentication (RJ) +active security overhaul: see doc/security.txt (RJ) +done - switch to sessions for web authentication - authenticate over a secure connection - implement and use the new logical control mechanisms - use digital signatures in mailgw +active implement an RDB backend (RJ) +done - further split the *dbm backends from the core code, allowing + easier non-dict-like backends (eg metakit, RDB) + - write a backend for gadfly pending fix double-submit by having new-item-submit redirect at end pending split instance.open() into open() and login() pending range searching of values (dates in particular) diff --git a/roundup/backends/blobfiles.py b/roundup/backends/blobfiles.py index 62da5fa..e74f05c 100644 --- a/roundup/backends/blobfiles.py +++ b/roundup/backends/blobfiles.py @@ -15,7 +15,7 @@ # BASIS, AND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE, # SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. # -#$Id: blobfiles.py,v 1.6 2002-07-09 03:02:52 richard Exp $ +#$Id: blobfiles.py,v 1.7 2002-07-14 06:14:40 richard Exp $ ''' This module exports file storage for roundup backends. Files are stored into a directory hierarchy. @@ -37,10 +37,6 @@ def files_in_dir(dir): class FileStorage: """Store files in some directory structure""" -# TODO: maybe set "files" -# def __init__(self): -# pass - def filename(self, classname, nodeid, property=None): '''Determine what the filename for the given node and optionally property is. @@ -130,6 +126,22 @@ class FileStorage: os.remove(name+".tmp") # $Log: not supported by cvs2svn $ +# Revision 1.6 2002/07/09 03:02:52 richard +# More indexer work: +# - all String properties may now be indexed too. Currently there's a bit of +# "issue" specific code in the actual searching which needs to be +# addressed. In a nutshell: +# + pass 'indexme="yes"' as a String() property initialisation arg, eg: +# file = FileClass(db, "file", name=String(), type=String(), +# comment=String(indexme="yes")) +# + the comment will then be indexed and be searchable, with the results +# related back to the issue that the file is linked to +# - as a result of this work, the FileClass has a default MIME type that may +# be overridden in a subclass, or by the use of a "type" property as is +# done in the default templates. +# - the regeneration of the indexes (if necessary) is done once the schema is +# set up in the dbinit. +# # Revision 1.5 2002/07/08 06:58:15 richard # cleaned up the indexer code: # - it splits more words out (much simpler, faster splitter) diff --git a/roundup/cgi_client.py b/roundup/cgi_client.py index ffef8ed..72b3758 100644 --- a/roundup/cgi_client.py +++ b/roundup/cgi_client.py @@ -15,7 +15,7 @@ # BASIS, AND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE, # SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. # -# $Id: cgi_client.py,v 1.138 2002-07-14 04:03:13 richard Exp $ +# $Id: cgi_client.py,v 1.139 2002-07-14 06:14:40 richard Exp $ __doc__ = """ WWW request handler (also used in the stand-alone server). @@ -407,7 +407,6 @@ function help_window(helpurl, width, height) { columns = d['COLUMNS'] filterspec = d['FILTERSPEC'] pagesize = d.get('PAGESIZE', '50') - else: # nope - fall back on the old way of doing it self.classname = 'issue' @@ -1137,7 +1136,7 @@ function help_window(helpurl, width, height) { # re-open the database as "admin" self.opendb('admin') - # TODO: pre-check the required fields and username key property + # create the new user cl = self.db.user try: props = parsePropsFromForm(self.db, cl, self.form) @@ -1146,6 +1145,8 @@ function help_window(helpurl, width, height) { action = self.form['__destination_url'].value self.login(message, action=action) return 0 + + # log the new user in self.user = cl.get(uid, 'username') # re-open the database for real, using the user self.opendb(self.user) @@ -1175,8 +1176,6 @@ function help_window(helpurl, width, height) { self.db.commit() # expire us in a long, long time - # TODO: hrm, how long should this be, and how many sessions can one - # user have? expire = Cookie._getdate(86400*365) # generate the cookie path - make sure it has a trailing '/' @@ -1233,7 +1232,7 @@ function help_window(helpurl, width, height) { sessions = self.db.getclass('__sessions') # age sessions, remove when they haven't been used for a week - # TODO: this doesn't need to be done every access + # TODO: this shouldn't be done every access week = date.Interval('7d') now = date.Date() for sessid in sessions.list(): @@ -1500,6 +1499,10 @@ def parsePropsFromForm(db, cl, form, nodeid=0, num_re=re.compile('^\d+$')): # # $Log: not supported by cvs2svn $ +# Revision 1.138 2002/07/14 04:03:13 richard +# Implemented a switch to disable journalling for a Class. CGI session +# database now uses it. +# # Revision 1.137 2002/07/10 07:00:30 richard # removed debugging # -- 2.30.2