From c7de3da6f2b4f003666c7adea4a84abb3116fef1 Mon Sep 17 00:00:00 2001 From: richard Date: Sat, 28 Jul 2001 06:44:34 +0000 Subject: [PATCH] Split off implementation notes into separate file in doc directory. Added some todo items to the README git-svn-id: http://svn.roundup-tracker.org/svnroot/roundup/trunk@117 57a73879-2fb5-44c3-a270-3262357dd7e2 --- CHANGES.txt | 8 ++++++ README.txt | 58 +++++------------------------------------- doc/implementation.txt | 45 ++++++++++++++++++++++++++++++++ 3 files changed, 59 insertions(+), 52 deletions(-) create mode 100644 doc/implementation.txt diff --git a/CHANGES.txt b/CHANGES.txt index 705d74f..9549629 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -86,3 +86,11 @@ Fixes: . Fixed some non-string node ids in cgi_client now that the hyperdb is strict about such things. + +2001-07-?? - 0.2.2 +Features: + . Added implementation.txt to the doc directory. Contains implementation + notes specific to this implementations of Roundup. + . Cleaned up mailgw some (subclass Message for getPart) and added some + tests for multipart splitting. + diff --git a/README.txt b/README.txt index 69ec3de..f57fde2 100644 --- a/README.txt +++ b/README.txt @@ -57,52 +57,7 @@ Index views may be modified by the following arguments: 3. Design ========= -This software was written according to the specification found at - - http://software-carpentry.codesourcery.com/entries/second-round/track/Roundup/ - -a copy of the spec is distributed with roundup as doc/spec.html. - - -There have been some modifications. I've marked these in the source with -'XXX' comments when I remember to. - -In short: - Class.find() - may match multiple properties, uses keyword args. - - Class.filter() - isn't in the spec and it's very useful to have at the Class - level. - - CGI interface index view specifier layout part - lose the '+' from the - sorting arguments (it's a reserved URL character ;). Just made no - prefix mean ascending and '-' prefix descending. - - ItemClass - renamed to IssueClass to better match it only having one - hypderdb class "issue". Allowing > 1 hyperdb class breaks the - "superseder" multilink (since it can only link to one thing, and we'd - want bugs to link to support and vice-versa). - - templates - the call="link()" is handled by special-case mechanisms in my - top-level CGI handler. In a nutshell, the handler looks for a method on - itself called 'index%s' or 'item%s' where %s is a class. Most items - pass on to the templating mechanism, but the file class _always_ does - downloading. It'll probably stay this way too... - - template - call="link(property)" may be used to link "the current node" - (from an index) - the link text is the property specified. - - template - added functions that I found very useful: List, History and - Submit. - - template - items must specify the message lists, history, etc. Having them - by default was sometimes not wanted. - - template - index view determines its default columns from the template's - tags. - - template - menu() and field() look awfully similar now .... ;) - - roundup.py - the command-line tool has a lot more commands at its disposal +See the information in the "doc" directory. @@ -111,11 +66,12 @@ In short: Most of the TODO items are captured in comments in the code. In summary: in general: + . more unit tests + . more back-ends . better error handling (nicer messages for users) . possibly revert the entire damn thing to 1.5.2 ... :( roundup.py: . getopt() for command line - . default init db in some way? hyperdb: . transaction support roundupdb: @@ -123,16 +79,14 @@ roundupdb: roundup-mailgw: . errors as attachments . snip signatures? -server: +roundup-server: . check the source file timestamps before reloading date: . blue Date.__sub__ needs food, badly -config - . default to blank config in distribution and warn appropriately -roundup_cgi +cgi_client . searching . keep form fields in form on bad submission - only clear it if all ok - . messages should have the roundup CGI URL in them + . e-mail messages should have the roundup CGI URL in them 5. Known Bugs diff --git a/doc/implementation.txt b/doc/implementation.txt new file mode 100644 index 0000000..7f3fa69 --- /dev/null +++ b/doc/implementation.txt @@ -0,0 +1,45 @@ +Implementation notes +==================== + +[see also the roundup package docstring] + +There have been some modifications to the spec. I've marked these in the +source with 'XXX' comments when I remember to. + +In short: + Class.find() - may match multiple properties, uses keyword args. + + Class.filter() - isn't in the spec and it's very useful to have at the Class + level. + + CGI interface index view specifier layout part - lose the '+' from the + sorting arguments (it's a reserved URL character ;). Just made no + prefix mean ascending and '-' prefix descending. + + ItemClass - renamed to IssueClass to better match it only having one + hypderdb class "issue". Allowing > 1 hyperdb class breaks the + "superseder" multilink (since it can only link to one thing, and we'd + want bugs to link to support and vice-versa). + + templates - the call="link()" is handled by special-case mechanisms in my + top-level CGI handler. In a nutshell, the handler looks for a method on + itself called 'index%s' or 'item%s' where %s is a class. Most items + pass on to the templating mechanism, but the file class _always_ does + downloading. It'll probably stay this way too... + + template - call="link(property)" may be used to link "the current node" + (from an index) - the link text is the property specified. + + template - added functions that I found very useful: List, History and + Submit. + + template - items must specify the message lists, history, etc. Having them + by default was sometimes not wanted. + + template - index view determines its default columns from the template's + tags. + + template - menu() and field() look awfully similar now .... ;) + + roundup.py - the command-line tool has a lot more commands at its disposal + -- 2.30.2