Hi, What system fields of an mail message does lotus store to capture the discussion thread hierarchy. According to RFC 2822, the SMTP headers ‘In-Reply-To’ and ‘References’ are the should have headers in reply messages. These SMTP headers are present in emails to identify a ‘thread’ of converstation/discussion.
We can iterate using the C++ APIs and get the parent document/email and all its children or descendants and its level. But instead of traversing the document tree using API, the requirement is to defer the construction of the document 'thread' and just capture the fields that can help building the 'thread'.
We capture the components of a mail message using the API like getBody(), getCC(), getBCC(). The requirement is to find any mail document items that can be retrieved using getItem() API call and stored as its constituents.
Thanking in advance for help.
–Raghu
Subject: How lotus captures discussion thread hierarchy?
For mail that stays within Notes, the response references field $Ref carries the parent info on the child; for external mail, the field $Orig fulfils the same function.
Subject: RE: How lotus captures discussion thread hierarchy?
Hi Stan, Thank you for the information. This really helps me in getting started. Before I delve into the questions based on your reply. I would appreciate if I am pointed at any web resources where I should have looked for finding this kind of lotus internals information.
My question is, how do I parse these $orig and $ref values to construct the discussion 'thread'. What does the $orig/$ref fields contain? Do they contain the UNID or some unique-id of the top-parent document. How do I figure out which message is the top or parent message and also evaluate the depth level of any message belonging to that discussion.
Is there some Lotus internals documention which specifies the syntax and semantics of these fields and their role in discussion 'thread' unravelling.
Regards,
–Raghu
Subject: RE: How lotus captures discussion thread hierarchy?
They contain a UNID (the canonical two-timestamp structure). $Ref contains the UNID of the response’s parent. $Orig contains the message id of its parent (or its own message id,if it is the original message in the thread).
Subject: RE: How lotus captures discussion thread hierarchy?
Hi Stan, Thank you for eloborating on that in detail. To summarize my understanding:
$Ref contains the immediate parent’s UNID. In the topmost document in the thread, it is null.
$Orig contains the immediate parent’s message-id. In the topmost document in the thread, it is its own message-id.
Please correct me if I got it wrong.
Thank you,
–Raghu
Subject: RE: How lotus captures discussion thread hierarchy?
Why don’t you test it? It should be trivial to do.