{"action":"created","issue":{"url":"https://api.github.com/repos/UniversalViewer/universalviewer/issues/251","repository_url":"https://api.github.com/repos/UniversalViewer/universalviewer","labels_url":"https://api.github.com/repos/UniversalViewer/universalviewer/issues/251/labels{/name}","comments_url":"https://api.github.com/repos/UniversalViewer/universalviewer/issues/251/comments","events_url":"https://api.github.com/repos/UniversalViewer/universalviewer/issues/251/events","html_url":"https://github.com/UniversalViewer/universalviewer/issues/251","id":138939796,"number":251,"title":"@id for image service in manifest ignored","user":{"login":"nicolasfranck","id":494636,"avatar_url":"https://avatars.githubusercontent.com/u/494636?v=3","gravatar_id":"","url":"https://api.github.com/users/nicolasfranck","html_url":"https://github.com/nicolasfranck","followers_url":"https://api.github.com/users/nicolasfranck/followers","following_url":"https://api.github.com/users/nicolasfranck/following{/other_user}","gists_url":"https://api.github.com/users/nicolasfranck/gists{/gist_id}","starred_url":"https://api.github.com/users/nicolasfranck/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nicolasfranck/subscriptions","organizations_url":"https://api.github.com/users/nicolasfranck/orgs","repos_url":"https://api.github.com/users/nicolasfranck/repos","events_url":"https://api.github.com/users/nicolasfranck/events{/privacy}","received_events_url":"https://api.github.com/users/nicolasfranck/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2016-03-07T10:11:36Z","updated_at":"2016-03-07T13:36:03Z","closed_at":null,"body":"The \"@id\" attribute for an image service in the manifest is used to fetch the info.json,\r\nbut from that point on, it uses the \"@id\" that is stored in that info.json.\r\n\r\nmanifest:\r\n```\r\n[..]\r\nresource: {\r\n  service: {\r\n    @id: \"http://localhost/IIIF/image/archive.ugent.be%3A422E3B3C-188F-11E2-BBAF-A1630D0ED9C1%3ADS.101\",\r\n    @context: \"http://iiif.io/api/image/2/context.json\",\r\n    profile: \"http://iiif.io/api/image/2/level1.json\"\r\n  },\r\n  @id: \"http://localhost/IIIF/image/archive.ugent.be%3A422E3B3C-188F-11E2-BBAF-\r\nA1630D0ED9C1%3ADS.101/full/full/0/native.jpg\",\r\n  @type: \"dctypes:Image\",\r\n  height: 3867,\r\n  format: \"image/jpeg\",\r\n  width: 2461\r\n}\r\n[..]\r\n```\r\n\r\ninfo.json\r\n```\r\n{\r\n  \"@context\" : \"http://iiif.io/api/image/2/context.json\",\r\n  \"@id\" : \"http://localhost/IIIF/image/archive/ugent/be/422E3B3C/188F/11E2/BBAF/A1630D0ED9C1/DS.101\",\r\n  \"protocol\" : \"http://iiif.io/api/image\",\r\n  \"width\" : 2461,\r\n  \"height\" : 3867,\r\n  \"tiles\" : [\r\n     { \"width\" : 256, \"height\" : 256, \"scaleFactors\" : [ 1, 2, 4, 8, 16 ] }\r\n  ],\r\n  \"profile\" : [\r\n     \"http://iiif.io/api/image/2/level1.json\",\r\n     { \"formats\" : [ \"jpg\" ],\r\n       \"qualities\" : [ \"native\",\"color\",\"gray\" ],\r\n       \"supports\" : [\"regionByPct\",\"sizeByForcedWh\",\"sizeByWh\",\"sizeAboveFull\",\"rotationBy90s\",\"mirroring\",\"gray\"] }\r\n  ]\r\n}\r\n```\r\n\r\nIn the above example, the path is rewritten so that the IIPServer has a path relative to its\r\nbase directory (FILESYSTEM_PREFIX):\r\n```\r\narchive/ugent/be/422E3B3C/188F/11E2/BBAF/A1630D0ED9C1/DS.101\r\n```\r\n\r\nI know boths ids should be equal, but I have to do all kinds of url rewriting to get from\r\nan identifier to a real file path that the IIPServer understands.\r\n\r\nOr is it this more a job for the IIPServer, to do some basic resolving (i.e. rewriting, not database lookups)?"},"comment":{"url":"https://api.github.com/repos/UniversalViewer/universalviewer/issues/comments/193250471","html_url":"https://github.com/UniversalViewer/universalviewer/issues/251#issuecomment-193250471","issue_url":"https://api.github.com/repos/UniversalViewer/universalviewer/issues/251","id":193250471,"user":{"login":"tomcrane","id":1443575,"avatar_url":"https://avatars.githubusercontent.com/u/1443575?v=3","gravatar_id":"","url":"https://api.github.com/users/tomcrane","html_url":"https://github.com/tomcrane","followers_url":"https://api.github.com/users/tomcrane/followers","following_url":"https://api.github.com/users/tomcrane/following{/other_user}","gists_url":"https://api.github.com/users/tomcrane/gists{/gist_id}","starred_url":"https://api.github.com/users/tomcrane/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tomcrane/subscriptions","organizations_url":"https://api.github.com/users/tomcrane/orgs","repos_url":"https://api.github.com/users/tomcrane/repos","events_url":"https://api.github.com/users/tomcrane/events{/privacy}","received_events_url":"https://api.github.com/users/tomcrane/received_events","type":"User","site_admin":false},"created_at":"2016-03-07T13:36:03Z","updated_at":"2016-03-07T13:36:03Z","body":"(you would need to escape the slashes in my example as they form part of the image identifier)"}}