Using the Filesystem¶
After installation, the CodeGrade Filesystem can be used with the
cgfs command. Before mounting, an empty folder (
mnt) to mount in has
to be created, this can be done by
Now CodeGrade Filesystem can mount to this created folder (e.g.
cgfs -p PASSWORD -u CODEGRADE_URL USERNAME mnt/. In which
USERNAME should be replaced with valid CodeGrade account details for the CodeGrade instance found at the
The CodeGrade URL given at the
-u flag should direct to the API and should thus end with
https://codegra.de will become
CGAPI_BASE_URL environment variables can be set to respectively pass the password or CodeGrade URL. Additionally, leaving out the
-p flag will force
cgfs to prompt for your password.
After mounting the filesystem, navigate to the specified mount folder to find an overview of all visible courses to the logged in user. Navigate
to a course folder to find an overview of all assignment folders that hold all submissions. This results in the default format of
/course/assignment/submission - submission_time. All files and folders in the filesystem can be opened
as if they were real local files on your system. Editing these files as a teacher results in a new teacher revision, visible to the student.
Editing these files as a student enables automatic synchronisation to CodeGrade with each save.
Adding or modifying files as teacher when not mounted with
--fixed flag makes changes public to the student if the student has the View teacher revision permission.
For more information about the Filesystem and different flags, consult the help menu using the
cgfs --help command.
The Filesystem offers a simple graphical user interface in addition to the command line commands for easier usage. The Filesystem GUI is still in
alpha stage but can be used already. The GUI can be opened using the
cgfs-qt command. Usage is very straightforward: fill in the required
fields and press
Mount!. For more information on specific fields, please consult the general documentation above or press the question mark button
next to the field.
After confirming the mount, you will see an output field stating
Mounting... and a bit later
Mounted.... You can now use the file system as
normal. To unmount simply click
Shutting down the filesystem using the GUI might take up to a couple of minutes depending on your configuration, this might temporarily freeze the Filesystem GUI. This is normal behaviour.
The filesystem contains a few special files, these are files that are not submitted by students but can be used to control CodeGrade instead.
Special files are only editable with the right permissions.
These files are validated on a close, which fails if the file format is not correct. In the case the exact format of a special file is not followed and it cannot be easily recovered,
__RESET__ string can be written to any writable special file to reset it to its server state.
||✗||Root||Location of the api socket||Single line with file location|
||✗||Root||Mode file system||
||✗||Assignment||Id of this assignment||Single line with id|
||✓||Assignment||Settings for this assignment||Ini file with settings|
||✓||Assignment||Rubric for this assignment, editing changes the rubric||See
||✗||Assignment||Help file for the rubric file||Plain text file|
||✓||Submission||The general feedback for this submission||Plain text file|
||✓||Submission||The grade for this submission||Single float or empty to delete or reset the grade|
||✓||Submission||The rubric for this submission||Markdown file where a ticked box means the item is selected.|
||✗||Submission||Id of this submission||Single line with id|
Only the markdown checkboxes in the
.cg-rubric.md file should be changed to fill in the rubric.
The filesystem is especially useful for assignments with automatic grading scripts.
Automatically generated grades and feedback can be written to respectively the
.cg-feedback file to submit automatically.