{"action":"created","issue":{"url":"https://api.github.com/repos/Tangerine-Community/Tangerine/issues/89","repository_url":"https://api.github.com/repos/Tangerine-Community/Tangerine","labels_url":"https://api.github.com/repos/Tangerine-Community/Tangerine/issues/89/labels{/name}","comments_url":"https://api.github.com/repos/Tangerine-Community/Tangerine/issues/89/comments","events_url":"https://api.github.com/repos/Tangerine-Community/Tangerine/issues/89/events","html_url":"https://github.com/Tangerine-Community/Tangerine/issues/89","id":165809015,"number":89,"title":"Refactor Assessments to be Hierarchical Sections with Items","user":{"login":"rjsteinert","id":156575,"avatar_url":"https://avatars.githubusercontent.com/u/156575?v=3","gravatar_id":"","url":"https://api.github.com/users/rjsteinert","html_url":"https://github.com/rjsteinert","followers_url":"https://api.github.com/users/rjsteinert/followers","following_url":"https://api.github.com/users/rjsteinert/following{/other_user}","gists_url":"https://api.github.com/users/rjsteinert/gists{/gist_id}","starred_url":"https://api.github.com/users/rjsteinert/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rjsteinert/subscriptions","organizations_url":"https://api.github.com/users/rjsteinert/orgs","repos_url":"https://api.github.com/users/rjsteinert/repos","events_url":"https://api.github.com/users/rjsteinert/events{/privacy}","received_events_url":"https://api.github.com/users/rjsteinert/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/Tangerine-Community/Tangerine/milestones/2","html_url":"https://github.com/Tangerine-Community/Tangerine/milestones/Tutor%20Integration","labels_url":"https://api.github.com/repos/Tangerine-Community/Tangerine/milestones/2/labels","id":1886629,"number":2,"title":"Tutor Integration","description":"","creator":{"login":"rjsteinert","id":156575,"avatar_url":"https://avatars.githubusercontent.com/u/156575?v=3","gravatar_id":"","url":"https://api.github.com/users/rjsteinert","html_url":"https://github.com/rjsteinert","followers_url":"https://api.github.com/users/rjsteinert/followers","following_url":"https://api.github.com/users/rjsteinert/following{/other_user}","gists_url":"https://api.github.com/users/rjsteinert/gists{/gist_id}","starred_url":"https://api.github.com/users/rjsteinert/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rjsteinert/subscriptions","organizations_url":"https://api.github.com/users/rjsteinert/orgs","repos_url":"https://api.github.com/users/rjsteinert/repos","events_url":"https://api.github.com/users/rjsteinert/events{/privacy}","received_events_url":"https://api.github.com/users/rjsteinert/received_events","type":"User","site_admin":false},"open_issues":7,"closed_issues":0,"state":"open","created_at":"2016-07-15T20:27:21Z","updated_at":"2016-07-15T20:59:03Z","due_on":"2016-09-01T04:00:00Z","closed_at":null},"comments":3,"created_at":"2016-07-15T15:07:46Z","updated_at":"2016-07-20T20:17:49Z","closed_at":null,"body":"## todo\r\n* [ ] Check out TAO Testing to take some influence on how they organize and manage assessments. [Repo here](https://github.com/oat-sa/tao-core).\r\n* [ ] Given current refactoring approach, look at how what we have is parallel and what is different compared to the QTI standard. See [this](https://www.imsglobal.org/question/qtiv2p2/QTIv2p2-ASI-InformationModelv1p0/imsqtiv2p2_asi_v1p0_InfoModelv1p0.html#Main2) and the XML thing [QTI XSD](https://www.imsglobal.org/question/index.html#version2.2) ([specification download](https://www.imsglobal.org/specificationdownload.cfm), may potentially be able to use.\r\n\r\n\r\n## Problems we are trying solve\r\n1. Ability to use a section in multiple Assessments (not copied).\r\n2. Ability to repeat a section in an Assessment multiple times.\r\n\r\n### Example of problem 2 in current version\r\n\r\nIf we want a series of questions to repeat, we currently have to copy them or enter them twice making them not exactly the same question.\r\n```\r\n# assessment 1\r\n- item 1 (location)\r\n- item 2\r\n- item 3\r\n- item 4 (copied from item 2)\r\n- item 5 (copied from item 3)\r\n```\r\n\r\nWe would like to structure it something like this.\r\n\r\n```\r\n# assessment 1\r\n\r\n## section 1\r\n- item 1 (location)\r\n\r\n## section 2 (do 2 times)\r\n- item 2\r\n- item 3\r\n```\r\n\r\n\r\n### Example of problem 1, note reuse of Section 1 in Assessment 1 and Assessment 2\r\n\r\n\r\n```\r\n# assessment 1\r\n\r\n## section 1 \r\n- item 1 \r\n\r\n## section 2\r\n- item 2\r\n- item 3\r\n```\r\n\r\n```\r\n# assessment 2\r\n\r\n## section 1 (same as assessment1->section1)\r\n- item 1\r\n\r\n## section 3 \r\n- item 4\r\n- item 5\r\n```\r\n\r\n\r\n\r\n## Rules for Sections\r\n\r\nSections are either groups of questions or groups of sections (QTI like)\r\n![qti](https://www.imsglobal.org/question/qtiv2p2p1/QTIv2p2p1-ASI-InformationModelv1p0/files/images/Fig2p8p1_TestStructurev1.png)\r\n```\r\n# top section\r\n\r\n## section foo\r\n\r\n### section bar\r\n- item 4\r\n\r\n### section tim\r\n- item 5\r\n- item 6\r\n\r\n## section ryan\r\n\r\n### section sarah\r\n- item 8\r\n- item 9\r\n- item 10\r\n\r\n## section julie\r\n- item 11\r\n```\r\n\r\n\r\nSections relate to other sections and/or questions\r\n```\r\n# top section\r\n- item 1\r\n- item 2\r\n\r\n## section foo\r\n- item 3\r\n\r\n### section bar\r\n- item 4\r\n\r\n### section tim\r\n- item 5\r\n- item 6\r\n\r\n## section ryan\r\n- item 7\r\n\r\n### section sarah\r\n- item 8\r\n- item 9\r\n- item 10\r\n\r\n## section julie\r\n- item 11\r\n```\r\n\r\n\r\n\r\nSections relate to to other sections and/or questions and questions can relate to other questions\r\n```\r\n# top section\r\n- item 1\r\n- item 2\r\n\r\n## section foo\r\n- item 3\r\n  - item 4\r\n```\r\n\r\n\r\n## Schemas\r\n\r\n- [QTI Section Schema](https://www.imsglobal.org/question/qtiv2p2p1/QTIv2p2p1-ASI-InformationModelv1p0/imsqtiv2p2p1_asi_v1p0_InfoModelv1p0.html#Root_AssessmentSection)\r\n- [QTI Item Schema](https://www.imsglobal.org/question/qtiv2p2p1/QTIv2p2p1-ASI-InformationModelv1p0/imsqtiv2p2p1_asi_v1p0_InfoModelv1p0.html#Root_AssessmentItem)\r\n- [Example software of a QTI compliant product, TAO Testing](http://www.taotesting.com/). \r\n\r\n\r\n\r\n## Performance\r\n- consider performance implications of skip logic resutling in loading a lot of subtests. Example is in tutor, looks at skip logic prior to loading an assessment in its entirety (all questions) and even starts rendering it.\r\n\r\n## Refactoring approach\r\nRefactor `Subtest` Model to be referred to as `Item`, refactor `Assessment` Model to be referred to as `Section` that contains an arbitrary number of `Items`, and create a new `Work Flow` Model that contains an arbitrary number of `Section` that are potentially in a tree hierarchy. \r\n\r\n`Question` is refactored to be a type of `Item` and we build in the assumption that a `Section` is always on one page when displayed.\r\n\r\n... reporting...\r\n\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/Tangerine-Community/Tangerine/issues/comments/234068931","html_url":"https://github.com/Tangerine-Community/Tangerine/issues/89#issuecomment-234068931","issue_url":"https://api.github.com/repos/Tangerine-Community/Tangerine/issues/89","id":234068931,"user":{"login":"rjsteinert","id":156575,"avatar_url":"https://avatars.githubusercontent.com/u/156575?v=3","gravatar_id":"","url":"https://api.github.com/users/rjsteinert","html_url":"https://github.com/rjsteinert","followers_url":"https://api.github.com/users/rjsteinert/followers","following_url":"https://api.github.com/users/rjsteinert/following{/other_user}","gists_url":"https://api.github.com/users/rjsteinert/gists{/gist_id}","starred_url":"https://api.github.com/users/rjsteinert/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rjsteinert/subscriptions","organizations_url":"https://api.github.com/users/rjsteinert/orgs","repos_url":"https://api.github.com/users/rjsteinert/repos","events_url":"https://api.github.com/users/rjsteinert/events{/privacy}","received_events_url":"https://api.github.com/users/rjsteinert/received_events","type":"User","site_admin":false},"created_at":"2016-07-20T20:17:49Z","updated_at":"2016-07-20T20:17:49Z","body":"![photo on 7-20-16 at 4 09 pm](https://cloud.githubusercontent.com/assets/156575/17001293/68a3c644-4e94-11e6-8d0b-ce619b357895.jpg)\r\n\r\n- It makes the most sense to store Skip Logic on the the parent of the thing that is skipped. In QTI this means we always store the Ordering and Selection logic on the Section and that logic refers to the Section's children which may be other Sections or Items.\r\n- We have a need to make skip logic continue to function yet we also have the need to make it consistent in its implementation. We need to think about the migration path from Tangerine Tutor to this new schema and Tangerine current to this new Schema.\r\n"}}
{"actor":{"display_login":"rjsteinert"}}