annotate doc/original_overview.html @ 4557:33a1f03b9de0

Remove $-cookies that have been misleading since roundup moved off CVS. One of these, a $Date$ cookie, might accidentally expanded correctly by Subversion *if* keyword expansion was enabled on that file; but judging by the ancientness of the date, it probably wasn't. In any case, git doesn't do any keyword expansion at all, so there isn't an equivalent to translate these into.
author Eric S. Raymond <esr@thyrsus.com>
date Mon, 31 Oct 2011 17:48:11 -0400
parents 1ac46e7e4150
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1588
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
1 <!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN">
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
2 <html><head>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
3 <title>Roundup: an Issue-Tracking System for Knowledge Workers</title>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
4 <link rev=made href="mailto:ping@lfw.org">
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
5 </head><body>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
6
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
7 <table width="100%">
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
8 <tr>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
9
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
10 <td align="left">
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
11 <a href="http://www.software-carpentry.com">
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
12 <img src="images/logo-software-carpentry-standard.png" alt="[Software Carpentry logo]" border="0">
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
13 </a>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
14 </td>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
15
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
16 <td align="right">
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
17 <table>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
18 <tr><td>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
19 <a href="http://www.acl.lanl.gov">
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
20 <img src="images/logo-acl-medium.png" alt="[ACL Logo]" border="0">
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
21 </a>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
22 </td></tr>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
23 <tr><td><hr></td></tr>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
24 <tr><td>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
25 <a href="http://www.codesourcery.com">
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
26 <img src="images/logo-codesourcery-medium.png" alt="[CodeSourcery Logo]" border="0">
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
27 </a>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
28 </td></tr>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
29 </table>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
30 </td>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
31
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
32 </tr>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
33
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
34 <tr>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
35
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
36 <td colspan="2"><em>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
37 Copyright (c) 2000 Ka-Ping Yee. This material may
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
38 be distributed only subject to the terms and conditions set forth in
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
39 the Software Carpentry Open Publication License, which is available at:
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
40 <center>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
41 <a href="http://www.software-carpentry.com/openpub-license.html">http://www.software-carpentry.com/openpub-license.html</a>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
42 </center>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
43 </em></td>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
44
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
45 </tr>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
46 </table>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
47
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
48 <p><hr><p>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
49
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
50
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
51 <h1 align=center>Roundup</h1>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
52 <h3 align=center>An Issue-Tracking System for Knowledge Workers</h3>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
53 <h4 align=center>Ka-Ping Yee</h4>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
54 <h4 align=center><a href="http://www.lfw.org/">lfw discorporated</a><br>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
55 <a href="mailto:ping@lfw.org">ping@lfw.org</a></h4>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
56
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
57 <!-- the following line will start a comment in lynx -soft_dquotes mode -->
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
58 <p style="><!--">
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
59
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
60 <p><hr>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
61 <h2>Contents</h2>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
62
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
63 <ul>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
64 <li><a href="#overview">Overview</a>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
65 <li><a href="#background">Background</a>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
66 <ul>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
67 <li><a href="#principles">Guiding Principles</a>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
68 </ul>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
69 <li><a href="#data">Data Model</a>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
70 <ul>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
71 <li><a href="#hyperdb">The Hyperdatabase</a>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
72 <li><a href="#rationale">Rationale</a>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
73 <li><a href="#roundupdb">Roundup's Hyperdatabase</a>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
74 <li><a href="#schema">The Default Schema</a>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
75 </ul>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
76 <li><a href="#ui">User Interface</a>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
77 <ul>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
78 <li><a href="#discuss">Submission and Discussion (Nosy Lists)</a>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
79 <li><a href="#edit">Editing (Templated UI)</a>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
80 <li><a href="#browse">Browsing and Searching</a>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
81 </ul>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
82 <li><a href="#devplan">Development Plan</a>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
83 <li><a href="#issues">Open Issues</a>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
84 <li><a href="#summary">Summary</a>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
85 <li><a href="#ack">Acknowledgements</a>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
86 </ul>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
87
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
88 <!-- this comment will end the comment started in lynx -soft_dquotes mode -->
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
89
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
90 <p><hr>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
91 <h2><a name="overview">Overview</a></h2>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
92
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
93 <p>We propose an issue-tracking system called
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
94 <em>Roundup</em>, which will manage a number of issues
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
95 (with properties such as "description", "priority", and so on)
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
96 and provide the ability to
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
97 (a) submit new issues,
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
98 (b) find and edit existing issues,
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
99 and
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
100 (c) discuss issues with other participants.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
101 The system will facilitate communication
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
102 among the participants by managing discussions and
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
103 notifying interested parties when issues are edited.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
104
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
105 <p>This design draws on experience from
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
106 <a href="http://www.lfw.org/ping/roundup.html">an existing
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
107 implementation</a> which we will refer to
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
108 as "the Roundup prototype".
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
109 The graphical interface we have in mind will resemble
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
110 <a href="http://www.lfw.org/ping/roundup-1.png">
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
111 the main display of the prototype</a>.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
112
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
113 <p align=center>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
114 <a href="images/roundup-1.png">
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
115 <img src="images/roundup.png" width=358 height=205 border=0 alt=""></a>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
116
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
117 <p><hr>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
118 <h2><a name="background">Background</a></h2>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
119
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
120 <p>A typical software project requires the management of
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
121 many tasks, usually distributed among several collaborators.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
122 In fact, any project team
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
123 could use a tool for sorting out and discussing all the
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
124 relevant issues. A common approach is to set up some kind
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
125 of "to-do" list that people can share.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
126
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
127 <p>However, to address the overall problem we need much more
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
128 than just a shared to-do list; we need to
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
129 manage a growing body of knowledge and experience to help a
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
130 team collaborate effectively on a project. The issue-tracking
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
131 tool becomes a nexus for communication: the Grand Central
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
132 Station of the group intelligence.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
133
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
134 <p>The primary focus of this design is to help
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
135 developers work together well, not to provide a customer
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
136 service interface to the developers. This is not to say that
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
137 the design is to be made unsuitable for customers to use.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
138 Rather, it is assumed that many of the same qualities
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
139 that are good for supporting development (see below)
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
140 are also good for non-developers using the system.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
141 Additional niceties
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
142 for providing a safe or simplified interface to clients are
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
143 intentionally deferred for later consideration.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
144
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
145 <p>A good issue-tracking system should have at least the
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
146 following properties:
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
147
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
148 <p><table align=right width="40%" bgcolor="#808080"
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
149 cellspacing=0 cellpadding=0 border=0><tr><td
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
150 ><table bgcolor="#e8e8e8" width="100%"
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
151 cellspacing=0 cellpadding=5 border=0><tr><td
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
152 ><p><font color="#808080"><small>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
153 With a nod to the time-honoured computer science tradition
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
154 of "filling in the fourth quadrant", we note that
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
155 there are really four kinds of information flow
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
156 going on here. The three mentioned qualities
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
157 really address the first three quadrants of this 2-by-2 matrix,
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
158 respectively:
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
159
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
160 <ol>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
161 <li>User push: a user submits information to the system.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
162 <li>User pull: a user queries for information from the system.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
163 <li>System push: the system sends information out to users.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
164 <li>System pull: the system solicits information from users.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
165 </ol>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
166
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
167 An example of the fourth kind of flow is voting.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
168 Voting isn't described in this design,
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
169 but it should be noted as a potential enhancement.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
170 </small></font></td></tr></table></td></tr></table>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
171
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
172 <ol>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
173 <li><strong>Low barrier to participation.</strong>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
174 The usefulness of the tool depends entirely on the
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
175 information people contribute to it. It must be made
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
176 as easy as possible to submit new issues and contribute
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
177 information about existing issues.<p>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
178
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
179 <li><strong>Straightforward navigation.</strong>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
180 It should be easy for users to extract information they need
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
181 from the system to direct their decisions and tasks.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
182 They should be able to get a decent overview of
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
183 things as well as finding specific information when
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
184 they know what they're after.<p>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
185
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
186 <li><strong>Controlled information flow.</strong>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
187 The users must have control over how much information and
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
188 what information they get. A common flaw of some issue-tracking
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
189 systems is that they inundate users with so much useless
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
190 e-mail that people avoid the system altogether.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
191 </ol>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
192 <br clear=all>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
193
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
194 <p><br>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
195 <h3><a name="principles">Guiding Principles</a></h3>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
196
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
197 <p><strong>Simplicity.</strong> It is a strong requirement
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
198 that the tool be accessible and understandable. It should
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
199 be fairly obvious what different parts of the interface do,
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
200 and the inner mechanisms should operate in ways that most
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
201 users can easily predict.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
202
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
203 <p><strong>Efficiency.</strong>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
204 We aim to optimize for minimum effort to do the most common
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
205 operations, and best use of resources like screen real estate
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
206 to maximize the amount of information that we summarize and present.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
207
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
208 <p><strong>Generality.</strong> We try to avoid making
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
209 unnecessary assumptions that would restrict the applicability
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
210 of the tool. For example, there is no reason why one might
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
211 not also want to use this tool to manage a design process,
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
212 non-software projects, or organizational decisions.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
213
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
214 <p><strong>Persistence.</strong> We
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
215 prefer hiding or reclassifying information to deleting it.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
216 This helps support the collection of statistics later.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
217 If records are never destroyed, there is little danger
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
218 in providing access to a larger community, and logging yields
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
219 accountability, which may encourage better behaviour.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
220
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
221 <p><hr>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
222 <p><table align=right width="40%" bgcolor="#808080"
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
223 cellspacing=0 cellpadding=0 border=0><tr><td
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
224 ><table bgcolor="#e8e8e8" width="100%"
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
225 cellspacing=0 cellpadding=5 border=0><tr><td
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
226 ><font color="#808080"><small>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
227 Okay, enough ranting. Let's get down to business.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
228 </small></font></td></tr></table></td></tr></table>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
229 <h2><a name="data">Data Model</a></h2>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
230
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
231 <p>Roundup stores a number of <em>items</em>, each of
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
232 which can have several properties and an associated discussion.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
233 The properties can be used to classify or search for items.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
234 The discussion is a sequence of e-mail messages.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
235 Each item is identified by a unique number, and has
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
236 an activity log which
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
237 records the time and content of edits made on its properties.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
238 The log stays fairly small since the design intentionally
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
239 provides only small data types as item properties, and
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
240 encourages anything large to be attached to
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
241 e-mail where it becomes part of the discussion.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
242 The next section explains how items are organized.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
243
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
244 <h3><a name="hyperdb">The Hyperdatabase</a></h3>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
245
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
246 <p><table align=right width="40%" bgcolor="#808080"
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
247 cellspacing=0 cellpadding=0 border=0><tr><td
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
248 ><table bgcolor="#e8e8e8" width="100%"
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
249 cellspacing=0 cellpadding=5 border=0><tr><td
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
250 ><font color="#808080"><small>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
251 In my opinion, forcing
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
252 items into fixed categories is one of the most
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
253 serious problems with the Roundup prototype.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
254 The hyperdatabase is an <em>experimental</em> attempt to
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
255 address the problem of information organization,
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
256 whose scope goes beyond just Roundup.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
257 </small></font></td></tr></table></td></tr></table>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
258
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
259 Often when classifying information we are
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
260 asked to select exactly one of a number of categories
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
261 or to fit it into a rigid hierarchy. Yet things
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
262 only sometimes fall into one category; often,
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
263 a piece of information may be related to several concepts.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
264
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
265 For example, forcing each item into a single topic
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
266 category is not just suboptimal but counterproductive:
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
267 seekers of that
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
268 item may expect to find it in a different category
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
269 and conclude that the item is not present in the
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
270 database -- which has them <em>worse</em> off
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
271 than if the items were not categorized at all.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
272
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
273 <p>Some systems try to alleviate this problem by
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
274 allowing nodes to appear at multiple locations
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
275 in a tree, as with "aliases" or "symbolic links" in
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
276 a filesystem, for example. This does help somewhat,
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
277 but we want to be even more flexible
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
278 by allowing the
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
279 organization of nodes into sets that may freely
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
280 intersect. Rather than putting each node at exactly
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
281 one place in an overall "grand scheme", a node can
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
282 belong to as many sets as are appropriate.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
283
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
284 If we choose to represent the sets themselves as nodes
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
285 and set membership as a link between nodes,
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
286 we're now ready to present the definition of a
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
287 hyperdatabase.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
288
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
289 <p><table align=right width="40%" bgcolor="#808080"
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
290 cellpadding=0 cellspacing=0 border=0><tr><td
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
291 ><table bgcolor="#e8e8e8" width="100%"
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
292 cellspacing=0 cellpadding=5 border=0><tr><td
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
293 ><font color="#808080"><small>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
294 Perhaps it's too pretentious a name?
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
295 You could say this is just like an object database.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
296 The hyperdatabase is hardly much of an invention; the
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
297 intent is merely to emphasize querying on links
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
298 rather than properties.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
299 (I haven't heard of this being done with
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
300 object databases before, but plead ignorance if
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
301 there's already a good name for this idea.)
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
302 </small></font></td></tr></table></td></tr></table>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
303 A <em>hyperdatabase</em> is a collection of <em>nodes</em>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
304 that may be hyperlinked to
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
305 each other (hence the name "hyperdatabase").
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
306 Each node carries a collection of key-value pairs,
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
307 where some of the values may be links to other nodes.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
308 Any node may have an arbitrary number of outgoing and
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
309 incoming links. Hyperdatabases are able to efficiently
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
310 answer queries such as "what nodes link to this node?"
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
311 and "what nodes does this node link to?"
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
312
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
313 <h3><a name="rationale">Rationale</a></h3>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
314
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
315 <p>There are several reasons for building our
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
316 own kind of database for Roundup rather than using an existing one.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
317
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
318 Requiring the installation of a full-blown third-party
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
319 SQL database system would probably deter many potential
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
320 users from attempting to set up Roundup;
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
321 yet a real relational database would be too
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
322 complicated to implement on our own.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
323
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
324 On the other hand, a hyperdatabase can be implemented fairly easily
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
325 using one of the Python DBM modules, so we can
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
326 take the "batteries-included" approach and provide it
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
327 as part of the system. It's easier to build and understand
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
328 than a true relational database (in accordance with our guiding
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
329 principle of <em>simplicity</em>), but provides
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
330 most of the query functionality we want.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
331
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
332 <p>A hyperdatabase is well suited for finding the intersection
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
333 of a number of sets in which items belong. We expect that
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
334 most of the queries people want to do will be of this
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
335 form, rather than complicated SQL queries. For example, a
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
336 typical request might be
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
337 "show me all critical items related to security".
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
338 The ability to store arbitrary key-value pairs and links
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
339 on nodes gives it more flexibility than an RDBMS.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
340
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
341 Users are not going to be making thousands of queries
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
342 per second, so it makes sense to optimize for simplicity
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
343 and flexibility rather than performance.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
344
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
345 <p align=center><img src="images/hyperdb.png" width=433 height=352 alt=""></a>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
346
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
347
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
348 <h3><a name="roundupdb">Roundup's Hyperdatabase</a></h3>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
349
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
350 <p>For our application, we store each item as a node in a
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
351 hyperdatabase. The item's properties are stored
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
352 as key-value pairs on its node.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
353 Four types of properties are allowed:
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
354 <em>string</em>, <em>date</em>,
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
355 <em>choice</em>, and <em>reference</em>.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
356
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
357 <p>The <em>string</em> type is for short, free-form strings.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
358 String properties are not intended to contain large
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
359 amounts of text, and it is recommended that they be presented
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
360 as one-line fields to encourage brevity.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
361
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
362 <p>The <em>date</em> type is for calendar dates and times.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
363
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
364 <p>The <em>choice</em> type denotes a single selection
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
365 from a number of options. A <em>choice</em> property
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
366 entails a link from the node possessing the property to
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
367 the node representing the chosen option.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
368
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
369 <p>The <em>reference</em> type is for a list of links to any
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
370 number of other nodes in the in the database. A <em>reference</em>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
371 property, for example, can be used to refer to related items
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
372 or topic categories relevant to an item.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
373
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
374 <p>For Roundup, all items have five properties
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
375 that are not customizable:
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
376
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
377 <ul>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
378 <li>a <em>string</em> property named <strong>description</strong>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
379 <li>a <em>reference</em> property named <strong>superseder</strong>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
380 <li>a <em>reference</em> property named <strong>nosy</strong>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
381 <li>a <em>date</em> property named <strong>creation</strong>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
382 <li>a <em>date</em> property named <strong>activity</strong>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
383 </ul>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
384
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
385 <p>The <strong>description</strong> property is a short
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
386 one-line description of the item.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
387 The detailed description can go in the
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
388 first e-mail message of the item's discussion spool.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
389
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
390 <p>The <strong>superseder</strong> property is used to
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
391 support the splitting, joining, or replacing of items.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
392 When several items need to be
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
393 joined into a single item, all the old items
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
394 link to the new item in their <strong>superseder</strong>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
395 property.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
396 When an item needs to be split apart, the item
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
397 references all the new items in its <strong>superseder</strong>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
398 propety.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
399 We can easily list all active items just by checking
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
400 for an empty <strong>superseder</strong> property, and trace
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
401 the path of an item's origins by querying the hyperdatabase
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
402 for links.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
403
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
404 <p>The <strong>nosy</strong> property contains a list of
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
405 the people who are interested in an item. This
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
406 mechanism is explained in
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
407 <a href="#discuss">the section on Nosy Lists</a>.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
408
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
409 <p>The <strong>creation</strong> property records the
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
410 item's creation time. The <strong>activity</strong>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
411 property records the last time that the item was edited or
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
412 a mail message was added to its discussion spool. These two
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
413 properties are managed by Roundup and are not available to
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
414 be edited like other properties.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
415
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
416 <p>Users of the system are also represented by nodes in the
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
417 hyperdatabase, containing properties
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
418 like the user's e-mail address, login name, and password.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
419
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
420 <h3><a name="schema">The Default Schema</a></h3>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
421
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
422 <p><table align=right width="40%" bgcolor="#808080"
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
423 cellpadding=0 cellspacing=0 border=0><tr><td
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
424 ><table bgcolor="#e8e8e8" width="100%"
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
425 cellspacing=0 cellpadding=5 border=0><tr><td
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
426 ><font color="#808080"><small>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
427 Roundup could be distributed with a few
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
428 suggested schemas for different purposes.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
429 One possible enhancement to the
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
430 software-development schema is
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
431 a <em>reference</em> property
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
432 named <strong>implements</strong> for connecting
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
433 development items to design requirements which
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
434 they satisfy, which should
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
435 be enough to provide basic support for
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
436 <a href="http://software-carpentry.codesourcery.com/lists/sc-discuss/msg00046.html">traceability</a>.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
437 Clearly there is also potential for adding
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
438 properties for related source files, check-ins,
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
439 test results, regression tests for resolved items,
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
440 and so on, though these have not yet been
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
441 sufficiently well thought out to specify here.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
442 </small></font></td></tr></table></td></tr></table>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
443 <p>It is hoped that the hyperdatabase together with the
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
444 specializations mentioned above for Roundup will be
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
445 applicable in a variety of situations
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
446 (in accordance with our guiding principle of <em>generality</em>).
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
447
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
448 <p>To address the problem at hand, we need
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
449 a specific schema for items applied particularly to software development.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
450 Again, we are trying to keep the schema simple: too many
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
451 options make it tougher for someone to make a good choice.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
452 The schema is written here in the same form that it would
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
453 appear in a configuration file.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
454 <br clear=all>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
455
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
456 <pre>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
457 fixer = Reference() # people who will fix the problem
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
458
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
459 topic = Reference() # relevant topic keywords
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
460
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
461 priority = Choice("critical", # panic: work is stopped!
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
462 "urgent", # important, but not deadly
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
463 "bug", # lost work or incorrect results
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
464 "feature", # want missing functionality
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
465 "wish") # avoidable bugs, missing conveniences
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
466
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
467 status = Choice("unread", # submitted but no action yet
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
468 "deferred", # intentionally set aside
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
469 "chatting", # under review or seeking clarification
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
470 "need-eg", # need a reproducible example of a bug
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
471 "in-progress", # understood; development in progress
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
472 "testing", # we think it's done; others, please test
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
473 "done-cbb", # okay for now, but could be better
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
474 "resolved") # fix has been released
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
475 </pre>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
476
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
477 <p>The <strong>fixer</strong> property assigns
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
478 responsibility for an item to a person or a list of people.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
479 The <strong>topic</strong> property places the
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
480 item in an arbitrary number of relevant topic sets (see
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
481 <a href="#browse">the section on Browsing and Searching</a>).
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
482
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
483 <p>As previously mentioned, each item gets an activity log.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
484 Whenever a property on an item is changed, the log
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
485 records the time of the change, the user making the change,
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
486 and the old and new values of the property. This permits
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
487 the later gathering of statistics (for example, the average time
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
488 from submission to resolution).
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
489
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
490 <p>We do not specify or enforce a state transition graph,
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
491 since making the system rigid in that fashion is probably more
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
492 trouble than it's worth.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
493 Experience has shown that there are probably
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
494 two convenient automatic state transitions:
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
495
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
496 <ul>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
497 <li>from <strong>unread</strong> to <strong>chatting</strong>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
498 when e-mail is written about an item
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
499 <li>from <strong>testing</strong> to <strong>resolved</strong>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
500 when a new release of the software is made
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
501 </ul>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
502
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
503 Beyond these, in accordance with our principle of <em>generality</em>,
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
504 we allow access to the hyperdatabase
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
505 API so that scripts can automate transitions themselves or
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
506 be triggered by changes in the database.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
507
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
508 <p><hr>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
509 <h2><a name="ui">User Interface</a></h2>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
510
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
511 <p>Roundup provides its services through two main interfaces:
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
512 e-mail and the Web.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
513 This division is chosen to optimize the most common tasks.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
514
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
515 <p>E-mail is best suited for
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
516 the submission of new items since most people are most comfortable
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
517 with composing long messages in their own favourite e-mail client.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
518 E-mail also permits them to mention URLs or attach files relevant
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
519 to their submission. Indeed, in many cases people are already
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
520 used to making requests by sending e-mail to a mailing list
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
521 of people; they can do exactly the same thing to use Roundup
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
522 without even thinking about it.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
523 Similarly, people are already
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
524 familiar with holding discussions in e-mail, and plenty of
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
525 valuable usage conventions and software tools already exist for that medium.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
526
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
527 <p>The Web, on the other hand, is best suited for summarizing
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
528 and seeking information, because it can present an interactive
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
529 overview of items. Since the Web has forms, it's also
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
530 the best place to edit items.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
531
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
532 <h3><a name="discuss">Submission and Discussion</a></h3>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
533
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
534 <p><table align=right width="40%" bgcolor="#808080" cellpadding=0 border=0
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
535 ><tr><td><table bgcolor="#e8e8e8" width="100%" cellspacing=0 cellpadding=5
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
536 border=0><tr><td><font color="#808080"><small>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
537 Nosy lists have actually been tried in practice,
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
538 and their emergent properties have
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
539 turned out to be very effective.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
540 They are one of the key strengths of the Roundup prototype,
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
541 and often cause me to wonder if all mailing lists ought to work this way.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
542 Roundup could even replace Hypermail.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
543 </small></font></td></tr></table></td></tr></table>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
544
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
545 <p>The system needs an address for receiving mail
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
546 and an address that forwards mail to all participants.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
547 Each item has its own list
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
548 of interested parties, known as its <em>nosy list</em>.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
549 Here's how nosy lists work:
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
550
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
551 <p><ol type="a">
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
552 <li>New items are always submitted by sending an e-mail message
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
553 to Roundup. The "Subject:" field becomes the description
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
554 of the new item.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
555 The message is saved in the mail spool of the new item,
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
556 and copied to the list of all participants
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
557 so everyone knows that a new item has been added.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
558 The new item's nosy list initially contains the submitter.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
559
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
560 <li>All e-mail messages sent by Roundup have their "Reply-To:"
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
561 field set to Roundup's address, and have the item's
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
562 number in the "Subject:" field. Thus, any replies to the
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
563 initial announcement and subsequent threads are all received
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
564 by Roundup. Roundup notes the item number in the "Subject:"
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
565 field of each incoming message and appends the message
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
566 to the appropriate spool.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
567
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
568 <li>Any incoming e-mail tagged with an item number is copied
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
569 to all the people on the item's nosy list,
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
570 and any users found in the "From:", "To:", or "Cc:" fields
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
571 are automatically added to the nosy list. Whenever a user
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
572 edits an item's properties in the Web interface, they are
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
573 also added to the nosy list.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
574 </ol>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
575
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
576 <p>The effect
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
577 is like each item having its own little mailing list,
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
578 except that no one ever has to worry about subscribing to
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
579 anything. Indicating interest in an issue is sufficient, and if you
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
580 want to bring someone new into the conversation, all you need to do
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
581 is Cc: a message to them. It turns out that no one ever has to worry
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
582 about unsubscribing, either: the nosy lists are so specific in scope
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
583 that the conversation tends to die down by itself when the issue is
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
584 resolved or people no longer find it sufficiently important.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
585
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
586 <p>Each nosy list is like an asynchronous chat room,
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
587 lasting only a short time (typically five or ten messages)
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
588 and involving a small group of people.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
589 However, that
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
590 group is the <em>right</em> group of people:
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
591 only those who express interest in an item in some way
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
592 ever end up on
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
593 the list, so no one gets spammed with mail they
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
594 don't care about, and no one who <em>wants</em>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
595 to see mail about a particular item needs to be left
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
596 out, for they can easily join in, and just as easily
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
597 look at the mail spool on an item to catch up on any
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
598 messages they might have missed.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
599
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
600 <p>We can take this a step further and
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
601 permit users to monitor particular topics or
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
602 classifications of items
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
603 by allowing other kinds of nodes to
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
604 also have their own nosy lists.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
605 For example, a manager could be on the
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
606 nosy list of the priority value node for "critical", or a
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
607 developer could be on the nosy list of the
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
608 topic value node for "security".
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
609 The recipients are then
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
610 determined by the union of the nosy lists on the
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
611 item and all the nodes it links to.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
612
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
613 <p>Using many small, specific mailing lists results
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
614 in much more effective communication than one big list.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
615 Taking away the effort of subscribing and unsubscribing
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
616 gives these lists the "feel" of being cheap and
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
617 disposable.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
618
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
619 The transparent capture of the mail spool attached to each
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
620 issue also yields a nice knowledge repository over time.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
621
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
622
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
623 <h3><a name="edit">Editing</a></h3>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
624
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
625 <p>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
626 <img src="images/edit.png" align=right width=171 height=471 alt="">
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
627 Since Roundup is intended to support arbitrary user-defined
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
628 schema for item properties, the editing interface must be
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
629 automatically generated from the schema. The configuration for
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
630 Roundup will include a template describing how to lay out the
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
631 properties to present a UI for inspecting and editing items.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
632 For example:
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
633
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
634 <pre>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
635 &lt;table width="100%"&gt;
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
636 &lt;tr&gt;&lt;td align=right&gt;Description:&lt;/td&gt;
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
637 &lt;td&gt;&lt;?property description size=70&gt;&lt;/td&gt;&lt;/tr&gt;
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
638 &lt;tr&gt;&lt;td align=right&gt;Status:&lt;/td&gt;
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
639 &lt;td&gt;&lt;?property status&gt;&lt;/td&gt;&lt;/tr&gt;
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
640 &lt;/table&gt;
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
641 </pre>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
642
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
643 <p>To display the editing form for an item, Roundup substitutes
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
644 an HTML form widget for each <tt>&lt;?property </tt>...<tt>&gt;</tt>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
645 tag, and transfers attributes
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
646 (such as <tt>size=70</tt> in the above example)
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
647 from the processing tag to the form widget's tag.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
648 Each type has its own appropriate editing widget:
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
649 <ul>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
650 <li><em>string</em> properties appear as text fields
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
651 <li><em>date</em> properties appear as text fields
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
652 <li><em>choice</em> properties appear as selection lists
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
653 <li><em>reference</em> properties appear as multiple-selection lists
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
654 with a text field for adding a new option
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
655 </ul>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
656
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
657 <p>We foresee the use of custom date fields for things like deadlines,
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
658 so input fields for <em>date</em> properties should support some
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
659 simple way of specifying relative dates (such as "three weeks from now").
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
660
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
661 <p>The <strong>superseder</strong> property is a special case:
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
662 although it is more efficient to store a <strong>superseder</strong>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
663 property in the superseded item, it makes more sense to provide
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
664 a "supersedes" edit field on the superseding item. So we need
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
665 a special widget on items for this purpose (perhaps something
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
666 as simple as a text field containing a comma-separated list of
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
667 item numbers will do). Links in the <strong>superseder</strong> property
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
668 should appear on both the superseding and superseded items to
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
669 facilitate navigating an item's pedigree.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
670
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
671 <p>After the editing widgets, the item inspection page shows
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
672 a "note" text box and then a display of the messages in the
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
673 discussion spool, like the Roundup prototype. This field
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
674 lets you enter a note explaining your change when you edit the
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
675 item, and the note is included in the notification message that
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
676 goes out to tell the interested parties on the nosy list of
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
677 your edits.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
678
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
679 <h3><a name="browse">Browsing and Searching</a></h3>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
680
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
681 <p>The ideal we would like to achieve is to make searching as
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
682 much like browsing as possible: the user simply clicks about
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
683 on things that seem interesting, and the information narrows
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
684 down comfortably until the goal is in sight. This is preferable
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
685 to trying to digest a screen filled with widgets and buttons
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
686 or entering a search expression in some arcane algebraic syntax.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
687
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
688 <p><table align=right width="40%" bgcolor="#808080" cellpadding=0 border=0
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
689 ><tr><td><table bgcolor="#e8e8e8" width="100%" cellspacing=0 cellpadding=5
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
690 border=0><tr><td><font color="#808080"><small>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
691 Though the generation of each page amounts to a database query,
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
692 so that the underlying mechanism is still a series of queries and
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
693 responses, the user interface never separates the query from
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
694 the response, so the <em>experience</em> is one of stepwise
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
695 refinement.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
696 </small></font></td></tr></table></td></tr></table>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
697 While a one-shot search may be appropriate when you're
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
698 looking for a single item and you know exactly what you want, it's
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
699 not very helpful when you want an overview of
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
700 things ("Gee, there are a lot more high-priority items than
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
701 there were last week!") or trying to do comparisons ("I have
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
702 some time today, so who is busiest and could most use some help?")
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
703 <br clear=all>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
704
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
705 <p>The browsing interface presents filtering
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
706 functionality for each of the properties in the schema. As with
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
707 editing, the interface is generated from a template
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
708 describing how to lay out the properties.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
709 Each type of property has its own appropriate filtering widget:
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
710 <ul>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
711 <li><em>string</em> properties appear as text fields supporting
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
712 case-insensitive substring match
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
713 <li><em>date</em> properties appear as a text field with an
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
714 option to choose dates after or before the specified date
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
715 <li><em>choice</em> properties appear as a group of
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
716 selectable options
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
717 (the filter selects the <em>union</em> of the sets of items
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
718 associated with the active options)
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
719 <li><em>reference</em> properties appear as a group of
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
720 selectable options
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
721 (the filter selects the <em>intersection</em> of the sets of items
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
722 associated with the active options)
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
723 </ul>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
724
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
725 <p>For a <em>reference</em> property like <strong>topic</strong>,
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
726 one possibility is to show, as hyperlinks, the keywords whose
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
727 sets have non-empty intersections with the currently displayed set of
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
728 items. Sorting the keywords by popularity seems
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
729 reasonable. Clicking on a keyword then narrows both the list of items
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
730 and the list of keywords. This gives some of the feel of walking
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
731 around a directory tree -- but without the restriction of having
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
732 to select keywords in a particular hierarchical order, and without
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
733 the need to travel all the way to the leaves of the tree before
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
734 any items are visible.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
735
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
736 <p>Below the filtering form is a listing of items, with their
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
737 properties displayed in a table. Rows in the table can also be
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
738 generated from a template, as with the editing interface.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
739 This listing is the central overview of the system, and it
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
740 should aim to maximize the density of
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
741 useful information in accordance with our guiding principle of
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
742 <em>efficiency</em>.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
743 For example,
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
744 <a href="http://www.lfw.org/ping/bugzilla-4.gif">Bugzilla
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
745 initially displays seven or eight items of the index</a>, but only
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
746 after the user has
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
747 <a href="http://www.lfw.org/ping/bugzilla-1.gif">waded</a>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
748 through
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
749 <a href="http://www.lfw.org/ping/bugzilla-2.gif">three</a>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
750 bewildering
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
751 <a href="http://www.lfw.org/ping/bugzilla-3.gif">screens</a> of
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
752 form widgets.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
753 <a href="http://www.lfw.org/ping/jitterbug-1.gif">Jitterbug can't
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
754 even fit any items at all in the first screenful</a>, as it's
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
755 taken up by artwork and adminstrative debris. In contrast,
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
756 <a href="http://www.lfw.org/ping/roundup-1.gif">in the
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
757 Roundup prototype,
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
758 25 high-priority issues are immediately visible</a>, with
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
759 most of the screen space devoted to their descriptions.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
760 Colour indicates
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
761 the status of each item to help the eye sift through the index quickly.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
762
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
763 <p>In both Jitterbug and Bugzilla, items are sorted by default by ID,
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
764 a meaningless field. Sorting by ID puts the issues in order by
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
765 ascending submission date, which banishes recent issues far away
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
766 at the bottom of the list.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
767 The Roundup prototype sorts items
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
768 in sections by priority, and then within sections by the date
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
769 of last activity. This reveals at a glance where discussion is
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
770 most active, and provides an easy way for anyone to move an issue
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
771 up in the list.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
772
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
773 <p>The page produced by a given set of browsing options constitutes
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
774 a <em>view</em>. The options should all be part of the query
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
775 parameters in the URL so that views may be bookmarked. A view
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
776 specifies:
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
777
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
778 <ul>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
779 <li>search strings for string properties
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
780 <li>date ranges for date properties
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
781 <li>acceptable values for choice properties
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
782 <li>required values for reference properties
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
783 <li>one or more sort keys
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
784 <li>a list of properties for which to display filtering widgets
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
785 </ul>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
786
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
787 <p>On each sort key there is the option to use sections -- that is,
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
788 instead of making the property's value a column of the table, each
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
789 possible value for the property
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
790 is displayed at the top of a section and all the items having
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
791 that value for that property are grouped underneath. This avoids
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
792 wasting screen space with redundant information.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
793
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
794 <p>We propose that our default view should be:
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
795
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
796 <ul>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
797 <li>all options on for <strong>priority</strong> and <strong>fixer</strong>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
798 <li>all options on except "resolved" for <strong>status</strong>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
799 <li>no options on for <strong>topic</strong>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
800 <li>primary sort by <strong>priority</strong> in sections
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
801 <li>secondary sort by decreasing <strong>activity</strong> date
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
802 </ul>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
803
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
804 <p>The starting URL for Roundup should immediately present the listing of
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
805 items generated by this default view, with no
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
806 preceding query screen.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
807
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
808 <p><hr>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
809 <h2><a name="devplan">Development Plan</a></h2>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
810
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
811 <p>The hyperdatabase is clearly a separable component which
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
812 can be developed and tested independently to an API specification.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
813
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
814 <p>As soon as the API to the hyperdatabase is nailed down,
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
815 the implementation of the Roundup database layer
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
816 on top of the hyperdatabase can begin.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
817 (This refers to the data types and five fixed properties
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
818 specific to Roundup.) This layer can also be tested separately.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
819
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
820 <p>When the interface to the Roundup hyperdatabase is ready,
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
821 development can begin on the user interface. The mail handler
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
822 and the Web interface can be developed in parallel and mostly
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
823 independently of each other.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
824
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
825 <p>The mail handler can be set up for testing fairly easily:
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
826 mail messages on its standard input can be synthesized;
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
827 its output is outgoing mail, which can be
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
828 captured by replacing the implementation of the
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
829 "send mail" function; and its side effects appear in the
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
830 hyperdatabase, which has a Python API.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
831
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
832 <p>The Web interface is not easily testable in its entirety,
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
833 though the most important components of it can be unit tested,
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
834 such as the component that translates a view specification
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
835 into a list of items for display, and
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
836 the component that performs replacements on templates
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
837 to produce an editing or filtering interface.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
838
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
839 <p><hr>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
840 <h2><a name="issues">Open Issues</a></h2>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
841
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
842 <p>The description of the hyperdatabase above avoids some
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
843 issues regarding node typing that need to be better specified.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
844 It is conceivable that eventually Roundup
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
845 could support multiple kinds of items with their own schemas.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
846
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
847 <p>To permit integration with external tools, it is probably
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
848 a good idea to provide a command-line tool that exposes the
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
849 hyperdatabase API. This tool will be left for a later phase
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
850 of development and so isn't specified in detail here.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
851
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
852 <p>Generating the user interface from a template is like
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
853 applying an XSL stylesheet to XML, and if there's a standard
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
854 Python module for performing these transformations, we could
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
855 use XML instead.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
856
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
857 <p>More thinking is needed to determine the best filtering
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
858 interface for <em>reference</em> properties.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
859 The proposed interface works well for topic keywords, but
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
860 it isn't clear what to do when there are too many keywords
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
861 to display them all.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
862
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
863 <p>There has been a variety of reactions to the hyperdatabase
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
864 from reviewers: some like it, some are neutral, and some
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
865 would prefer a "standard" RDBMS solution.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
866 For those in the latter camp, note
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
867 that it's still possible to build the Roundup database layer
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
868 around an RDBMS if we really need to. The rest of the design, in
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
869 particular the "nosy list" mechanism, remains intact.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
870
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
871 <p>The possibility of malice by registered users has been disregarded.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
872 The system is intended to be used by a co-operative group.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
873
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
874 <p>This design tries to address as many as possible of the
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
875 suggested requirements mentioned on
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
876 <a href="http://software-carpentry.codesourcery.com/sc_track">the contest page</a>:
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
877
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
878 <ul>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
879 <li>configuring states: Edit the schema.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
880 <li>setting state transition rules: We don't enforce any rules.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
881 <li>assigning responsibility: Set the <strong>fixer</strong> property.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
882 <li>splitting and joining: Use the <strong>superseder</strong> property.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
883 <li>hiding information: Add
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
884 a property and a pre-defined view that filters on it.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
885 <li>secure protocols: Naturally HTTPS would be nice, though it's largely
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
886 a webserver configuration issue; secure e-mail is not addressed.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
887 <li>archiving old issues: Tag them with a property.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
888 <li>identifying repeated issues: Use the <strong>superseder</strong> property.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
889 <li>connecting state changes to external operations: We provide an
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
890 API to the database and the notification mechanism so it can be scripted.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
891 <li>non-Latin alphabets: Unicode in Python 1.6 will handle
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
892 this for string properties, and we can leverage existing standards for
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
893 internationalizing e-mail messages.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
894 <li>images and other binaries: Attach them to e-mail messages.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
895 <li>inspecting item state: Use the editing interface.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
896 <li>translation between system-dependent formats: This is not addressed.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
897 <li>performing searches: Use the browsing and filtering interface.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
898 <li>collecting statistics: Information is gathered in the activity log,
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
899 though tools to summarize it are not described here.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
900 </ul>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
901
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
902 <p><hr>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
903 <h2><a name="summary">Summary</a></h2>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
904
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
905 <p>Roundup is an issue-tracking system that also functions as
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
906 a communications center and a knowledge repository. It combines
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
907 the strengths of e-mail and the Web to try to provide the best
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
908 possible user interaction.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
909
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
910 <ul>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
911 <li>The submission and discussion of items by e-mail, permitting
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
912 participants to use an easy and familiar tool, achieves our goal
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
913 of <em>low barrier to participation</em>.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
914 <li>The generic link-based structuring of data and use of
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
915 incremental filtering rather than one-shot querying makes for
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
916 <em>straightforward navigation</em>.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
917 <li>The use of <em>nosy lists</em> (a powerful replacement for
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
918 e-mail discussion lists) to manage communication on
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
919 a fine-grained level provides <em>controlled information flow</em>.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
920 </ul>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
921
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
922 <p>The use of a "hyperdatabase" as the core model for
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
923 the knowledge repository gives us the flexibility to extend
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
924 Roundup and apply it to a variety of domains by
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
925 providing new item schemas and user-interface templates.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
926
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
927 <p>Roundup is self-contained and easy to set up, requiring
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
928 only a webserver and a mailbox. No one needs to be root to
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
929 configure the webserver or to install database software.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
930
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
931 <p>This design is based on an existing deployed
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
932 prototype which has proven its strengths and revealed its
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
933 weaknesses in heavy day-to-day use by a real development team.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
934
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
935 <p><hr>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
936 <h2><a name="ack">Acknowledgements</a></h2>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
937
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
938 <p>My thanks are due to
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
939 Christina Heyl, Jesse Vincent, Mark Miller, Christopher Simons,
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
940 Jeff Dunmall, Wayne Gramlich, and Dean Tribble
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
941 for reviewing this paper and contributing their suggestions.
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
942
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
943 <p><hr><p>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
944
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
945 <center>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
946 <table>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
947 <tr>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
948 <td>&nbsp;&nbsp;&nbsp;<a href="http://www.software-carpentry.com/index.html"><b>[Home]</b></a>&nbsp;&nbsp;&nbsp;</td>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
949 <td>&nbsp;&nbsp;&nbsp;<a href="http://www.software-carpentry.com/faq.html"><b>[FAQ]</b></a>&nbsp;&nbsp;&nbsp;</td>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
950 <td>&nbsp;&nbsp;&nbsp;<a href="http://www.software-carpentry.com/license.html"><b>[License]</b></a>&nbsp;&nbsp;&nbsp;</td>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
951 <td>&nbsp;&nbsp;&nbsp;<a href="http://www.software-carpentry.com/contest-rules.html"><b>[Rules]</b></a>&nbsp;&nbsp;&nbsp;</td>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
952 <td>&nbsp;&nbsp;&nbsp;<a href="http://www.software-carpentry.com/biblio.html"><b>[Resources]</b></a>&nbsp;&nbsp;&nbsp;</td>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
953 <td>&nbsp;&nbsp;&nbsp;<a href="http://www.software-carpentry.com/lists/"><b>[Archives]</b></a>&nbsp;&nbsp;&nbsp;</td>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
954 </tr>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
955 </table>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
956 </center>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
957
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
958 <p><hr>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
959 <center>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
960 Last modified 2001/04/06 11:50:59.9063 US/Mountain
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
961 </center>
1ac46e7e4150 more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
962 </body></html>

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