Opened 14 years ago

Closed 11 years ago

#152 closed enhancement (fixed)

A cvs-like API

Reported by: Immanuel Scholz Owned by: Immanuel Scholz
Priority: critical Milestone:
Component: api Version:
Keywords: Cc: tom@…, Shaun McDonald


I suggest the following changes to the API:

  • Server tells on every data object the date of last modify. Alternative, he

can just send a timestamp on the overall response which must not be before the edit time of the latest change (current server time fits ;).

  • The client must specify on each upload the timestamp he thinks is the latest

version (obtained by downloading).

  • The server reject an upload, if the timestamp sent is before the latest

change timestamp of the object to upload.

Change History (7)

comment:1 Changed 14 years ago by Immanuel Scholz

Priority: majorcritical

I'd like to see this done before IoW, since there we will have several editings on a very small area.

If the server part is done, I'll implement it for the applet and JOSM. :-)

comment:2 Changed 14 years ago by Immanuel Scholz

Owner: changed from steve@… to Immanuel Scholz
Status: newassigned

Ok. Steve is busy installing the new boxes. Ruby can't be THAT difficult.. I try! ;-)

comment:3 Changed 13 years ago by writetodan@…

perhaps an incrementing database revision number would be better, is more explicit about ordering, simpler, no time sync issues...

comment:4 Changed 13 years ago by writetodan@…

plus transactional commit / rollback for multiple changes?

comment:5 Changed 13 years ago by Shaun McDonald

Cc: Shaun McDonald added

comment:6 Changed 12 years ago by Shaun McDonald

Cc: tom@… added

comment:7 Changed 11 years ago by Andy Allan

Resolution: fixed
Status: assignedclosed

This functionality has now been fixed with API 0.6. However instead of the timestamp of the latest version of the node/way/relation, it has been implemented with explicit version numbers instead. The server will now reject uploads where the client has the wrong version number.

Note: See TracTickets for help on using tickets.