You are raising a very interesting point. Yes it would be possible to handle ID change but it requires an update of the API/spec and rest.py.
The update of body content either happens during creation or update. The case where you create an object should be compatible with IMAP as long as it's a first-time operation, which means as long as you retain and only commit data to the store when saving or submitting the message. For the update, the backend would still be expected to "commit" the change *only* when save operation is called. The reply to the save operation can be used to communicate back this requirement to the server and trigger an update mechanism at the indexing level. We would still have the same exchange ID, but the backend URL would have changed. The payload of the backend would have to return a specific retval and provide the ID where the resource can next be found and accessed. OpenChange server would use this data to update the indexing database both in persistent and volatile storage. The changes in mapistore-python don't seem too important to handle this use case properly. If we work out the details of this spec update on the list, I can schedule some time to handle this at rest.py or guide you through required set of changes if it is a priority for you and you need it quickly. On 08/04/15 11:46, Aleksander Machniak wrote: > http://www.openchange.org/documentation/api/mapistore-http/index.html#put--mails-%28id%29- > > The example for mail object update modifies its body. That's problematic > in IMAP. I mean flag/category update would be fine, but any modification > of the message content would require the message identifier change in > IMAP. So, is the body update really expected to work and should I return > an error, or it is possible to handle the ID change somehow? > -- Julien Kerihuel [email protected] OpenChange Project Founder Twitter: http://twitter.com/jkerihuel GPG Fingerprint: 0B55 783D A781 6329 108A B609 7EF6 FE11 A35F 1F79
signature.asc
Description: OpenPGP digital signature
_______________________________________________ devel mailing list [email protected] http://mailman.openchange.org/listinfo/devel
