Marking Scheme and Feedback Assistant - Help - Introduction

Third-party libraries and tools

MFA is built on a number of open-source libraries. This page lists each one, who wrote it, which version MFA uses, and where it comes from - both as a thank-you to their authors and as a starting point if you ever need to check licensing or track down a library's own documentation.

Mail

Library Version Author / Maintainer Source
JavaMail 1.6.5 Oracle / Eclipse Foundation (Jakarta Mail project) eclipse-ee4j.github.io/mail

Used for sending student feedback e-mails (the Feedback tab).

JAXB (marking-scheme XML)

The marking scheme file format (.mfax/ .xml) is read and written using the JAXB Reference Implementation, originally an Oracle/Sun project, later moved under the Eclipse Foundation.

Library Version Author / Maintainer Source
JAXB API 2.4.0 Oracle Maven Central javax.xml.bind:jaxb-api
JAXB Runtime, TXW2, FastInfoset,
istack-commons-runtime, stax-ex,
javax.activation
2.4.0 / 3.0.6 / 1.8.0 / 1.2.14 Oracle Maven Central org.glassfish.jaxb:*

Used to convert a marking scheme between its saved XML form and the objects MFA works with internally.

Apache POI (spreadsheet generation)

The Spreadsheet tab's .xlsx workbooks (marking sheets, marks-entry sheets, formulas and named ranges) are built with Apache POI.

Library Version Author / Maintainer Source
Apache POI (+ poi-ooxml) 4.1.2 The Apache Software Foundation poi.apache.org
Apache XMLBeans 3.1.0 The Apache Software Foundation xmlbeans.apache.org
Apache Commons (codec, collections4,
compress, math3, logging)
various The Apache Software Foundation commons.apache.org
curvesapi 1.06 Dustin Spicuzza and contributors github.com/virtuald/curvesapi
SparseBitSet 1.2 Brett Wooldridge github.com/brettwooldridge/SparseBitSet

JavaFX and the spellcheck stack

The application interface itself is built on JavaFX; the spellchecked text fields used throughout (assessment/task descriptions, feedback, the covering note - see the Settings help page's "Spell check" section) are built on RichTextFX and its own dependencies, and checked against the Morfologik speller engine.

Library Version Author / Maintainer Source
JavaFX 21.0.12 Gluon, under the OpenJDK community openjfx.io
RichTextFX, Flowless, ReactFX,
UndoFX, WellBehavedFX
0.11.7 / 0.7.4 / 2.0.0.M5
/ 2.1.1 / 0.3.3
Tomas Mikula and contributors (the FXMisc project) github.com/FXMisc
Morfologik (speller, stemming, fsa) 2.1.9 Dawid Weiss (Carrot Search s.c.) github.com/morfologik/morfologik-stemming
HPPC 0.8.2 Carrot Search s.c. github.com/carrotsearch/hppc
English spelling dictionary 0.3 The LanguageTool project languagetool.org
Welsh (cy_GB) spelling dictionary 1.0 Built for MFA from the Hunspell dictionary by Canolfan Bedwyr, Prifysgol Cymru, Bangor (Bangor University Welsh Language Technologies Unit), © 2004, GPL github.com/biglotteryfund/dictionary-cy-gb

Icons

Library Version Author / Maintainer Source
JSVG 2.0.0 Jannis Weis github.com/weisJ/jsvg

Used to render the toolbar icon set seen throughout the tabs.

The Java platform

MFA is written in Java and packaged with its own bundled Java 21 runtime (built using the jlink/jpackage tools that ship with any full JDK 21) - see Running the tool for what that means for how MFA is distributed and run. The JDK itself comes from the OpenJDK community (openjdk.org).

A note on the Welsh dictionary's licence

Unlike everything else on this page, the Welsh spelling dictionary is distributed under the GNU General Public License, inherited from its source Hunspell dictionary. It's used here only to check spelling (comparing a word against the dictionary) and isn't itself compiled into, or distributed as part of, any other library - see the source link above for the licence in full.