Tag Configuration object draft

Thomas Brüderli bruederli at kolabsys.com
Thu Apr 10 18:48:49 CEST 2014


On 08.04.2014 15:02, Aleksander Machniak wrote:
> On 02/27/2014 01:47 PM, Jeroen van Meeuwen (Kolab Systems) wrote:
>> The proposed format object definition can at least allow for hint(s) 
>> on
>> where the message was when tagged originally
>> (/vendor/cmu/cyrus-imapd/uniqueid in Cyrus IMAP 2.5, or
>> /vendor/kolab/uniqueid for Cyrus IMAP 2.4), as well as the content 
>> type
>> of the object that had been tagged, so that a hit-or-miss can narrow
>> subsequent searches it may need to perform.
> 
> Let's forget about XCONVERSATIONS and multi-folder searching. This is
> still for me not clear what to use as a message identifier to make this
> best for performance.
> 
> We need also keep in mind that in Roundcube we do not have all message
> headers in cache (all headers of the message nor all messages).
> 
> So, we need to consider two things:
> - searching for messages with specified tag (that search request might
> sometimes include additional IMAP SEARCH criteria),
> - moving messages (and need of tag object update on message identifier
> change).
> 
> So, the best aproach would be to use message header that does not 
> change
> when moving and that can be used in IMAP SEARCH, but is this possible?

What about using the full IMAP path with the message UID as the primary 
identifier with a fallback information (e.g. Message-ID) for a 
hit-and-miss scenario? Although the Message-ID can't be assumed to be 
absolutely unique, it still denotes an identifier for a message or set 
of "related" messages. Possibly append it with the Date header of the 
message, which at least would solve the forwarded-but-no-new-message-id 
case and still is searchable via IMAP.

If the final message identifier is restricted to be a string, an URL 
comes to mind:

imap://[<namespace>/]<folder>/<subfolder>/<message-uid>#<message-id>;<message-date>

Example:

imap://lists/kolab-format/438#<5343F378.8090703@kolabsys.com>;20140408T150248+0200

In order to be more unique, the <folder>/<subfolder> information could 
be replaced by the folder's uniqueid annotation. Although I don't know 
if this can be used directly for selecting folders in IMAP.

FWIW: the very same message reference is required for linking note 
objects with messages which is a planned feature for the notes module.

~Thomas



More information about the format mailing list