1 Implementation notes
2 ====================
4 [see also the roundup package docstring]
6 There have been some modifications to the spec. I've marked these in the
7 source with 'XXX' comments when I remember to.
9 In short:
10 Class.find() - may match multiple properties, uses keyword args.
12 Class.filter() - isn't in the spec and it's very useful to have at the Class
13 level.
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.
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).
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...
30 template - call="link(property)" may be used to link "the current node"
31 (from an index) - the link text is the property specified.
33 template - added functions that I found very useful: List, History and
34 Submit.
36 template - items must specify the message lists, history, etc. Having them
37 by default was sometimes not wanted.
39 template - index view determines its default columns from the template's
40 <property> tags.
42 template - menu() and field() look awfully similar now .... ;)
44 roundup.py - the command-line tool has a lot more commands at its disposal