Extra Header field
Stuart K. Bingë
omicron-list at mighty.co.za
Mon Jul 12 19:50:30 CEST 2004
On Monday, 12 July 2004 18:46, Martin Konold wrote:
> > > What I want to say: If the header is there it is "the law". If the
> > > header is missing do the parsing as before.
> >
> > This is actually how I used to handle the UID header issue in the old
> > Horde code - if it was not there, I reverted back to loading up the
> > entire message and actually re-saved the offending messages with the UID
> > in the headers.
>
> So your extra effort was only required in case the header was missing.
> Afterwards everything is fine again. I would call this robust and "self
> healing".
Unfortunately in this scenario I assumed that the folder I was loading from
contained only one type of groupware object - this becomes quite a performace
hit if you have to assume that *every* type (including "normal" RFC2822
email) is present, as is the case with the trash folder. If you used my code
on the trash folder, you would end up re-parsing all the standard email every
time you load the mailbox, as you wouldn't know whether that message
contained a kolab groupware object or not. And like Joon has said, the ratio
of normal email messages to groupware objects in the trash folder is likely
to be 80% standard messages, which gives rise to a lot of reloading.
> BTW: Can you please explain what kind of UID you are talking about? E.g.
> Outlook knows about an entry id. Kontact also knows about KOrganizer
> UIDs....
In the case of the old code, it was the UID that was present in the
iCalendar/vCard objects. In the case of notes, I generated my own. As David
has said, now it is the <uid> tag within our XML objects.
> > Obviously this is not desirable, as it puts a lot of load on the server
> > and therefore limits scalability. I would suggest that we make saving
> > this additional header mandatory, as well as the UID header (and any more
> > that we require in the future).
>
> I am afraid that we start to abuse the mail header as a database.
That is definitely an issue, however currently we have only made the case for
two additional headers; one that identifies what type of object is stored in
the message (or if it's a normal message, in the absence of the header), and
one that identifies the object itself (UID). Using these two facts you can
quickly get to the message of interest and load any additional information
that you need, such as the actual content of the object. I can't see us
needing many more additional headers than this (if we will in fact even need
any more).
> (The really bad thing about that is that if we make these musts instead of
> hints that we assume coherency)
But isn't that what we're trying to achieve between the clients with this new
format? Coherency?
--
Stuart Bingë
Code Fusion cc.
Office: +27 11 673 0411
Mobile: +27 83 298 9727
Email: s.binge at codefusion.co.za
Tailored email solutions; Kolab specialists.
http://www.codefusion.co.za/
More information about the format
mailing list