{"action":"opened","issue":{"url":"https://api.github.com/repos/instructure/canvas-lms/issues/845","repository_url":"https://api.github.com/repos/instructure/canvas-lms","labels_url":"https://api.github.com/repos/instructure/canvas-lms/issues/845/labels{/name}","comments_url":"https://api.github.com/repos/instructure/canvas-lms/issues/845/comments","events_url":"https://api.github.com/repos/instructure/canvas-lms/issues/845/events","html_url":"https://github.com/instructure/canvas-lms/issues/845","id":160254664,"number":845,"title":"a better way to auto-create assignments bound to external tools?","user":{"login":"judell","id":46509,"avatar_url":"https://avatars.githubusercontent.com/u/46509?v=3","gravatar_id":"","url":"https://api.github.com/users/judell","html_url":"https://github.com/judell","followers_url":"https://api.github.com/users/judell/followers","following_url":"https://api.github.com/users/judell/following{/other_user}","gists_url":"https://api.github.com/users/judell/gists{/gist_id}","starred_url":"https://api.github.com/users/judell/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/judell/subscriptions","organizations_url":"https://api.github.com/users/judell/orgs","repos_url":"https://api.github.com/users/judell/repos","events_url":"https://api.github.com/users/judell/events{/privacy}","received_events_url":"https://api.github.com/users/judell/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2016-06-14T18:43:34Z","updated_at":"2016-06-14T18:43:34Z","closed_at":null,"body":"### Scenario\r\n\r\nEnabling teachers to create \"annotation assignments\" -- i.e., web pages, or PDFs in a course's Files folder, that students are expected to annotate.  \r\n\r\n### What currently works\r\n\r\nI have a pair of LTI apps, one adds annotation using the Hypothesis proxy to embed annotation in a free-range web page, the other rehosts a PDF from Canvas and serves it back with an annotation wrapper. The URLs for those tools look like:\r\n\r\nA //host/lti_web?url=http://example.com\r\n\r\nB //host/lti_pdf?file=3 \r\n\r\nThere's a companion pair of LTI apps that work as factories. That is, they create external tools with URLs like the above, and also create assignments bound to those tools. The factory for A asks the user for a set of URLs for which to create _web annotation assignments_, and the factory for B creates _pdf annotation assignments_ from files in a course's Files repo. \r\n\r\n### What I'd like to streamline\r\n\r\nThis method works but generates a lot of clutter. For each wrapped PDF, and for each web URL, there's a [ tool, assignment ] pair added to the course. Is there a way to parameterize the pdf-assignment-creating and web-assignment-creating tools so that one of each can be available to many auto-created assignments? \r\n\r\nWhen I try just auto-creating an assignment bound to a parameterized URL (e.g. ?file=3 or ?url=example.com) I get \"couldn’t find valid settings for link\" from application_controller.rb. I added some tracing and found that ContextExternalTool.find_external_tool won't return a match unless there's a tool with that exact URL. But I'm a Canvas newbie and quite likely am missing something about how that matching works."}}
{"actor":{"display_login":"judell"}}