⚠️ NO LONGER MAINTAINEDThis project is no longer maintained. Please see https://github.com/YellowOfTheEgg/ilias-cli for an updated version.
This is a small console application with the primary goal of managing and grading exercise tasks within the ILIAS eLearning platform.
Precompiled binaries are available for Linux, macOS and Windows from the GitHub Releases page.
📡 Update Checks
The console application automatically checks at startup if a newer version is available and notifies the user if it is present.
The console application is intended for tutors as well as for the supervising teaching staff and thus offers functions for distributing as well as correcting submissions.
For each exercise sheet to be corrected, a correction bundle must be compiled for the tutors, with which they can download their assigned submissions by means of the console application. The basic procedure can be described as follows.
-
Create a file named
.tutors.ymlin which the weekly correction time in hours of all participating tutors is entered.- id: tutor100 hours: 9 - id: tutor101 hours: 7 - id: tutor102 hours: 5The field 'id' reflects the university ID belonging to the respective tutor. This file can be reused.
-
Open the corresponding ILIAS exercise object in the browser and note down the URL's
ref_idparameter. Since this value will not change for the lifetime of the object, this step can be skipped in the future. -
Open the "Submissions and Grades" view and extract the value of the
<select>option of the desired exercise unit using the Dev Tools of the browser. Theidof the<select>DOM element in the HTML source code isass_id. -
Invoke the console tool with the arguments
exercises distribute <ref_id> <ass_id>where the parametersref_idandass_idshould be replaced with the previously determined values. This will create a file named.workspace.ymlwhich contains the correction assignments. -
Create a correction template named
CORRECTION.tmplwhich will be provided to the tutors. An example of the content may look like the following.student: {{.Student}} points: 0 corrected: false correction: | <b>!! Rückfragen bitte unter Angabe der Korrekturnummer '{{.Student}}' an {{.Tutor}}@hhu.de !!</b> <b>Aufgabe 1.1 (0/7)</b> - <b>Aufgabe 1.2 (0/18)</b> - <b>Aufgabe 1.3 (0/18)</b> - <b>Aufgabe 1.4 (0/7)</b> -The template variables
{{.Student}}as well as{{.Tutor}}are replaced by the console tool during the correction. -
Make the files
.workspace.ymlandCORRECTION.tmplavailable to the tutors, for example, bundled in an archive.
-
Unpack or place the files
.workspace.ymlandCORRECTION.tmplin a common folder and call the console tool inside this folder with the argumentsworkspace init. This creates a separate subfolder for each correction, which contains the submission as well as the populated correction template. -
Correct the submissions and then set the
pointsandcorrectedfields. If thecorrectedfield is not set totruefor a submission, the corrections cannot be uploaded. Make sure to use a dot (.) as separator for decimal numbers. -
Use the console tool's
workspace statuscommand to check if there are any outstanding corrections. -
Invoke the console tool with the arguments
workspace uploadto upload all corrections. Alternatively, it is also possible to upload individual corrections by using the--onlyflag with comma separated IDs of the corrections to be uploaded.
To avoid having to enter the login data every time the console tool is invoked, they can alternatively be stored within environment variables for the duration of a session.
⚠️ CredentialsIt is not a good idea to store the login data inside these variables permanently, because they will be available in plain text.
| Name | Type | Description |
|---|---|---|
ILIAS_USER |
string |
The username used for logging into ILIAS |
ILIAS_PASS |
string |
The specified user's login password |
ILIAS_USER and ILIAS_PASS are not required, since they are interactively queried from the console when not available.
This project is licensed under the MIT License - see the LICENSE file for details.