{"action":"created","issue":{"url":"https://api.github.com/repos/vufind-org/vufind/issues/693","repository_url":"https://api.github.com/repos/vufind-org/vufind","labels_url":"https://api.github.com/repos/vufind-org/vufind/issues/693/labels{/name}","comments_url":"https://api.github.com/repos/vufind-org/vufind/issues/693/comments","events_url":"https://api.github.com/repos/vufind-org/vufind/issues/693/events","html_url":"https://github.com/vufind-org/vufind/pull/693","id":151884572,"number":693,"title":"Channels (explore mode / advanced browse)","user":{"login":"demiankatz","id":309069,"avatar_url":"https://avatars.githubusercontent.com/u/309069?v=3","gravatar_id":"","url":"https://api.github.com/users/demiankatz","html_url":"https://github.com/demiankatz","followers_url":"https://api.github.com/users/demiankatz/followers","following_url":"https://api.github.com/users/demiankatz/following{/other_user}","gists_url":"https://api.github.com/users/demiankatz/gists{/gist_id}","starred_url":"https://api.github.com/users/demiankatz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/demiankatz/subscriptions","organizations_url":"https://api.github.com/users/demiankatz/orgs","repos_url":"https://api.github.com/users/demiankatz/repos","events_url":"https://api.github.com/users/demiankatz/events{/privacy}","received_events_url":"https://api.github.com/users/demiankatz/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/vufind-org/vufind/labels/discussion","name":"discussion","color":"0052cc"},{"url":"https://api.github.com/repos/vufind-org/vufind/labels/new%20feature","name":"new feature","color":"c5def5"}],"state":"open","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/vufind-org/vufind/milestones/2","html_url":"https://github.com/vufind-org/vufind/milestones/3.1","labels_url":"https://api.github.com/repos/vufind-org/vufind/milestones/2/labels","id":1739037,"number":2,"title":"3.1","description":"","creator":{"login":"crhallberg","id":451107,"avatar_url":"https://avatars.githubusercontent.com/u/451107?v=3","gravatar_id":"","url":"https://api.github.com/users/crhallberg","html_url":"https://github.com/crhallberg","followers_url":"https://api.github.com/users/crhallberg/followers","following_url":"https://api.github.com/users/crhallberg/following{/other_user}","gists_url":"https://api.github.com/users/crhallberg/gists{/gist_id}","starred_url":"https://api.github.com/users/crhallberg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/crhallberg/subscriptions","organizations_url":"https://api.github.com/users/crhallberg/orgs","repos_url":"https://api.github.com/users/crhallberg/repos","events_url":"https://api.github.com/users/crhallberg/events{/privacy}","received_events_url":"https://api.github.com/users/crhallberg/received_events","type":"User","site_admin":false},"open_issues":3,"closed_issues":2,"state":"open","created_at":"2016-04-29T17:31:54Z","updated_at":"2016-05-11T19:01:29Z","due_on":null,"closed_at":null},"comments":2,"created_at":"2016-04-29T14:45:59Z","updated_at":"2016-05-18T18:32:00Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/vufind-org/vufind/pulls/693","html_url":"https://github.com/vufind-org/vufind/pull/693","diff_url":"https://github.com/vufind-org/vufind/pull/693.diff","patch_url":"https://github.com/vufind-org/vufind/pull/693.patch"},"body":"New feature to offer new mechanisms for exploring the collection.\r\n\r\nTo try it out, use this branch and access either:\r\n\r\nhttp://your-server/vufind/Channels/Search?lookfor=your+search+terms\r\n\r\nor\r\n\r\nhttp://your-server/vufind/Channels/Record?id=your-record-id&source=your-record-source\r\n\r\nTO-DO\r\n- [ ] Discuss name of feature; \"Channels\" is a prototype name, but \"Explore\" or something else might be better.\r\n- [x] Add missing comments (currently causing Travis build failure)\r\n- [x] Define a ChannelProviderInterface\r\n- [x] Build plugin manager for ChannelProviders\r\n- [ ] Design channels.ini (or YAML, or JSON, if deeper structures needed) for configuring the available channels\r\n- [x] Implement \"generate channels from record\" to complement \"generate channels from search\"\r\n- [ ] Refine format of channels returned by ChannelProviders\r\n- [ ] Work out challenges related to displaying thumbnails without a RecordDriver object\r\n- [ ] Design more ChannelProviders to create a good baseline set of options\r\n- [ ] Develop algorithm for selecting a good mix of channels from available providers\r\n- [ ] Design user interface (and corresponding object interface) for selecting more channels.\r\n- [ ] Improve style/behavior of carousels.\r\n- [ ] Implement deduplication algorithm (can/should we maximize variety by making sure each channel's entries are different?)\r\n- [ ] Implement caching (can/should we cache channel results to improve speed and reduce load?)\r\n- [ ] Document in Wiki when ready to merge."},"comment":{"url":"https://api.github.com/repos/vufind-org/vufind/issues/comments/220117498","html_url":"https://github.com/vufind-org/vufind/pull/693#issuecomment-220117498","issue_url":"https://api.github.com/repos/vufind-org/vufind/issues/693","id":220117498,"user":{"login":"demiankatz","id":309069,"avatar_url":"https://avatars.githubusercontent.com/u/309069?v=3","gravatar_id":"","url":"https://api.github.com/users/demiankatz","html_url":"https://github.com/demiankatz","followers_url":"https://api.github.com/users/demiankatz/followers","following_url":"https://api.github.com/users/demiankatz/following{/other_user}","gists_url":"https://api.github.com/users/demiankatz/gists{/gist_id}","starred_url":"https://api.github.com/users/demiankatz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/demiankatz/subscriptions","organizations_url":"https://api.github.com/users/demiankatz/orgs","repos_url":"https://api.github.com/users/demiankatz/repos","events_url":"https://api.github.com/users/demiankatz/events{/privacy}","received_events_url":"https://api.github.com/users/demiankatz/received_events","type":"User","site_admin":false},"created_at":"2016-05-18T18:32:00Z","updated_at":"2016-05-18T18:32:00Z","body":"Thanks for adding the new UI elements to handle search / channels navigation. This revealed that I had a bug in my URL generation, which I have fixed. One outstanding issue: the buttons appear even if the channel provides no links. Both link values are optional, so the buttons should display conditionally. Can you fix that when you get a chance?\r\n\r\nPossible next step: develop a mechanism for dropping more channels into the existing page via AJAX. When I have time, I'll see if I can start building the necessary infrastructure."}}