{"action":"created","issue":{"url":"https://api.github.com/repos/Islandora-CLAW/CLAW/issues/137","repository_url":"https://api.github.com/repos/Islandora-CLAW/CLAW","labels_url":"https://api.github.com/repos/Islandora-CLAW/CLAW/issues/137/labels{/name}","comments_url":"https://api.github.com/repos/Islandora-CLAW/CLAW/issues/137/comments","events_url":"https://api.github.com/repos/Islandora-CLAW/CLAW/issues/137/events","html_url":"https://github.com/Islandora-CLAW/CLAW/issues/137","id":128188022,"number":137,"title":"UUID V4 versus UUID V5, which is your choice?","user":{"login":"DiegoPino","id":6946023,"avatar_url":"https://avatars.githubusercontent.com/u/6946023?v=3","gravatar_id":"","url":"https://api.github.com/users/DiegoPino","html_url":"https://github.com/DiegoPino","followers_url":"https://api.github.com/users/DiegoPino/followers","following_url":"https://api.github.com/users/DiegoPino/following{/other_user}","gists_url":"https://api.github.com/users/DiegoPino/gists{/gist_id}","starred_url":"https://api.github.com/users/DiegoPino/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/DiegoPino/subscriptions","organizations_url":"https://api.github.com/users/DiegoPino/orgs","repos_url":"https://api.github.com/users/DiegoPino/repos","events_url":"https://api.github.com/users/DiegoPino/events{/privacy}","received_events_url":"https://api.github.com/users/DiegoPino/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/Islandora-CLAW/CLAW/labels/enhancement","name":"enhancement","color":"84b6eb"},{"url":"https://api.github.com/repos/Islandora-CLAW/CLAW/labels/help%20wanted","name":"help wanted","color":"159818"}],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":7,"created_at":"2016-01-22T16:07:15Z","updated_at":"2016-04-23T16:34:25Z","closed_at":"2016-04-23T16:34:25Z","body":"Doing the UUID generator for our new php services a good question jumped out of the blue:\r\n\r\nDo we want UUID V4 (random) for our fedora4 Resources or is a not random, but a (namespace, word) UUID, which can be re-generated consistently when using the same input also a nice idea?\r\n\r\nAll you know UUID V4. it's simple to generate, it's pseudo unique (can eventually collide)\r\nUUID V5 is based on an initial, other UUID, named namespace UUID + an local identifier. \r\nIf we, for example have a domain name www.islandora.ca, we can generate a final UUID V5\r\nby using a two step generation:\r\n1.- First generate the base namespace UUID (for www.islandora.ca)\r\n2.- Use this namespace + for example the fedora 4 resource path for an object /rest/someobject1 to generate a final UUID. Both V4 and V5 look the same (same regex to validate), but!\r\na) we can having both inputs always regenerate the UUID (something like guess based in the resource path and the domain)\r\nb) different services can generated always the same if needed\r\nc) if two repositories have the same resource paths but different domains, we get two different UUIDs.\r\nd) so many other ideas...\r\n\r\nPROS of V4: quick, easy\r\nCONS: collision is an option in the long long term\r\n\r\nPROS of V5: not that easy, not random\r\nCONS: flexible, multiple domains using the same local identifier (word) will generate different UUID\r\nMultiple services can consistently generate always the same UUID (e.g we can guess the uuid based on domain + resource path without doing a sparql query)\r\n\r\nI leave this to you here, it's not critical thing, but it's a good question and each option can be good/bad depending on use cases.\r\n\r\nDiego Pino N"},"comment":{"url":"https://api.github.com/repos/Islandora-CLAW/CLAW/issues/comments/213776233","html_url":"https://github.com/Islandora-CLAW/CLAW/issues/137#issuecomment-213776233","issue_url":"https://api.github.com/repos/Islandora-CLAW/CLAW/issues/137","id":213776233,"user":{"login":"ruebot","id":218561,"avatar_url":"https://avatars.githubusercontent.com/u/218561?v=3","gravatar_id":"","url":"https://api.github.com/users/ruebot","html_url":"https://github.com/ruebot","followers_url":"https://api.github.com/users/ruebot/followers","following_url":"https://api.github.com/users/ruebot/following{/other_user}","gists_url":"https://api.github.com/users/ruebot/gists{/gist_id}","starred_url":"https://api.github.com/users/ruebot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ruebot/subscriptions","organizations_url":"https://api.github.com/users/ruebot/orgs","repos_url":"https://api.github.com/users/ruebot/repos","events_url":"https://api.github.com/users/ruebot/events{/privacy}","received_events_url":"https://api.github.com/users/ruebot/received_events","type":"User","site_admin":false},"created_at":"2016-04-23T16:34:25Z","updated_at":"2016-04-23T16:34:25Z","body":"Resolved with http://ldcx2016.sched.org/event/6Ws7/11a-edm-dpla-map-pcdm-iiif-alignment"}}