Skip to content

Commit 39a0eff

Browse files
author
Richard Jones
committed
Split off implementation notes into separate file in doc directory.
Added some todo items to the README
1 parent 0460cab commit 39a0eff

File tree

3 files changed

+59
-52
lines changed

3 files changed

+59
-52
lines changed

CHANGES.txt

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,3 +86,11 @@ Fixes:
8686
. Fixed some non-string node ids in cgi_client now that the hyperdb is
8787
strict about such things.
8888

89+
90+
2001-07-?? - 0.2.2
91+
Features:
92+
. Added implementation.txt to the doc directory. Contains implementation
93+
notes specific to this implementations of Roundup.
94+
. Cleaned up mailgw some (subclass Message for getPart) and added some
95+
tests for multipart splitting.
96+

README.txt

Lines changed: 6 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -57,52 +57,7 @@ Index views may be modified by the following arguments:
5757

5858
3. Design
5959
=========
60-
This software was written according to the specification found at
61-
62-
http://software-carpentry.codesourcery.com/entries/second-round/track/Roundup/
63-
64-
a copy of the spec is distributed with roundup as doc/spec.html.
65-
66-
67-
There have been some modifications. I've marked these in the source with
68-
'XXX' comments when I remember to.
69-
70-
In short:
71-
Class.find() - may match multiple properties, uses keyword args.
72-
73-
Class.filter() - isn't in the spec and it's very useful to have at the Class
74-
level.
75-
76-
CGI interface index view specifier layout part - lose the '+' from the
77-
sorting arguments (it's a reserved URL character ;). Just made no
78-
prefix mean ascending and '-' prefix descending.
79-
80-
ItemClass - renamed to IssueClass to better match it only having one
81-
hypderdb class "issue". Allowing > 1 hyperdb class breaks the
82-
"superseder" multilink (since it can only link to one thing, and we'd
83-
want bugs to link to support and vice-versa).
84-
85-
templates - the call="link()" is handled by special-case mechanisms in my
86-
top-level CGI handler. In a nutshell, the handler looks for a method on
87-
itself called 'index%s' or 'item%s' where %s is a class. Most items
88-
pass on to the templating mechanism, but the file class _always_ does
89-
downloading. It'll probably stay this way too...
90-
91-
template - call="link(property)" may be used to link "the current node"
92-
(from an index) - the link text is the property specified.
93-
94-
template - added functions that I found very useful: List, History and
95-
Submit.
96-
97-
template - items must specify the message lists, history, etc. Having them
98-
by default was sometimes not wanted.
99-
100-
template - index view determines its default columns from the template's
101-
<property> tags.
102-
103-
template - menu() and field() look awfully similar now .... ;)
104-
105-
roundup.py - the command-line tool has a lot more commands at its disposal
60+
See the information in the "doc" directory.
10661

10762

10863

@@ -111,28 +66,27 @@ In short:
11166
Most of the TODO items are captured in comments in the code. In summary:
11267

11368
in general:
69+
. more unit tests
70+
. more back-ends
11471
. better error handling (nicer messages for users)
11572
. possibly revert the entire damn thing to 1.5.2 ... :(
11673
roundup.py:
11774
. getopt() for command line
118-
. default init db in some way?
11975
hyperdb:
12076
. transaction support
12177
roundupdb:
12278
. split the file storage into multiple files
12379
roundup-mailgw:
12480
. errors as attachments
12581
. snip signatures?
126-
server:
82+
roundup-server:
12783
. check the source file timestamps before reloading
12884
date:
12985
. blue Date.__sub__ needs food, badly
130-
config
131-
. default to blank config in distribution and warn appropriately
132-
roundup_cgi
86+
cgi_client
13387
. searching
13488
. keep form fields in form on bad submission - only clear it if all ok
135-
. messages should have the roundup CGI URL in them
89+
. e-mail messages should have the roundup CGI URL in them
13690

13791

13892
5. Known Bugs

doc/implementation.txt

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
Implementation notes
2+
====================
3+
4+
[see also the roundup package docstring]
5+
6+
There have been some modifications to the spec. I've marked these in the
7+
source with 'XXX' comments when I remember to.
8+
9+
In short:
10+
Class.find() - may match multiple properties, uses keyword args.
11+
12+
Class.filter() - isn't in the spec and it's very useful to have at the Class
13+
level.
14+
15+
CGI interface index view specifier layout part - lose the '+' from the
16+
sorting arguments (it's a reserved URL character ;). Just made no
17+
prefix mean ascending and '-' prefix descending.
18+
19+
ItemClass - renamed to IssueClass to better match it only having one
20+
hypderdb class "issue". Allowing > 1 hyperdb class breaks the
21+
"superseder" multilink (since it can only link to one thing, and we'd
22+
want bugs to link to support and vice-versa).
23+
24+
templates - the call="link()" is handled by special-case mechanisms in my
25+
top-level CGI handler. In a nutshell, the handler looks for a method on
26+
itself called 'index%s' or 'item%s' where %s is a class. Most items
27+
pass on to the templating mechanism, but the file class _always_ does
28+
downloading. It'll probably stay this way too...
29+
30+
template - call="link(property)" may be used to link "the current node"
31+
(from an index) - the link text is the property specified.
32+
33+
template - added functions that I found very useful: List, History and
34+
Submit.
35+
36+
template - items must specify the message lists, history, etc. Having them
37+
by default was sometimes not wanted.
38+
39+
template - index view determines its default columns from the template's
40+
<property> tags.
41+
42+
template - menu() and field() look awfully similar now .... ;)
43+
44+
roundup.py - the command-line tool has a lot more commands at its disposal
45+

0 commit comments

Comments
 (0)