Mercurial > p > roundup > code
annotate doc/original_overview.html @ 1837:7dfd7469dc72
note you'll need to run the non-existent 'refreshdb' command to create indexes
| author | Anthony Baxter <anthonybaxter@users.sourceforge.net> |
|---|---|
| date | Tue, 07 Oct 2003 07:25:59 +0000 |
| parents | 1ac46e7e4150 |
| children |
| 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 <table width="100%"> |
|
1ac46e7e4150
more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
636 <tr><td align=right>Description:</td> |
|
1ac46e7e4150
more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
637 <td><?property description size=70></td></tr> |
|
1ac46e7e4150
more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
638 <tr><td align=right>Status:</td> |
|
1ac46e7e4150
more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
639 <td><?property status></td></tr> |
|
1ac46e7e4150
more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
640 </table> |
|
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><?property </tt>...<tt>></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> <a href="http://www.software-carpentry.com/index.html"><b>[Home]</b></a> </td> |
|
1ac46e7e4150
more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
949 <td> <a href="http://www.software-carpentry.com/faq.html"><b>[FAQ]</b></a> </td> |
|
1ac46e7e4150
more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
950 <td> <a href="http://www.software-carpentry.com/license.html"><b>[License]</b></a> </td> |
|
1ac46e7e4150
more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
951 <td> <a href="http://www.software-carpentry.com/contest-rules.html"><b>[Rules]</b></a> </td> |
|
1ac46e7e4150
more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
952 <td> <a href="http://www.software-carpentry.com/biblio.html"><b>[Resources]</b></a> </td> |
|
1ac46e7e4150
more doc work - new improved overview doc
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
953 <td> <a href="http://www.software-carpentry.com/lists/"><b>[Archives]</b></a> </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> |
