{"action":"created","issue":{"url":"https://api.github.com/repos/samvera/hyrax/issues/2311","repository_url":"https://api.github.com/repos/samvera/hyrax","labels_url":"https://api.github.com/repos/samvera/hyrax/issues/2311/labels{/name}","comments_url":"https://api.github.com/repos/samvera/hyrax/issues/2311/comments","events_url":"https://api.github.com/repos/samvera/hyrax/issues/2311/events","html_url":"https://github.com/samvera/hyrax/pull/2311","id":279564876,"number":2311,"title":"Implement IIIF Presentation API and Image API","user":{"login":"mjgiarlo","id":131982,"avatar_url":"https://avatars0.githubusercontent.com/u/131982?v=4","gravatar_id":"","url":"https://api.github.com/users/mjgiarlo","html_url":"https://github.com/mjgiarlo","followers_url":"https://api.github.com/users/mjgiarlo/followers","following_url":"https://api.github.com/users/mjgiarlo/following{/other_user}","gists_url":"https://api.github.com/users/mjgiarlo/gists{/gist_id}","starred_url":"https://api.github.com/users/mjgiarlo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mjgiarlo/subscriptions","organizations_url":"https://api.github.com/users/mjgiarlo/orgs","repos_url":"https://api.github.com/users/mjgiarlo/repos","events_url":"https://api.github.com/users/mjgiarlo/events{/privacy}","received_events_url":"https://api.github.com/users/mjgiarlo/received_events","type":"User","site_admin":false},"labels":[{"id":503705298,"url":"https://api.github.com/repos/samvera/hyrax/labels/in%20progress","name":"in progress","color":"ededed","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2017-12-05T23:11:07Z","updated_at":"2017-12-08T15:19:13Z","closed_at":null,"author_association":"OWNER","pull_request":{"url":"https://api.github.com/repos/samvera/hyrax/pulls/2311","html_url":"https://github.com/samvera/hyrax/pull/2311","diff_url":"https://github.com/samvera/hyrax/pull/2311.diff","patch_url":"https://github.com/samvera/hyrax/pull/2311.patch"},"body":"Refs sul-dlss/hydrox#77\r\n\r\nDiscussed on the December 6th Samvera Tech call and again on Slack, we decided the implementation in this PR (using a new, skippable generator, and having RIIIF integration set to `false` by default) was the right one.\r\n\r\nThis work was extracted from Hyku and adapted for use within an engine.\r\n\r\n# Description\r\n\r\nBy default, Hyrax will generate RIIIF into your application but will not 1) turn on the image server or 2) use UV-enabled show page. You can use the `--skip-riiif` flag to opt out of this when installing Hyrax. (A manual, optional step will be required to generate RIIIF into existing applications -- do not run this step if you want to keep RIIIF out of your application.)\r\n\r\nHyrax will provide IIIF manifests for works by default, though these may be of limited utility until backed by an image server.\r\n\r\nTo use the UV-enabled show page and provide more usable IIIF manifests, you need to integrate your Hyrax application with a IIIF image server. If you will be using an image server other than RIIIF, there will be configuration variables you can alter to generate URLs that point at your image server. If you will use RIIIF, assuming you ran the generator, you can enable this via configuration variable.\r\n\r\n# In Scope for this PR\r\n\r\n- [x] Create new `hyrax:riiif` generator that generates RIIIF into applications\r\n  - [x] Add to application `Gemfile`\r\n  - [x] Mount RIIIF engine on `config/routes.rb`\r\n  - [x] Generate RIIIF initializer into `config/initializers/riiif.rb`\r\n- [x] Install generator uses `hyrax:riiif` generator unless `--skip-riiif` flag is passed\r\n- [x] Create config variables\r\n  - [x] `Hyrax.config.iiif_image_server?`\r\n  - [x] `Hyrax.config.iiif_image_url_builder`\r\n  - [x] `Hyrax.config.iiif_info_url_builder`\r\n  - [x] `Hyrax.config.iiif_image_compliance_level_uri`\r\n  - [x] `Hyrax.config.iiif_image_size_default`\r\n- [x] Tests\r\n  - [x] `ManifestHelper#polymorphic_url`\r\n  - [x] `WorksControllerBehavior#manifest`\r\n  - [x] `FileSetPresenter`/`DisplaysImage`\r\n  - [x] `WorkShowPresenter#manifest_url`\r\n  - [x] `IIIFAuthorizationService`\r\n  - [x] `Configuration`\r\n  - [x] `curation_concerns_basic_routes` member get manifest route\r\n- [x] Documentation\r\n  - [x] https://github.com/samvera/hyrax/wiki/Hyrax-Management-Guide#image-server\r\n  - [x] https://github.com/samvera/hyrax/issues/2326\r\n\r\n# Out of Scope for this PR\r\n\r\n- [ ] Talk to @geekscruff about:\r\n  - [ ] Pull in UniversalViewer and use when `Hyrax.config.iiif_image_server?` is `true`\r\n  - [ ] Layer in the [`rendering_ids` change](https://github.com/samvera-labs/hyku/pull/1376)\r\n  - [ ] Layer in [adding metadata to the manifest](https://github.com/samvera-labs/hyku/pull/1436)\r\n  - [ ] Additional Javascript changes (mentioned by @geekscruff)\r\n- [ ] Follow up with\r\n  - [ ] Use IIIF for work and collection thumbnails (extract from Hyku) instead of generating them\r\n\r\n@samvera/hyrax-code-reviewers\r\n"},"comment":{"url":"https://api.github.com/repos/samvera/hyrax/issues/comments/350288797","html_url":"https://github.com/samvera/hyrax/pull/2311#issuecomment-350288797","issue_url":"https://api.github.com/repos/samvera/hyrax/issues/2311","id":350288797,"user":{"login":"jcoyne","id":92044,"avatar_url":"https://avatars2.githubusercontent.com/u/92044?v=4","gravatar_id":"","url":"https://api.github.com/users/jcoyne","html_url":"https://github.com/jcoyne","followers_url":"https://api.github.com/users/jcoyne/followers","following_url":"https://api.github.com/users/jcoyne/following{/other_user}","gists_url":"https://api.github.com/users/jcoyne/gists{/gist_id}","starred_url":"https://api.github.com/users/jcoyne/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jcoyne/subscriptions","organizations_url":"https://api.github.com/users/jcoyne/orgs","repos_url":"https://api.github.com/users/jcoyne/repos","events_url":"https://api.github.com/users/jcoyne/events{/privacy}","received_events_url":"https://api.github.com/users/jcoyne/received_events","type":"User","site_admin":false},"created_at":"2017-12-08T15:19:13Z","updated_at":"2017-12-08T15:19:13Z","author_association":"OWNER","body":"@mjgiarlo please rebase."}}
{"actor":{"display_login":"jcoyne"}}