Skip to content

Commit 9f9c7ac

Browse files
author
Richard Jones
committed
more doc
1 parent e90e334 commit 9f9c7ac

File tree

1 file changed

+66
-53
lines changed

1 file changed

+66
-53
lines changed

doc/index.html

Lines changed: 66 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -157,12 +157,6 @@ <h2><a name="startcmd">Command Line Tool</a></h2>
157157
<br>roundup's internal use (problems, etc)
158158
</ol>
159159

160-
<em>Note:</em>
161-
We run the instance as group "issue_tracker" and add the mail and web user
162-
("mail" and "apache" on our RedHat 7.1 system) to that group, as well as
163-
any admin people.
164-
165-
166160
<h2><a name="startweb">E-Mail Interface</a></h2>
167161
Set up a mail alias called "issue_tracker" as:
168162
<blockquote>
@@ -247,11 +241,13 @@ <h3>Users and permissions</h3>
247241
mkdir instance_home
248242
chown issue_tracker:issue_tracker instance_home
249243
chmod g+rwxs instance_home
250-
chmod o-rwx instance_home
251244
roundup-admin -i instance_home init
252245
</pre>
253-
<li>Now, edit the /etc/group line for issue_tracker so it includes the unix
254-
logins of all the users who are going to administer your roundup instance.
246+
<li>Now, edit the /etc/group line for the issue_tracker group so it includes
247+
the unix logins of all the users who are going to administer your roundup
248+
instance. If you're running the web or mail gateways, then be sure to
249+
include those users in the group too (on some Linux systems, these
250+
users are "www" or "apache" and "mail".)
255251
</ol>
256252

257253
<dt><strong>E-Mail interface</strong>
@@ -470,6 +466,30 @@ <h2><a name="web">Web Interface</a></h2>
470466

471467
<h2><a name="mail">E-Mail Gateway</a></h2>
472468

469+
<h3>Performing Actions</h3>
470+
The subject line of the incoming message is examined to determine whether
471+
the message is an attempt to create a new item or to discuss an existing
472+
item. A designator enclosed in square brackets is sought as the first thing
473+
on the subject line (after skipping any "Fwd:" or "Re:" prefixes).
474+
<p>
475+
If an item designator (class name and id number) is found there, the newly
476+
created "msg" node is added to the "messages" property for that item, and
477+
any new "file" nodes are added to the "files" property for the item.
478+
<p>
479+
If just an item class name is found there, we attempt to create a new item
480+
of that class with its "messages" property initialized to contain the new
481+
"msg" node and its "files" property initialized to contain any new "file"
482+
nodes.
483+
484+
<h3>Setting Properties</h3>
485+
The e-mail interface also provides a simple way to set
486+
properties on items. At the end of the subject line,
487+
<em>propname</em><tt>=</tt><em>value</em> pairs can be
488+
specified in square brackets, using the same conventions
489+
as for the <tt>roundup&nbsp;set</tt> shell command.
490+
explanatory message given in the exception.
491+
492+
<h3>Message content</h3>
473493
Incoming messages are examined for multiple parts:
474494
<ul>
475495
<li>In a multipart/mixed message or part, each subpart is extracted and
@@ -481,7 +501,7 @@ <h2><a name="mail">E-Mail Gateway</a></h2>
481501
subpart and ignore the other parts.
482502
</ul>
483503

484-
<h3>Message content summary</h3>
504+
<h4>Message summary</h4>
485505
The "summary" property on message nodes is taken from the first non-quoting
486506
section in the message body. The message body is divided into sections by
487507
blank lines. Sections where the second and all subsequent lines begin with
@@ -500,27 +520,22 @@ <h3>Address handling</h3>
500520
register an auditor on the "user" class that prevents the creation of user
501521
nodes with no passwords.
502522

503-
<h3>Performing Actions</h3>
504-
The subject line of the incoming message is examined to determine whether
505-
the message is an attempt to create a new item or to discuss an existing
506-
item. A designator enclosed in square brackets is sought as the first thing
507-
on the subject line (after skipping any "Fwd:" or "Re:" prefixes).
508-
509-
If an item designator (class name and id number) is found there, the newly
510-
created "msg" node is added to the "messages" property for that item, and
511-
any new "file" nodes are added to the "files" property for the item.
512-
513-
If just an item class name is found there, we attempt to create a new item
514-
of that class with its "messages" property initialized to contain the new
515-
"msg" node and its "files" property initialized to contain any new "file"
516-
nodes.
517-
518523
<h3>Triggers</h3>
519524
Both cases may trigger detectors (in the first case we are calling the
520525
set() method to add the message to the item's spool; in the second case we
521526
are calling the create() method to create a new node). If an auditor raises
522527
an exception, the original message is bounced back to the sender with the
523-
explanatory message given in the exception.
528+
529+
<h4>Nosy Lists</h4>
530+
A standard detector is provided that watches for additions
531+
to the "messages" property. When a new message is added, the
532+
detector sends it to all the users on the "nosy" list for the
533+
item that are not already on the "recipients" list of the
534+
message. Those users are then appended to the "recipients"
535+
property on the message, so multiple copies of a message
536+
are never sent to the same user. The journal recorded by
537+
the hyperdatabase on the "recipients" property then provides
538+
a log of when the message was sent to whom.
524539

525540
<p><hr>
526541
<h1><a name="custom">Customising Roundup</a></h1>
@@ -639,10 +654,8 @@ <h2><a name="custinst">Instance Schema</a></h2>
639654
issue.setkey('title')
640655
</pre>
641656

