Skip to content

Latest commit

 

History

History
81 lines (58 loc) · 3.64 KB

README.md

File metadata and controls

81 lines (58 loc) · 3.64 KB

QTI-SDK

Latest Version Build Status Coverage Status License GPL2 Packagist Downloads

QTI Software Development Kit for PHP

An IMS QTI (Question & Test Interoperability) Software Development Kit for PHP 5.3 and higher supporting a wide range of features described by the IMS QTI specification family.

This implementation of QTI is under constant enhancement. The API of the master branch might change at any time. See release 2.0.0 for the last stable version.

Features

  • Targets QTI 2.0, 2.1 and 2.2
  • Complete QTI Information Model
  • Complete QTI Rule Engine Support
  • Custom Operator Hooks through PSR-0
  • Wilbert Kraan's / Steve Lay's Goldilocks Rendering
  • CSS Parser for direct QTI Information Model mapping at rendering time
  • Item Sessions (with lightning fast binary persistence)
  • Test Sessions (with lightning fast binary persistence)
  • Nice and Clean API for QTI Document manipulation/traversal
  • PreConditions and Branching
  • Response/Outcome Processing
  • Unit Testing Driven from PHP 5.3 to 5.6

Installation (developers)

  1. Clone the repository.
  2. Make sure you know how Composer works and it is installed on your system.
  3. php composer.phar install
  4. You are ready!

Unit Tests (developers)

Run Unit Tests by invoking the following shell command:

cp phpunit.xml.dist phpunit.xml
./vendor/bin/phpunit test

Contribute

We are always looking for people to feed the project with:

  • Bug reports
  • Unit tests
  • New features

Please make yourself known!

QTI Rendering

The QTI Software Development Kit enables you to transform XML serialized QTI files into their (X)HTML5 Goldilocks equivalent. The following shell command renders the path/to/qti.xml QTI file into an HTML5 document using the (X)HTML5 Golidlocks rendering flavour with indentation formatting. The rendering output (stdout) is redirected to the /home/jerome/qti.html file.

./vendor/bin/qtisdk render -df --source path/to/qti.xml --flavour goldilocks > /home/jerome/qti.html

For additionnal help and information, just call the help screen to know about the features provided by the rendering binaries!

./vendor/bin/qtisdk render --help

Configuration

As for other major PHP frameworks such as Doctrine, Zend Framework 2 or PHPUnit, QTI-SDK makes use of annotations. In such a context, the two following Zend Opcache configuration directives must be configured as below: