Tuesday, May 6, 2008

Technical documentation for OSM API 0.6

We've got some stick for not documenting the hack weekend properly. Now feedback reaches me from the weekend that this blog is already considered the premier news channel for OSM, so I figured, where better to write it up than here?

So you can now do stuff with users, like associate the id with the username, but there's more. In particular we've added some social stuff
PUT /api/0.6/user/Sfan00/clue
helps you impart clue to mappers, it's much more efficient than the current messaging system.

Obviously this is fully RESTful so we'll also be supporting
GET /api/0.6/user/SteveC/clue
so my fans can benefit from my years of accumulated wisdom.

Don't ask what the DELETE method does, it's at the far reaches of ethics and we've got to get Jordan to look into the legal side before it goes live.

Also we're introducing changesets. Now we've written some stuff on the wiki about this being necessary for revert and integrity and all that.

Actually this is all a smokescreen and it's come out of my discussions with Mikel about the Cyprus problem. Basically we're using it to implement a bozo filter. When a bozo commits a changeset, it's automatically tagged with "bozo=yes" and no-one else can view it - only him. When he goes back into JOSM or Potlatch or that other one with the bolshie developer, it all shows up for him, so he doesn't suspect.

We've been testing this for a while, so if you ever wonder why your changes aren't showing up on the main map, it's probably because you're a bozo.

(The other good thing about this is it lets us support editing by horses in the future.)

Finally, by popular request we're also going to be supporting WMS, I've done most of the code for this already

def wms
sleep 15.0
puts "503 Service Unavailable"
end

No comments: