[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [sup-devel] sup-server revisited



Reformatted excerpts from Nicolas Pouillard's message of 2011-02-23:
> I would not go for "labels on threads" only, here is a list of labels that
> are more message based than thread based: unread, starred, draft, sent,
> attachment. And while it would make sense to have special cases for those
> this also prevents from user defined per message labels.

One of the major goals of Heliotrope is to formalize this type of thing and to
implement it correctly. Here's the model:

- Individual messages have "state", including unread, starred, and all the
  other things you've mentioned.
- Threads have "labels", which are user-defined.
- Message state is mapped onto thread labels by taking the union of the states
  of all the messages in a thread. E.g. if one message is unread, the entire
  thread has the unread label.
- Sup maintains that mapping for you.
- The user can set (some of) the state of a particular message.
- The user can set the labels for a thread, but can't create labels that have
  the same name as a message state.
- The labels of a thread match all messages in a thread at search time.

Sup conflates these things, maintains labels on messages only, and does some UI
stuff to make it seem like they apply to threads. It's easy to find corner
cases where you get weird behavior.
-- 
William <wmorgan-sup@masanjin.net>
_______________________________________________
Sup-devel mailing list
Sup-devel@rubyforge.org
http://rubyforge.org/mailman/listinfo/sup-devel