annotate doc/original_overview.html @ 1588:1ac46e7e4150

more doc work - new improved overview doc
author Richard Jones <richard@users.sourceforge.net>
date Thu, 17 Apr 2003 01:14:43 +0000
parents
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/