Skip to content
Snippets Groups Projects

Rusty Hektor

This is a new implementation of Hektor in the Rust programming language.

It can be used to convert the ILIAS output of an e-exam into a json format which can be imported into the Grady project.

Download

The latest compiled binary can be downloaded from here.

Usage

View the help message:

rusty-hektor -h 

Convert an ILIAS .zip (can be generated on ILIAS for an exam under Export -> Erstelle Exportdatei (inkl. Teilnehmerergebnisse)) containing .xml into .json:

rusty-hektor -o <out_file_path> [<path_to_zip>]

Converting an ILIAS Output into an anonymised json representation, storing the mapping file at map.csv (DO NOT LOOSE THIS FILE!).

rusty-hektor -a --map-file map.csv -o <out_file_path> [<path_to_zip>] 

If -o is omitted, the output is printed to stdout.

By default, the program parses the source code questions and submissions of the .xml input. Should you wish to instead parse cloze type questions (currently used by hallgrimJS) you can pass the --parse-cloze flag.

It is possible to submit multiple .zip exports. In case the exercise types contained in the provided exports are differing, a warning is issued and the first set of exercise types is used. If another set should be used, the order of the export files has to be changed when calling the program.
I a user with the same identifier is present in multiple exports, the program aborts and the user needs to fix the data manually (in practice this should not occur).

Supported programming languages

The programming languages currently supported are: "c, java, mipsasm, haskell, plaintext, markdown, python" (these are the names that need to be entered if the user is asked for the programming language of a submission type). Note that python is use for jupyter notebooks. This might be changed in the future.

Word List

The anonymised names are generated by selecting random words from the EFF long list, intended for password generation. https://www.eff.org/deeplinks/2016/07/new-wordlists-random-passphrases

License

Rusty-Hektor is licensed under either of the following, at your option: