Mercurial > p > roundup > code
diff README.TXT @ 53:a117296dd59c
renamed the text files so that they're recognised as text files on windows
added INSTALL.TXT
| author | Richard Jones <richard@users.sourceforge.net> |
|---|---|
| date | Mon, 23 Jul 2001 08:55:04 +0000 |
| parents | |
| children | 8233840961e3 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/README.TXT Mon Jul 23 08:55:04 2001 +0000 @@ -0,0 +1,157 @@ + Roundup + ======= + + +1. License +========== +This software is released under the GNU GPL. The copyright is held by Bizar +Software Pty Ltd (http://www.bizarsoftware.com.au). + +The stylesheet included with this package has been copied from the Zope +management interface and presumably belongs to Digital Creations. + + +2. Installation +=============== +For installation notes, please see the file INSTALL.TXT + + +3. Usage +======== +The system is designed to accessed through the command-line, e-mail or web +interface. + +3.1 Command-line +---------------- +The command-line tool is called "roundup-admin" and is used for most low-level +database manipulations such as: + . creating a database instance + . redefining the list of products ("create" and "retire" commands) + . adding users manually, or setting their passwords ("create" and "set") + . other stuff - run it with no arguments to get a better description of + what it does. + + +3.2 E-mail +---------- +See the docstring at the start of the roundup/mailgw.py source file. + + +3.3 Web +------- +Hopefully, this interface is pretty self-explanatory... + +Index views may be modified by the following arguments: + :sort - sort by prop name, optionally preceeded with '-' + to give descending or nothing for ascending sorting. + :group - group by prop name, optionally preceeded with '-' or + to sort in descending or nothing for ascending order. + :filter - selects which props should be displayed in the filter + section. Default is all. + :columns - selects the columns that should be displayed. + Default is all. + propname - selects the values the node properties given by propname + must have (very basic search/filter). + + + +3. Design +========= +This software was written according to the specification found at + http://software-carpentry.codesourcery.com/entries/second-round/track/Roundup/ + +... with 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 + <property> tags. + + template - menu() and field() look awfully similar now .... ;) + + roundup.py - the command-line tool has a lot more commands at its disposal + + + +4. TODO +======= +Most of the TODO items are captured in comments in the code. In summary: + +in general: + . 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: + . split the file storage into multiple files +roundup-mailgw: + . errors as attachments + . snip signatures? +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 + . searching + . keep form fields in form on bad submission - only clear it if all ok + . messages should have the roundup CGI URL in them + + +5. Known Bugs +============= + +date: + . date subtraction doesn't work correctly "if the dates cross leap years, + phases of the moon, ..." + +filter: + . incorrectly embeds hidden fields for filters being displayed - and + doesn't use the existing values for filters being displayed either. + + +6. Author +========= +richard@bizarsoftware.com.au + + +7. Thanks +========= +Well, Ping, of course ;) + +Anthony Baxter, for some good first-release feedback. And then continuing +support through development on sourceforge. +
