@@ -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 >
167161Set up a mail alias called "issue_tracker" as:
168162< blockquote >
@@ -247,11 +241,13 @@ <h3>Users and permissions</h3>
247241mkdir instance_home
248242chown issue_tracker:issue_tracker instance_home
249243chmod g+rwxs instance_home
250- chmod o-rwx instance_home
251244roundup-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 set</ tt > shell command.
490+ explanatory message given in the exception.
491+
492+ < h3 > Message content</ h3 >
473493Incoming 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 >
485505The "summary" property on message nodes is taken from the first non-quoting
486506section in the message body. The message body is divided into sections by
487507blank lines. Sections where the second and all subsequent lines begin with
@@ -500,27 +520,22 @@ <h3>Address handling</h3>
500520register an auditor on the "user" class that prevents the creation of user
501521nodes 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 >
519524Both cases may trigger detectors (in the first case we are calling the
520525set() method to add the message to the item's spool; in the second case we
521526are calling the create() method to create a new node). If an auditor raises
522527an 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
666679searching of issues by priority and status. By only requiring a link on
667680the issue (which is stored as a single number) we reduce the chance
668681that someone mis-types a priority or status - or simply makes a new one
669682up.
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>
695713in 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 >
702717FileClasses save their "content" attribute off in a separate file from the
703718rest of the database. This reduces the number of large entries in the
704719database, which generally makes databases more efficient, and also allows
705720us to use command-line tools to operate on the files. They are stored in
706721the files sub-directory of the db directory in your instance.
707722
708- < p >
709-
710- < strong > IssueClass</ strong >
711- < br >
723+ < h4 > IssueClass</ h4 >
712724IssueClasses 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>
722734They 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,
726738and 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
729741link to the user that created the issue.
730742
731743< h4 > setkey(property)</ h4 >
732744Select 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
734746the content of the key property. That is, we can refer to users by their
735747username, e.g. let's say that there's an issue in roundup, issue 23. There's
736748also a user, richard who happens to be user 2. To assign an issue to him,
@@ -746,9 +758,10 @@ <h4>setkey(property)</h4>
746758Note, 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
750762the "definitional" classes like "priority" and "status".
751763
764+
752765< h2 > < a name ="custweb "> Web Interface</ a > </ h2 >
753766
754767The 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 >
822835size (number) - width of TEXT fields.< br >
823836height (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
825838MULTIPLE 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
885898the class.
886899< p >
887900< em > Arguments:</ em > < br >
@@ -1126,7 +1139,7 @@ <h1><a name="ack">Acknowledgements</a></h1>
11261139
11271140< p > </ 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 > </ p >
11311144
11321145</ body > </ html>
0 commit comments