forked from tremby/eqiat
-
Notifications
You must be signed in to change notification settings - Fork 0
An easy QTI item authoring tool
License
rikkiprince/eqiat
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
NAME Eqiat SUMMARY An easy QTI item authoring tool. It is web based and aims to make simple question types easy to author. REQUIREMENTS - Web server such as Apache or Lighttpd - PHP 5 (tested on PHP 5.2.4) - An instance of QTIEngine to call (the demonstration version at qtiengine.qtitools.org is used by default) - validate, the Java commandline QTI validator (imported as a subdirectory) - A Java VM on which to run validate (tested on Sun Java 1.6.0) - An instance of Edshare (optional -- only required if the deposit in Edshare action is to be available) - If using the deposit in Edshare action, curl module for PHP (package php5-curl in Debian) SOURCE The source is available at <http://github.com/tremby/eqiat>. COMPILATION The validate tool must be compiled -- see its own README file. INSTALLATION It should be enough to extract the full tree to a directory visible to the web server. CONFIGURATION The options are constants found at the bottom of include/constants.php: QTIENGINE_HOST edit this to use a custom instance of QTIEngine SITE_TITLE edit this to use a custom site title (it defaults to Eqiat) SESSION_PREFIX this is the start of each session variable's name -- change it if you want to run multiple instances of Eqiat on the same domain but don't want them to share their item lists DIEA_AVAILABLE change this to true if you wish to use the "deposit in Edshare" action DIEA_EDSHARE_HOST if the "deposit in Edshare" action is to be used this must point to the host of the Edshare instance CUSTOMIZATION Eqiat was written to be easily customizable. To change the look it should only be necessary to add to or replace the (very basic) supplied stylesheets styles.css and tinymce.css and perhaps to amend the htmlheader.php and htmlfooter.php files. All of these are found in the include subdirectory. To add a custom item type add a new class to the classes/itemtypes subdirectory -- see the existing item types and the documentation in the parent class QTIAssessmentItem (classes/QTIAssessmentItem.class.php) for guidelines. To add a custom item action add a new class to the classes/itemactions subdirectory -- see the existing item actions and the documentation in the parent class ItemAction (classes/ItemAction.class.php) for guidelines. In case further customization is necessary, here is a brief overview of the application structure: - There is a single entry point, eqiat.php (and index.php is a symlink to this), which sets up the environment and then includes a script based on the query variable "page" (default value is "mainMenu") - The scripts which can be included in this way are all in the content subdirectory, identified by filename - The list of item actions is generated from suitable classes found in the classes/itemactions subdirectory - Each non-abstract class descending from ItemAction describes functionality which can be performed on a particular item. These classes describe whether the action is available for the given assessment item and the logic to take. - The list of item types is generated from suitable classes found in the classes/itemtypes subdirectory - Each non-abstract class descending from QTIAssessmentItem describes an item type and contains its own logic for the authoring form, generating QTI XML to realize the item and importing the item from XML - When output is to be sent to the browser the files htmlheader.php and htmlfooter.php are included to frame the output (found in the include subdirectory) - The Javascript Jquery library is used - The Wysiwyg HTML editing areas are instances of TinyMCE (the Jquery version, to be specific) which have been configured to only allow the subset of XHTML included in the QTI specification - Various utility functions are to be found in include/functions.php - The Java commandline program validate is called by PHP to ensure any generated QTI is valid. Any messages returned are in turn shown to the user. USAGE The main menu gives options to write a new item or upload an existing item and also shows a list of all items currently in session memory for the current user. Items in the list each have various links to actions which can be performed on them -- edit, delete, preview and so on. Upon choosing to write a new assessment item a list of the available item types is given along with a short description of each. Choosing an item type takes the user to the authoring form which is different for each item type. Upon submitting this form any problems with the user input are flagged and, on resolution of any problems, the QTI for the item is generated and validated. Any further problems not picked up client side are shown. An item preview is made visible and links to various actions are shown such as previewing in full screen, editing the item further and downloading the item either as XML or a content package. If enabled there is also an action to deposit the item in an Edshare repository. Until the session times out or the item is deleted it will then remain on the item list on the main menu page. An existing item can be uploaded from the upload item page. Supported formats are single QTI XML files and content packages containing a single assessment item (assessment tests are not supported since this is not a test authoring tool). An uploaded item's identifier (and that of its content package, if uploaded as a content package) are preserved by default. This means any necessary changes and corrections can be made and the item re-exported with the same identifiers as before. The resulting output is suitable to replace an existing item. It's also possible to generate new identifiers at upload time by checking the "new identifier" checkbox. This allows an existing item to be used as a template for a new item which can then be deployed alongside the original. Note that only items generated by Eqiat itself are likely to be recognized and mapped to the correct item type. This is a shame but the fact is that a particular type of item can be expressed in wildly varying QTI. Detecting the question type and mapping it to the corresponding item type in Eqiat takes a lot of logic since the supported item types and which fields each has are (purposefully) restricted. It would be extremely difficult to retain a simple user interface while allowing more of the subtleties present in QTI. CAVEATS As mentioned above, only items generated by Eqiat itself are likely to be recognized and mapped to the correct item type. BUGS Bugs should be reported at <http://github.com/tremby/eqiat/issues>. COPYRIGHT (c) 2010 JISC-funded EASiHE project, University of Southampton LICENCE Licensed under the Creative Commons 'Attribution non-commercial share alike' licence -- see the LICENCE file for more details AUTHOR Bart Nagel <bjn@ecs.soton.ac.uk> vim: tw=80 fo=wqnta sw=4 ts=4 sts=4 flp=^\s*(\d+\|-)\s+ spl=en_gb vim: noet nosi nojs ai
About
An easy QTI item authoring tool
Resources
License
Stars
Watchers
Forks
Packages 0
No packages published