On August 21, 1998 at 10:00, J C Lawrence wrote:
Yes on first sentence. No on second. If MHonArc tags a message for
updating (ie. an existing message page must be updated due to an
add), it will scan for message-ids in the page and check them
against the new message-ids that came in. If there is a match,
MHonArc makes the message-id a link.
Under what exact circumstances will MHonArc attempt to update an
existant message page?
Updates occur to existing message pages due to navigational link
purposes. For example, when a new message comes in, it may be a
follow-up to an existing page. So, MHonArc must update the thread
links in the existing page. Now, MHonArc does not assume that
messages come in the proper order. So a new message may actually
be a reference message to an existing message in the archive.
When MHonArc reads in the messages to be added, it does computations to
detect any dependencies with existing messages (eg next/prev linking,
thread links). Existing messages that have relationships with the new
messages are tagged for updating. So when MHonArc hits the write mail
stage, if will update the tagged messages.
Also, if expiration is active, if a message is deleted, all messages
that had a dependency with the deleted messages, is tagged for updating.
With respect with embedded message-ids detection in message data,
MHonArc behaves slightly different depending on if the message is new
or an existing one. If new, anything that looks like a message-id is
checked against all ids in the database, and if there is a match,
creates a link. If an existing message, the check only goes against
the ids of the new messages (to avoid hyperlinking already linked ids
-- a bug in old versions of MHonArc that when unnoticed for a long time
since browsers had no problems with nested anchors).
Note, -editidx forces all pages to be updated. RMM also (except in
v2.3 where RMM only updates dependent messages). However, wrt message-id
detection, it is just a noop since no new message-ids are applicable.
Surely for an -add where the MSG ID is a dupe,
MHonArc ignores the "new" message?
Yes, but not relevant to page updating.
BTW, a thing to realize is that the hyperlinking of message-ids is
not perfect. There are some limitations:
o If the referenced message is deleted, the link becomes
stale. MHonArc does not (cannot?) "un-hyperlink".
o Customized linking (MSGIDLINK) cannot be changed to affect
Earl Hood | University of California: Irvine
ehood(_at_)medusa(_dot_)acs(_dot_)uci(_dot_)edu | Electronic
http://www.oac.uci.edu/indiv/ehood/ | Dabbler of SGML/WWW/Perl/MIME