view doc/implementation.txt @ 635:3d61b5d2243e

Added popup help for classes using the classhelp html template function. - add <display call="classhelp('priority', 'id,name,description')"> to an item page, and it generates a link to a popup window which displays the id, name and description for the priority class. The description field won't exist in most installations, but it will be added to the default templates.
author Richard Jones <richard@users.sourceforge.net>
date Thu, 21 Feb 2002 06:57:39 +0000
parents 6e8197a5880f
children c52122f38c9b 54333751e98d
line wrap: on
line source

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
    <property> tags.

 template - menu() and field() look awfully similar now .... ;)

 roundup.py - the command-line tool has a lot more commands at its disposal


Roundup Issue Tracker: http://roundup-tracker.org/