Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/tremby/eqiat
An easy QTI item authoring tool
https://github.com/tremby/eqiat
Last synced: about 1 month ago
JSON representation
An easy QTI item authoring tool
- Host: GitHub
- URL: https://github.com/tremby/eqiat
- Owner: tremby
- License: other
- Created: 2010-02-08T18:58:20.000Z (almost 15 years ago)
- Default Branch: main
- Last Pushed: 2020-06-17T20:35:43.000Z (over 4 years ago)
- Last Synced: 2024-11-01T06:42:13.998Z (3 months ago)
- Language: PHP
- Homepage:
- Size: 2.96 MB
- Stars: 3
- Watchers: 3
- Forks: 1
- Open Issues: 10
-
Metadata Files:
- Readme: README
Awesome Lists containing this project
README
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 .
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 instanceCUSTOMIZATION
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 .
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 detailsAUTHOR
Bart Nagel
vim: tw=80 fo=wqnta sw=4 ts=4 sts=4 flp=^\s*(\d+\|-)\s+ spl=en_gb
vim: noet nosi nojs ai