...
With an import question pool feature pending in SmartSite's Tests & Quizzes (Samigo), it is desirable to be able to migrate an export instructor's questions from MyUCDavis Quiz Builder to SmartSite Tests & Quizzesin a Saimgo-compliant format to initiate the migration path.
Quiz Builder stores all questions in a single question pool, but gives the instructor an option of organizing subsets of these questions in a collection. In Tests & Quizzes, there is no primary question pool and users are free to organize their questions into question pools and subpools as desired. For migration purposes, collections and subpools represent the same concept in two different systems.
Some instructors do not use Quiz Builder collections, so for ease of use they will need the ability to export their entire question pool. Other instructors use collections heavily and may prefer to export their questions in these smaller, pre-organized sets. Therefore, both Export Question Pool and Export Collection functions will be developed in Quiz Builder to allow instructors to import either as a question poolexport their questions in either manner.
Phases
Documentation
Design Specification
The goals for the Quiz Builder question pool export design are as follows:
1. Minimal code changes to Quiz Builder. Since the quizzing function in MyUCDavis new development is no longer being developedpromoted for faculty, the simplest functionality to achieve the result is desirable.
2. Simple export functionality consistent with the existing export quiz function.
3. The export process must document content changes gains/losses from one system to the other.
4. Exported content The export format must be consistent with the current Samigo import requirements.
Faculty who use the existing Edit/Browse Questions and Edit/Browse Collections features are already familiar with MyUCDavis functionalityQuiz Builder. It's desirable to limit changes to make the new exports easy for faculty to access and use. If For faculty who are migrating their Quiz Builder content, then having the export a consistent UI and functionality for quiz, question pool or collection UI and functionality consistent exports will minimize the amount of learning required to use these functions.
The export process needs to will inform faculty of any content that will not be exported and any question differences between Quiz Builder and Tests & Quizzes. The export process needs to will be as close to a one-button process as possible. Finally, the content must be exported in a format that is readily consumable by Tests & Quizzes, i.e., that requires no modifications by faculty for the import to succeed.
...
I propose to add a link entitled 'Export Question Pool' beneath the 'Edit Question' and 'Copy Question' under the list of questions. When the user selects this link, a new window will open, similar to the export quiz window. The new window screen will be entitled titled 'Question Pool Export for username' where the user's first and last name are in place of username. Download instructions will appear next, followed by detailed information under Question Pool Export Notes. Details listed will include any media associated with the questions, listing question types that will not be translated (i.e., calculated questions) and how the questions differ between Quiz Builder and SamigoTests & Quizzes.
Pressing the Download button will generate a Samigo-compliant xml file which will be exported to the user's local machine. A separate download in the media listing under Question Pool Export Notes will download a ZIP file with any media files associated with the pool questions.
...
The existing default screen for Edit/Browse Collections is the New Collection screen which allows the user to create a new collection from their list of questions. When After selecting an existing collection, the screen changes to show the name of the collection and to allow additional links for the functions Delete Collection and/or Add Collection to Quiz.
...
I propose to add a link entitled 'Export Collection' to the list of collection functions links for an existing collection. When the user selects this link, a new window will open, similar to the export quiz window. The new window will be entitled 'Collection Export: collectionname' where the collection name is displayed in place of collectionname. Download instructions will appear next, followed by detailed information under Collection Export Notes. Details listed will include any media associated with the questions, listing question types that will not be translated (i.e., calculated questions) and how the questions differ between Quiz Builder and Samigo.
...
Code modifications to 5 existing files in the quiz directory directory 'login/CourseManagement/quiz/' is required. No new files are anticipated at this time.
File Name | Proposed Addition/Modification |
---|---|
/login/CourseManagement/quiz/qz_win_ques_list.cfm | Modifications to add the Added an Export Question Pool link to this page will be limited . Limited to code where mode=question, since this same list box is used for questions and quizzes under various pages. Code modifications include adding a link with JavaScript functionality function exportPool() to open a new window . No query calls will be made from this page./login/CourseManagement/quiz/as "qz_quiz_exportxml.cfm?quizID=0&export=questionPool" where no data is passed through the url. |
qz_col_title.cfm | Modifications to add Added the Export Collection link to this page will be limited to . Limited to code for editing an existing collection. Code modifications include adding a link with JavaScript functionality function export_collection() to open a new window . No query calls will be made from this page. /login/CourseManagement/quiz/as "qz_quiz_exportxml.cfm?quizID=0&export=collection&collectionid=#collectionid#" so that the collection id is passed via the url. |
qz_quiz_properties.cfm | Modified Export Quiz url to add export="quiz" |
qz_quiz_exportxml.cfm | This file is currently used to display export instructions including a Download button and link for the export xml and media zip files. Text will be added to the reflect information specific to a Modified export instructions on this display page to reflect whether the export is a quiz, question pool or collection rather than a quiz. Text will be visible based on a variable passed in through the new window link./login/CourseManagement/quiz/. Added total number of questions, Download Pool button, and output for media files. |
qz_quiz_exportxml.cfc | This component file contains functions for generating quiz information in string or array formats Separated out section functions from question functions. getSectionArray populates the section array from quiz data while setSectionArray populates the section array with sectionid=0 and name="Default". The section array is then fed into setSectionData for attaching items and their parameters for delivery to the xml file generation page. Additional functions will be added to pull and format the questions for a user's question pool or collection./login/CourseManagement/quiz/Added several functions specific to qpools and collections plus a media function. Modified certain functions where query output passed into a "where variable in ()" clause might exceed 1000 records due to Oracle limits. |
qz_quiz_exportxmldoc.cfm | This file generates the downloadable xml file for a quiz/assessment. This file will be modified Modified file by adding logic based on quizid and export url values to determine which function calls (quiz, question pool, or collection) will be made. Modified the xml file generation to allow question pool or collection data to be delivered in the same downloadable xml format. |
qz_quiz_exportfiles.cfm | The export media code is being developed at the same time and is an active link on qz_quiz_exportxml.cfm, so it needs to be released concurrently, even though the test plan will be separate. |
Info | ||
---|---|---|
| ||
After struggling with multiple non-standard ascii issues, I discovered this ColdFusion code for dealing with the issue at http://www.octadyne.com/html_entity_acsii_table.cfm. Wrapping this function around user generated text solved the invalid xml issues I was running into.
|
Code Review
Brian Donnelly, or another qualified member of the MyUCDavis team, will perform code review on these file changes.
QA Testing
A test document Question Pool Export Test Plan will be created to explain allow testers to step through the expected new feature behaviour and functional function results. This new feature Export question pools will be tested as a stand-alone feature and the same test will be used when all parts of the MyUCDavis-Samigo quiz/question pool migration features are accessible. The separate tests for each process encompass the test plan.
...