On Thu, Jun 3, 2010 at 2:26 AM, <a href="mailto:jamesmikedupont@googlemail.com">jamesmikedupont@googlemail.com</a> <span dir="ltr"><<a href="mailto:jamesmikedupont@googlemail.com">jamesmikedupont@googlemail.com</a>></span> wrote:<br>
<div class="gmail_quote"><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">Hi,<br>
here is a humble suggestion, instead of giving *everything* unique id,<br>
we might focus on making some form of permalink that is usable upon<br>
request. Like for wikipedia articles etc, that we can link to and be<br>
relatively sure that the link will still be there. Some form of watch<br>
tool that would inform the user that the permalink he created is<br>
broken.<br>
It would be easier to maintain a list of "don't break me" links than<br>
to rework the whole system.<br>
mike<br></blockquote><div><br>Okay, here's a plan.  I took some of the detail from <a href="http://wiki.openstreetmap.org/wiki/Proposed_features/UUID">http://wiki.openstreetmap.org/wiki/Proposed_features/UUID</a> but adapted it a bit:<br>
<br>*From the URL for any node/way/relation (or lat/lon pair) one can click on a button "make permanent link".<br>*The node/way/relation gets tagged with uuid=*, where * is generated using an algorithm expected to create a universally unique id (I'll let someone more expert determine how, but I was thinking some sort of hash on the xml of the feature itself plus the time).  If a lat/lon pair is created then a new node is created with that uuid.<br>
*A wiki page is set up where <a href="http://domain/wiki/UUID">http://domain/wiki/UUID</a> has text, links, and a slippy map.  The slippy map highlights the element which has the UUID.  The text is meant to be brief - only enough to uniquely identify the "thing" (perhaps the description text could even be duplicated in a uuid_description tag).  Links would be used for the actual interesting data about the "thing".<br>
*If more than one element points to the same UUID, this is an error - use a relation if you want to do this.<br>*Mappers are encouraged to check <a href="http://domain/wiki/UUID">http://domain/wiki/UUID</a> before deleting or repurposing nodes/ways/relations.<br>
*A bot goes through regularly checking for additions, deletions, drastic changes, duplicate UUIDs, etc., and adds them to a list for people to manually check/fix.<br>*All external sources are encouraged to point to UUIDs, not to the element id.<br>
<br>Please note that I've abandoned the functionality of having multiple uuids on a single element (e.g. uuid:building and uuid:shop).  I felt that this overcomplicates things from the standpoint of someone clicking on "make permanent link" - they shouldn't have to know anything about the internal workings of OSM and I want to maintain the flexibility to tag *anything*, not just a predetermined list of things.  I suppose this could be allowed for advanced users who want to do things by hand, but it's not in this plan.<br>
<br>Anthony<br></div></div>