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


Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
devel mailing list
[email protected]
http://mailman.openchange.org/listinfo/devel

Reply via email to