Project Summary
The ability to import question pools offers an individual the ability:
- to move questions from an existing Samigo assessments in a single batch
- to migrate single-section or pool xml files from another system which are translated to Samigo format prior to import
- when coupled with an export question pool feature, the ability to share question pools with others
The goal of this project is to add the import question pool feature to collab source code for use in the larger community as well as local use at MyUCDavis. Success will be measured by proven ability to import a single, Samigo-compliant assessment with all current (as of 8/10/06) question types. Failure to import successfully will elicit an error message.
Progress/Status
Phase One: Code review and prototype importing a single xml Samigo-compliant file. Samigo already features the ability to import a QTI-compliant xml file that meets application-specific metatdata. Phase One success parameters include the successful import of a single-section Samigo-compliant assessment.
Timeline: July 24 - August 11; 3 weeks Status: Completed
Phase Two: Clean up code and port to testing. Remaining code clean up includes error handling and messages. Code changes are documented below under Code Modifications #codemods. Code will be ported to current collab version and current Davis versions for testing in both environments. Fixes will be completed before porting to Sakai collab QA. Success will be measured by proven ability to import a single, Samigo-compliant assessment with all current (as of 8/10/06) question types in multiple test environments. Failure to import successfully will elicit an error message.
Estimated timeline: August 14 - September 8; 4 weeks
Revised delivery due to sick leave and svn setup: August 14 - September 22; 6 weeks Status: In Progress at 90%
Status Update: Code release to Stanford for review on 9/13/06. Awaiting testing and feedback
Local code Status: In Code Review, Assigned to Jon Gorrono Sept. 25
Passed QA 10/25/06: tc-matrix-testsquizzes-qpools_v2-1-x-1_pass.xls
Moved to SmartSite on 10/28/06
Phase Three: Release to collab source code is the final measurement. Major or higher priority fixes reported within 6 months of release are within the scope of this phase.
Estimated release to collab source code: current release estimate is now after the 9/15 sakai v2.3 release
Sakai Question Pools Documentation
UI Specifications
UI specifications were previously documented at http://issues.sakaiproject.org/confluence/x/ZTw in qPools.pdf
Explanation of the navigation and UI were documented in an email to Marc Brierley, Stanford, on 8/10/06.
Question Pools screenshot
Import Pool screenshot
Code Modifications
List of files and the modifications for each file.
Originally changed for Sakai v2.2.x, but the same changes will apply to v2.1.x except that the directory structure differs.
Also, note that depending on which release of 2.2.x is used, QTI and services are moved out into the new samigo-qti directory.
Path/File name |
Modification |
Purpose |
---|
v2.1.x: tool/src/java/org/sakaiproject/tool/assessment/bundle/AuthorImportExport.properties |
Added import_qp=Import Pool for importing question pools |
text used in importPool.jsp |
v2.1.x: tool/src/java/org/sakaiproject/tool/assessment/bundle/QuestionPoolMessages.properties |
removed duplicate t_addSubpool; added t_importPool |
clean up and added text for poolList.jsp |
v2.1.x: tool/src/webapp/jsf/questionpool/poolList.jsp |
added link with action="importPool"; added new msg values |
Added the Import link to the main Question Pools screen |
v2.1.x: tool/src/webapp/jsf/qti/importPool.jsp |
importPool.jsp created |
The jsf file is modeled on importAssessment.jsp for user to browse and upload xml file |
v2.1.x: tool/src/webapp/WEB-INF/faces-config.xml |
Added questionPoolBean to XML Import; changed navigation path for question pool import to qti folder to be consistent with other import files |
added navigation and bean for xml import |
v2.1.x: tool/src/java/org/sakaiproject/tool/assessment/ui/bean/qti/XMLImportBean.java |
Added importPoolFromQTI to mirror import assessment function; Added processAsPoolFile to call createImportedQuestionPool |
mirrored functions to assessment calls createImportedQuestionPool |
v2.1.x: component/src/java/org/sakaiproject/tool/assessment/services/qtiQTIService.java |
Added createImportedQuestionPool to service |
Calls AuthoringHelper.createImportedQuestionPool; service allows outside connectivity |
v2.1.x: component/src/java/org/sakaiproject/tool/assessment/qti/helper/AuthoringHelper.java |
Added createImportedQuestionPool; process mirrors createImportedAssessment; calls updateQuestionPool; Exception thrown if import of more than one section is attempted |
Reads xml map and assigns values for data entry;fields require testing; |
v2.1.x: component/src/java/org/sakaiproject/tool/assessment/qti/helper/ExtractionHelper.java |
Added updateQuestionPool(QuestionPoolFacade questionpool,Map assessmentMap) to pull additional optional fields from an imported question pool |
Note: these fields are not populated by imported assessments, but are specific to question pools and may be populated with qtimetadata when an export pool function is available in Samigo |
Test Plan/Documents
For testing the import question pool process for the UC Davis instance of Sakai 2.1.x, a modified version of the Sakai test matrix is available. Documentation for the test plan: Test Plan - Import Question Pool