cyrusimap / cyrus-imapd

Cyrus IMAP is an email, contacts and calendar server
http://cyrusimap.org
Other
549 stars 150 forks source link

cool things to do with annotations #432

Closed brong closed 14 years ago

brong commented 22 years ago

From: Rob Siemborski Bugzilla-Id: 1292 Version: 2.1.x Owner: Ken Murchison

brong commented 22 years ago

From: Rob Siemborski

brong commented 22 years ago

From: Rob Siemborski

Ack, hit enter too fast:

Some of these may require new mailbox metadata to be maintained

brong commented 22 years ago

From: Ken Murchison

> - time of last mailbox update (any change of the cyrus index or header files, I > guess is a good way to define this)

Would this be last update, or when then last message arrived (like fud)?

> - time of last selection for this user?

Last SELECT/EXAMINE or last read (like fud)?

brong commented 22 years ago

From: Rob Siemborski

I'd want this stuff to be information that is not directly available otherwise through IMAP.

So, the first one is last mailbox update (since you can just look at the most recent message if you want that information). This would also get acl changes, etc.

The second is the actual timestamp of the last select (which shouldn't require any additional information). Maybe on user mailboxes we would also offer a last select by that user (to admins anyway)

brong commented 22 years ago

From: Rob Siemborski

Tagging for 2.2 milestone.

brong commented 22 years ago

From: Rob Siemborski

another one:

brong commented 22 years ago

From: Rob Siemborski

adding 1187 as dependancy

brong commented 22 years ago

From: Ken Murchison

committed vendor/cmu/cyrus-imapd/size implementation

brong commented 22 years ago

From: Rob Siemborski

committed vendor/cmu/cyrus-imapd/lastupdate implementation

brong commented 21 years ago

From: Rob Siemborski

no reason this should block 2.2.0

brong commented 21 years ago

From: Ken Murchison

another one:

brong commented 21 years ago

From: Rob Siemborski

2.2 now has expire support, right?

brong commented 21 years ago

From: Ken Murchison

yup

brong commented 21 years ago

From: Ken Murchison

> - who created mailbox > - date of mailbox creation

Could both of these be added to the end of cyrus.header? I could use this info for nntpd (NEWGROUPS and LIST ACTIVE.TIMES)

> - time of last selection for this user?

This could be stored as a read-only private annotation for each mailbox (each user would have their own value)

brong commented 21 years ago

From: Rob Siemborski

That seems to be a sane place for them, I just start to worry about the expense of searching for annotations and so on.

I guess I also worry somewhat about cluttering the mailbox metadata with annotations, which already have a home in annotate.db.

Hmmm

brong commented 21 years ago

From: Ken Murchison

I assumed that the creation stuff made more sense in cyrus.header because its read-only and its not per-user

brong commented 21 years ago

From: Ken Murchison

Of course, like you said, fetching this info for multiple mailboxes would suck. Perhaps using annotations.db would be better, eg:

/vendor/cmu/cyrus-imapd/creator

where value.shared is the person who did the CREATE/RENAME and modifiedsince.shared would be the time of creation/rename

brong commented 20 years ago

From: Ken Murchison

Should we go ahead and implement /creator in annotation.db?

brong commented 20 years ago

From: Rob Siemborski

Yes. I'm not sure what the readability should be though. Certainly not by anyone who can't list the mailbox, but it may want to be more restrictive than that? (do people really want to know who created graffiti.goat-porn ?)

brong commented 20 years ago

From: Ken Murchison

Certainly the 'l' right would be required, but I can't think of any other right to require other than 'r'. NNTP NEWGROUPS would only look for the modifiedsince attrib and LIST ACTIVE.TIMES would look for both.

brong commented 20 years ago

From: Rob Siemborski

I think we may want this to default to 'la' and have an option to restrict it less.

brong commented 20 years ago

From: Rob Siemborski

where "option" implies "bitmask"

brong commented 20 years ago

From: Ken Murchison

I'm not sure we want to give 'a' to 'anyone' just to get access to this info, do we (I'm thinking in the NNTP space)?

brong commented 20 years ago

From: Rob Siemborski

I'm not convinced its critical, thats why I'd provide an option to change the bit (or to allow the use of a numeric bit).

There may be more questions here than I want to address at the moment.