On Mar 6, 2006, at 7:21 PM, Lisa Dusseault wrote:
I understand that doing a PUT for both these parts of the stamped
resource is non-atomic. But there may be other ways of solving that
part.
1. Microsoft invented a WebDAV extension to combine multiple
requests in a transaction:
LOCK with special syntax to start transaction and get transaction ID
PUT #1 with Transaction header to do the first resource created in
the transaction
PUT #2 with same Transaction header
UNLOCK with transaction ID to commit the changes
Cool. Do they have any documentation for this? Is it on any standards
track?
2. The "If" header allows you to create two resources in a way
that creating the second one relies on the existence of the first
one. The second PUT would look like this
PUT /users/lisa/work/task-prepare-staff-meeting HTTP/1.1
If: <http://share.o11n.org/users/lisa/work/staff-meeting-event>
([event-etag])
Content-Type: text/calendar
...
There's two options, there may be others.
I'm not sure how that would solve the transactionality problem. If
the second PUT failed, the first one would still remain, no?
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Open Source Applications Foundation "Dev" mailing list
http://lists.osafoundation.org/mailman/listinfo/dev