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

Re: More on the annotation format



Steinar Bang <sb@metis.no> writes:

> Hm... I think we have the following design requirements:
>  - should be able to annotate read-only folders as well as read/write
>    folders 

This is only really useful in two cases.

  1) The "Neat" Case:
     In shared folders, people could add annotations to a message in
     the context of, for example, doing user support.  This can really
     be done with threading normally, though.

  2) The "Fixing Things" Case:
     I'm unconvinced of the need for this one, but it's something that
     people have mentioned as a real need to edit articles.  This case
     is for when you want to edit messages because they're "bad"
     somehow.  While this may be a nice thing to do for other people,
     I'd argue that once you've edited it, it's not the same message
     any more, and that it's better to just fix it on the fly.  (I,
     specifically, would never want this to happen, because I'd like
     to have some way to find out how it was broken in the first
     place.  I want to see the messages people have sent me, nothing
     else.)

>  - it should be easy to add new annotation information to the format.
>    For now we can think of reparenting/rethreading and MIME type
>    remapping, but new annotations should be easy to add.

I'd like to consider this sort of info to be extended information
rather than message editing.  Then the most reasonable way to consider
the message in another folder is as providing that extra information,
either in a Gnus-specific way, or a more general way.  The "real"
message isn't replaced with anything, but rather sort of "overlayed"
with it.



Finally, the only problem I see occurring with the annotation message
model is when more than one person is interacting with the system at a
time... You get into the same wonderful locking problems you'd have on
a filesystem, except that there's no locking possible.  



What if, instead of having a single annotation folder, there can be
multiple annotation folders, and each "real" folder can be set to look
at one or more of this annotation folders independently?  As an example:

(my INBOX)
user.prevost                                       user.kapoor
     ^                                                  ^
     |                                                  |
     |                                                  |
     |                                                  |
user.prevost.annotations                           user.kapoor.annotations
     \                                                    |
       \                                                  |
         \                  list.nnimap.annotations       |
           \                     |                       /
             \________           |                 -----
                       \         v               /
                         -->list.nnimap<--------



In the above diagram, -> means "annotates".  Maybe there's a shared
set of annotations in list.nnimap.annotations that are maintained by
some automatic program or whoever is "in charge" of the folder.  In
addition, both I and kapoor maintain our personal annotations.  If I
wanted to, I could also use his annotations, and he could use mine,
but we would not be able to write to each others annotations.

Either or both of us can choose any combination of the three folders
to use for annotations on list.nnimap, regardless of whether we can
write to the folder or not.


John.