{"action":"created","issue":{"url":"https://api.github.com/repos/edx-solutions/xblock-drag-and-drop-v2/issues/83","repository_url":"https://api.github.com/repos/edx-solutions/xblock-drag-and-drop-v2","labels_url":"https://api.github.com/repos/edx-solutions/xblock-drag-and-drop-v2/issues/83/labels{/name}","comments_url":"https://api.github.com/repos/edx-solutions/xblock-drag-and-drop-v2/issues/83/comments","events_url":"https://api.github.com/repos/edx-solutions/xblock-drag-and-drop-v2/issues/83/events","html_url":"https://github.com/edx-solutions/xblock-drag-and-drop-v2/pull/83","id":166645718,"number":83,"title":"[SOL-1909] Multiple Drop Targets per Item","user":{"login":"haikuginger","id":7773758,"avatar_url":"https://avatars.githubusercontent.com/u/7773758?v=3","gravatar_id":"","url":"https://api.github.com/users/haikuginger","html_url":"https://github.com/haikuginger","followers_url":"https://api.github.com/users/haikuginger/followers","following_url":"https://api.github.com/users/haikuginger/following{/other_user}","gists_url":"https://api.github.com/users/haikuginger/gists{/gist_id}","starred_url":"https://api.github.com/users/haikuginger/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/haikuginger/subscriptions","organizations_url":"https://api.github.com/users/haikuginger/orgs","repos_url":"https://api.github.com/users/haikuginger/repos","events_url":"https://api.github.com/users/haikuginger/events{/privacy}","received_events_url":"https://api.github.com/users/haikuginger/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":15,"created_at":"2016-07-20T18:10:16Z","updated_at":"2016-07-28T21:08:31Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/edx-solutions/xblock-drag-and-drop-v2/pulls/83","html_url":"https://github.com/edx-solutions/xblock-drag-and-drop-v2/pull/83","diff_url":"https://github.com/edx-solutions/xblock-drag-and-drop-v2/pull/83.diff","patch_url":"https://github.com/edx-solutions/xblock-drag-and-drop-v2/pull/83.patch"},"body":"This PR implements SOL-1909, and allows instructors to select multiple valid options for each item in a Drag and Drop v2 problem. It is fully backwards-compatible with existing problem sets.\r\n\r\nWe approach this by changing the `zone` attribute on each item to a `zones` attribute containing a list, which can contain an arbitrary number of zone IDs.  Additionally, a compatibility layer has been introduced such that existing datasets with `zone` are mutated before being passed to the frontend to have a list containing the existing single item (in cases where there's an ID value) or an empty list (in cases where `zone` is set to `\"none\"`). This won't migrate existing datasets automatically, but they will be updated the next time the XBlock configuration is saved. \r\n\r\n**JIRA tickets**: Implements [SOL-1909](https://openedx.atlassian.net/browse/SOL-1909)\r\n\r\n**Dependencies**: None\r\n\r\n**Screenshots**:\r\n\r\n<img width=\"1346\" alt=\"screen shot 2016-07-22 at 11 24 47 am\" src=\"https://cloud.githubusercontent.com/assets/7773758/17063996/c704ed1e-4fff-11e6-89e7-f07d18a9d21b.png\">\r\n\r\n<img width=\"1348\" alt=\"screen shot 2016-07-22 at 11 24 35 am\" src=\"https://cloud.githubusercontent.com/assets/7773758/17063995/c702ec44-4fff-11e6-8ae9-3135d5d0052f.png\">\r\n\r\n![screen shot 2016-07-20 at 2 07 35 pm](https://cloud.githubusercontent.com/assets/7773758/16997436/7c93ebcc-4e83-11e6-940e-9dc9d312cb3c.png)\r\n\r\n![screen shot 2016-07-20 at 2 07 23 pm](https://cloud.githubusercontent.com/assets/7773758/16997439/7ca1aed8-4e83-11e6-8daf-557ad615150d.png)\r\n\r\n![screen shot 2016-07-20 at 2 07 08 pm](https://cloud.githubusercontent.com/assets/7773758/16997437/7c9e9f18-4e83-11e6-8234-95f2bb98872a.png)\r\n\r\n**Sandbox URL**:\r\n\r\n- LMS: http://dndv2-sandbox4.opencraft.hosting/\r\n\r\n- Studio: http://studio-dndv2-sandbox4.opencraft.hosting/\r\n\r\n**Testing instructions**:\r\n\r\n1. In Studio, create a course or update a course to include the DnDv2 XBlock\r\n\r\n2. In Studio, observe that the dropdown select menu for Zone selection has changed to be multiple checkbox controls.\r\n\r\n3. In Studio, observe that existing configurations are retained and presented appropriately for the new control set.\r\n\r\n4. In Studio, create a new item that can be assigned to multiple zones.\r\n\r\n5. In LMS, observe that pre-existing items have appropriate behavior when placed on the zone they were previously assigned to.\r\n\r\n6. In LMS, observe that the item you created can be dragged to any of the zones you selected for it.\r\n\r\n7. In LMS, review the XBlock demo course and observe that it works without modification, and that changes to take advantage of the feature allowing multiple correct answers works immediately.\r\n\r\n**Reviewers**\r\n- [x] @itsjeyd\r\n- [x] TNL: @cahrens and/or @staubina\r\n- [ ] a11y: @cptvitamin and/or @clrux\r\n- [x] Product: @sstack22\r\n\r\nAlso tagging @pdesjardins as a docs FYI."},"comment":{"url":"https://api.github.com/repos/edx-solutions/xblock-drag-and-drop-v2/issues/comments/236025753","html_url":"https://github.com/edx-solutions/xblock-drag-and-drop-v2/pull/83#issuecomment-236025753","issue_url":"https://api.github.com/repos/edx-solutions/xblock-drag-and-drop-v2/issues/83","id":236025753,"user":{"login":"sstack22","id":11049466,"avatar_url":"https://avatars.githubusercontent.com/u/11049466?v=3","gravatar_id":"","url":"https://api.github.com/users/sstack22","html_url":"https://github.com/sstack22","followers_url":"https://api.github.com/users/sstack22/followers","following_url":"https://api.github.com/users/sstack22/following{/other_user}","gists_url":"https://api.github.com/users/sstack22/gists{/gist_id}","starred_url":"https://api.github.com/users/sstack22/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sstack22/subscriptions","organizations_url":"https://api.github.com/users/sstack22/orgs","repos_url":"https://api.github.com/users/sstack22/repos","events_url":"https://api.github.com/users/sstack22/events{/privacy}","received_events_url":"https://api.github.com/users/sstack22/received_events","type":"User","site_admin":false},"created_at":"2016-07-28T21:08:31Z","updated_at":"2016-07-28T21:08:31Z","body":"@bradenmacdonald - i think this is a great solution, and makes sense. I don't anticipate that course teams would have concerns."}}
{"actor":{"display_login":"sstack22"}}