Hi Nathaniel,
--On Thursday, June 19, 2003 7:54 AM -0400 Nathaniel Borenstein
<nsb(_at_)guppylake(_dot_)com> wrote:
| Presumably trn does this by inference when possible, but I can't believe
| it is *always* possible, depending on which parts of the thread remain
| available. One of the questions here is how general a solution we are
| trying to build. -- Nathaniel
The IMAP THREAD extension does a reasonable job of dealing with incomplete
message threads. Its certainly worthwhile to look at the algorithm
described there to understand how references can be used.
The point to remember is that if you have a complete message thread (i.e.
all messages in the thread are in your mailstore) then you don't need
References at all to build the thread tree - you can simply rely on
In-Reply-to. Note that multiple message-ids in In-Reply-to will allow you
to map out multiple parents in the thread tree.
References comes into its own when you have incomplete threads where there
are message 'holes'. References does not have to be complete - i.e. it does
not have to go back all the way to the original root message (which is what
will happen when the header gets too big and has to be truncated) -
provided that enough messages in the thread are available to allow you to
jump back over missing messages to form the complete thread tree.
References effectively provides 'snapshots' of a section of the thread tree
and those snapshots can be put together in Hockney-esque fashion to form
the entire thread tree.
I agree with the point that we should not change the current References
behaviour to try and cope with multiple parents. I think having a new set
of headers is probably the right way to go.
--
Cyrus Daboo