•  
      story #7704 manage concurrent artifact edition in REST
    Summary
    Empty
    manage concurrent artifact edition in REST
    Empty
    may need to implement etags on
    - PUT artifacts/:id
    - GET artifacts/:id
    - GET trackers/:id/artifacts
    - GET tracker_reports/:id/artifacts

    - sending invalid Etag => 409 conflict
    - should not break calls with no etag header

    Note: concurrent edition might already be managed informally (E.g. last modified headers)- check before going any further.
    Empty
    Empty
    Status
    Empty
    Done
    Development
    • [ ] Does it involves User Interface? 
    • [ ] Are there any mockups?
    • [ ] Are permissions checked?
    • [ ] Does it need Javascript development?
    • [ ] Does it need a forge upgrade bucket?
    • [ ] Does it need to execute things in system events?
    • [ ] Does it impact project creation (templates)?
    • [ ] Is it exploratory?
    Empty
    Details
    #7704
    dylan bowden (dylan)
    2015-03-25 18:36
    2014-12-17 16:00
    7705

    References

    Follow-ups

    User avatar
    dylan bowden (dylan)2015-03-05 10:41
    last edited by: dylan bowden (dylan) 2015-03-05 10:41

    Found a very interesting article on the subject http://blog.4psa.com/rest-best-practices-managing-concurrent-updates.

    Unless there are objections, I'm not going to implement Etags for the moment. I'll add the Last-Modified and If-Umodified-Since headers as I think they are enough to cover the use cases. The reason for this is that Etags may be useful at a later date when we want to start optimising cached requested and I don't want to implement something now that might not be a nuisance later.