All records in Sahana Eden which shall be shared with other instances or applications must have a universally unique identifier (UUID).
In Sahana Eden, these record UUIDs must be ASCII strings.
Eden automatically generates a UUID for each record according to the specifications in RFC4122:
All record UUIDs generated by Sahana Eden are strings in URN notation:
If a record is imported into Sahana Eden and it already has a UUID, then Eden will retain this UUID as-is (exception: local domain prefix, see below) - without any syntax validation. That means, no specific identifier schema is required. However: for consistency reasons, we recommend to use URNs even for other identifier schemas than UUID.
Some data formats (e.g. PFIF) may require a domain prefix for a UUID, followed by a slash:
Where such a domain prefix is used and it matches the local domain of the importing Sahana instance, it will be removed during import.
In exports, the transformation stylesheets for formats which require a domain prefix will prepend the local domain to each un-prefixed UUID.
We need an agreed set of UUIDs for GIS Data so that we can share data more easily across systems, such as the current Pakistan data
- OpenStreetMap IDs can change over time if records are deleted/recreated
- They can hold additional uid/uuid fields though
- Geonames data isn't free enough for OSM: http://wiki.openstreetmap.org/wiki/Geonames
- Geonet can be: http://wiki.openstreetmap.org/wiki/GEOnet_Names_Server
- Yahoo WoE data is in the public domain:
- Ushahidi doesn't have a common set of IDs across instances
- No space for a UUID either?
- Longer-term we need a common central repository of UUIDs that is held for the common good.
- Propose that Sahana start this off & then give up ownership/branding later:
- Sahana can use UUIDs of format: http://geo.sahanafoundation.org/<ID>
- These are associated with an OSM ID, Geonames ID & any Ushahidi instances for cross-correlation via the gis_location_tag table
- The Source ID field shows the source, so that OSM export can filter out sources like Geonames