642-
<h3>Class, FileClass, IssueClass - creating a new information store</h3>
643-
A <em>Class</em> defines a particular class (or type) of data that will be
644-
stored in the database. In the instance above, we've defined 7 classes of
645-
information:
657+
<h3>Classes and Properties - creating a new information store</h3>
658+
In the instance above, we've defined 7 <em>classes</em> of information:
646659
<dl>
647660
<dt><strong>priority</strong>
648661
<dd>Defines the possible levels of urgency for issues.
@@ -661,20 +674,25 @@ <h3>Class, FileClass, IssueClass - creating a new information store</h3>
661674
<dd>Initially emtyp, this is where the issue information is stored.
662675
</dl>
663676
<p>
664-
We define the "priority" and "status" classes to allow two things: reduction in the
665-
amount of information stored on the issue and more powerful, accurate
677+
We define the "priority" and "status" classes to allow two things: reduction
678+
in the amount of information stored on the issue and more powerful, accurate
666679
searching of issues by priority and status. By only requiring a link on
667680
the issue (which is stored as a single number) we reduce the chance
668681
that someone mis-types a priority or status - or simply makes a new one
669682
up.
683+
684+
<h4>Class and Nodes</h4>
685+
A <em>Class</em> defines a particular class (or type) of data that will be
686+
stored in the database. A class comprises one or more properties, which
687+
given the information about the class nodes.
670688
<p>
689+
The actual data entered into the database, using <em>class</em>.create()
690+
are called <em>nodes</em>. They have a special immutable property called
691+
id. We sometimes refer to this as the <em>nodeid</em>.
671692

672-
<strong>Class</strong>
673-
<br>
674-
Class is the basic store of information.
675693

676-
<p>
677-
A class is comprised of one or more properties of the following type:
694+
<h4>Properties</h4>
695+
A Class is comprised of one or more <em>properties</em> of the following types:
678696

679697
<ul>
680698
<li><em>String</em> properties are for storing arbitrary-length
@@ -695,20 +713,14 @@ <h3>Class, FileClass, IssueClass - creating a new information store</h3>
695713
in a specified class. The value is a list of integers.
696714
</ul>
697715

698-
<p>
699-
700-
<strong>FileClass</strong>
701-
<br>
716+
<h4>FileClass</h4>
702717
FileClasses save their "content" attribute off in a separate file from the
703718
rest of the database. This reduces the number of large entries in the
704719
database, which generally makes databases more efficient, and also allows
705720
us to use command-line tools to operate on the files. They are stored in
706721
the files sub-directory of the db directory in your instance.
707722

708-
<p>
709-
710-
<strong>IssueClass</strong>
711-
<br>
723+
<h4>IssueClass</h4>
712724
IssueClasses automatically include the "messages", "files", "nosy", and
713725
"superseder" properties.
714726
<p>
@@ -722,15 +734,15 @@ <h3>Class, FileClass, IssueClass - creating a new information store</h3>
722734
They also have the dynamically generated
723735
"creation", "activity" and "creator" properties.
724736
<p>
725-
The value of the "creation" property is the date when an item was created,
737+
The value of the "creation" property is the date when a node was created,
726738
and the value of the "activity" property is the date when any property on
727-
the item was last edited (equivalently, these are the dates on the first
728-
and last records in the item's journal). The "creator" property holds a
739+
the node was last edited (equivalently, these are the dates on the first
740+
and last records in the node's journal). The "creator" property holds a
729741
link to the user that created the issue.
730742

731743
<h4>setkey(property)</h4>
732744
Select a String property of the class to be the key property. The key
733-
property muse be unique, and allows references to the items in the class by
745+
property muse be unique, and allows references to the nodes in the class by
734746
the content of the key property. That is, we can refer to users by their
735747
username, e.g. let's say that there's an issue in roundup, issue 23. There's
736748
also a user, richard who happens to be user 2. To assign an issue to him,
@@ -746,9 +758,10 @@ <h4>setkey(property)</h4>
746758
Note, the same thing can be done in the web and e-mail interfaces.
747759

748760
<h4>create(information)</h4>
749-
Create an item in the database. This is generally used to create items in
761+
Create a node in the database. This is generally used to create nodes in
750762
the "definitional" classes like "priority" and "status".
751763

764+
752765
<h2><a name="custweb">Web Interface</a></h2>
753766

754767
The web interface works behind the cgi-bin/roundup.cgi or roundup-server
@@ -821,7 +834,7 @@ <h3>Displaying Properties</h3>
821834
<em>Options:</em><br>
822835
size (number) - width of TEXT fields.<br>
823836
height (number) - number of nows in SELECT MULTIPLE tags.<br>
824-
showid (boolean) - true includes the id of linked items in the SELECT
837+
showid (boolean) - true includes the id of linked nodes in the SELECT
825838
MULTIPLE fields.
826839
</td></tr>
827840

@@ -881,7 +894,7 @@ <h3>Displaying Properties</h3>
881894
</td></tr>
882895

883896
<tr><td valign="top"><strong>list</strong></td>
884-
<td>List the items specified by property using the standard index for
897+
<td>List the nodes specified by property using the standard index for
885898
the class.
886899
<p>
887900
<em>Arguments:</em><br>
@@ -1126,7 +1139,7 @@ <h1><a name="ack">Acknowledgements</a></h1>
11261139

11271140
<p>&nbsp;</p>
11281141
<hr>
1129-
$Id: index.html,v 1.12 2001-10-09 07:31:02 richard Exp $
1142+
$Id: index.html,v 1.13 2001-10-10 01:47:55 richard Exp $
11301143
<p>&nbsp;</p>
11311144

11321145
</body></html>

0 commit comments

Comments
 (0)