--On Thursday, March 20, 2003 2:59 PM -0800 Hugh McIntyre <[EMAIL PROTECTED]> wrote:
| Strongly preferred because: | | * If you do the append/expunge solution then the modified message is now | at the end of the mailbox with no obvious way to fix things so the user | sees it in the original location. This seems like a big problem for me | at least.
That depends on the typical sort order that users use. If they sort by sequence number (natura sort order) then yes it is broken. If they sort by date sent/received, thread etc it will be fine. Now that IMAP has support for SORT/THREAD its not as much of an isue as it was before.
| * Append/expunge does not match IMAP's usual delete model with repect to | being able to store a \Deleted flag and only have this really take | effect on the next expunge. With the opportunity to undo the deletion | before that. It would be better if deleting attachments would work | the same way, not least because: | | * if I have a message with three attachments and want to delete 2 of | them, I would prefer not to do two appends in sequence.
Clearly you can do a single append to make all the changes you want in one go. In fact right now I have a manual process like this that I give out to our users who really want to do it, and it works fine.
| I do agree with the outline of the solution you propose though, i.e. | go ahead and nuke the data (with a "removed' or "deleted" header) but | claim in the bodystructure that it's still there. And then on fetches | either return "NO" for a fetch of that specific body part or fake out | blank content for partial or whole-message fetches. | | And incidentally I am one of the people who definitely wants this feature. | | You'd want some way to fetch an appropriate annotation (or these headers) | to allow showing the client that the attachment was not there. Ideally | at least.
I think 'Content-Disposition: removed' with a parameter to indicate when it was removed and perhaps who removed it would suffice. Annotations would work as well, but I would not want this to depend on the presence of annotations.
-- Cyrus Daboo
