summaryrefslogtreecommitdiff
path: root/ARCH
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2014-07-06 15:24:36 +0100
committerLars Wirzenius <liw@liw.fi>2014-07-06 15:24:36 +0100
commit8432d6b54589070b1f8b481c4728659e4d119c84 (patch)
tree423c89ed680f3909009feb1b69184ab6b910d31f /ARCH
parent8498e7bd42342b3646fea98930907c3d8238c548 (diff)
downloaddistix-8432d6b54589070b1f8b481c4728659e4d119c84.tar.gz
Add to ARCH how incoming mails are ingested
Diffstat (limited to 'ARCH')
-rw-r--r--ARCH27
1 files changed, 27 insertions, 0 deletions
diff --git a/ARCH b/ARCH
index 6b73e5a..3aa7dae 100644
--- a/ARCH
+++ b/ARCH
@@ -145,3 +145,30 @@ and how it's laid out is a good thing from flexibility, and doing it
from the beginning avoids accidentally hardcoding things. Since the
web interface is likely to be implemented using bottle.py, I'll use
bottle's templating system.
+
+
+Ingesting e-mails
+=================
+
+Distix is meant to import e-mails and either open new tickets, or put
+the e-mails in the right existing tickets. There's two use cases:
+
+1. Ingest an incoming mail directly from the MTA.
+2. Ingest a folder of mails that have already been received.
+
+The first form is to be used when distix is subscribed to a mailing
+list. The second form is for seeding a new distix instance from
+existing emails. There is not much architectural difference between
+the two cases.
+
+When ingesting, distix will read in the e-mail, and extract some
+metadata from it. With the extracted metadata, distix will find an
+existing ticket to which the mail belongs, if one exists. If no
+existing ticket is suitable, a new ticket is opened.
+
+Given a ticket id, distix will put the e-mail in the ticket's Maildir.
+It will use a SHA1 of the full text of the message (including the
+headers, as received) as the filename for the message. If a message
+with that filename already exists, distix assumes the new message is a
+duplicate and skips it. This allows the user to import the same mail
+folder multiple times, adding only new tickets.