Engine for the MEX exam format.
- Exam preview tools for exam developers
- MEX format documentation
- Tools for mastering an exam to run it in Matriculation examination board's environment
Make sure you test any MEX format exam manually before publishing it or using it with Abitti in production. This manual testing should include holding the exam, answering all questions, grading it, and checking that all examinees' answers are available.
The MEX format and this engine is still under development: All functionalities of the MEX format do not yet work in Abitti. Breaking changes are also still possible without prior warning.
Make sure the following are installed in your system:
After Node.js has been installed, open a new terminal window and type the following command.
$ npm install -g @digabi/exam-engine-cli
This installs the
ee command-line program to your system.
Creating a new exam
To create a new exam, use
$ ee new Esimerkkikoe
This creates a
Esimerkkikoe directory, containing a basic
exam.xml file and an
attachments directory where to place attachments.
To start a live preview of any exam on your computer, navigate to the exam directory and run
$ ee preview
Importing an exam to Abitti
To use an exam in Abitti, it must be first packaged as a transfer zip. It is then possible to import it to Abitti by clicking "Tuo koe/För in prov".
To create a transfer zip, navigate to the exam directory and run
$ ee create-transfer-zip
This creates a transfer zip files in the exam directory for each language version of the exam.
Offline version refers to a static version of an exam that can be viewed in a web browser without any additional tools.
To create an offline version of the exam, navigate to the exam directory and use
$ ee create-offline
Intellectual property rights
Most of the artifacts in this repository are licensed under LICENSE. Exceptions are:
- XHTML-based XML Schema Definition files packages/mastering/schema. See packages/mastering/schema/xhtml11.xsd for the license.
- Abitti and the Abitti logo are EU trademarks registered by the Finnish Matriculation Examination Board (FMEB) under the codes 015833742 and 015838915. For detailed use rights, see https://abitti.dev/abitti-trademark.html
- Several attachments in the SC sample exam packages/exams/SC/ are third party material. See
<e:reference>tags in packages/exams/SC/SC.xml for details.
The information in this section is only relevant for developers.
ee client can be run with
yarn ee. So to preview an exam, run
$ yarn ee preview path/to/exam.xml
Before doing any changes to the code, you'll want to command TypeScript to compile any changes within the whole project automatically.
$ yarn watch
$ yarn lint
To run all tests
$ yarn test
To run a specific test or a specific set of tests, use
$ yarn test packages/foo/__tests__/testFoo.ts $ yarn test packages/foo
If you've made changes to the code that affect exam mastering or rendering, you need to update the test snapshots by running. Review changes the snapshots manually.
$ yarn test -u
Travis CI runs tests on all branches and pull requests in https://travis-ci.org/digabi/exam-engine
First, login to npm using:
$ npm login
When publishing a prerelease, use:
$ env ANSWERS_PRIVATE_KEY=/absolute/path/to/answers-private-key.pem yarn lerna publish --dist-tag next
With official releases you need to skip the
$ env ANSWERS_PRIVATE_KEY=/absolute/path/to/answers-private-key.pem yarn lerna publish
The commands prompt you for details about the release: just running them does not publish anything yet.