The CodeGrade Filesystem is the extension of CodeGrade that allows you to test, review and grade all CodeGrade assignments locally from within your favourite editor. The Filesystem application mounts a local CodeGrade instance on your computer, which makes browsing through all your CodeGrade courses, assignments and submissions very easy.
We aim to further enhance the grading experience and decrease overhead with the CodeGrade Filesystem.
The CodeGrade Filesystem is an external application that can be installed on Windows, MacOS and GNU/Linux. To install it go to The CodeGrade website and follow the instructions there.
The supplied installers automatically install all required dependencies for the CodeGrade Filesystem to work, these are:
Open the CodeGrade Filesystem program to mount the CodeGrade server locally. Follow the steps below to mount:
- Select your institution, or select Other to use a custom CodeGrade instance.
- Fill in your CodeGrade username and password.
- Optional: Select the mount location (default is desktop).
- Optional: Set Revision mode, Assigned to me and Latest Only options.
- Optional: Set verbosity of the notifications of CodeGrade Filesystem.
- Click mount to mount the CodeGrade Filesystem.
Installing the filesystem automatically installs the cgfs
command, which is
also used in the back-end of the GUI. Use cgfs --help
for an overview of the
options of the cgfs
command line tool. Using the GUI is highly recommended.
The basic layout of the file-system is /course/assignment/submission - submission_time
. All files that a student submitted can be found in
the submission folder. Depending on the Assigned to me and Latest Only
options, this shows respectively only the submissions assigned to you and only
the latest submissions.
The CodeGrade Filesystem also uses a few special files, these are files that are not submitted by a student but can be used to control CodeGrade. These files are validated on a save, which fails if the file format is not correct. The following special files exist:
Name | Editable1 | Location | Use | Format |
---|---|---|---|---|
.api.socket |
✗ | Root | Location of the api socket | Single line with file location |
.cg-mode |
✗ | Root | Mode file system | FIXED or NOT_FIXED |
.cg-assignment-id |
✗ | Assignment | Id of this assignment | Single line with id |
.cg-assignment-settings.ini |
✓ | Assignment | Settings for this assignment | Ini file with settings |
.cg-edit-rubric.md |
✓ | Assignment | Rubric for this assignment, editing changes the rubric | See .cd-edit-rubric.help |
.cg-edit-rubric.help |
✗ | Assignment | Help file for the rubric file | Plain text file |
.cg-feedback |
✓ | Submission | The general feedback for this submission | Plain text file |
.cg-grade |
✓ | Submission | The grade for this submission | Single float or empty to delete or reset2 the grade |
.cg-rubric.md |
✓3 | Submission | The rubric for this submission | Markdown file where a ticked box means the item is selected. |
.cg-submission-id |
✗ | Submission | Id of this submission | Single line with id |
1: Only if you have the correct permissions.
2: The grade is reset if a rubric grade is available, otherwise it is deleted.
3: Only markdown checkboxes should be changed.
It can happen that you didn't follow the exact format of the special file and
can't easily recover anymore. This isn't a really big deal, you can write the
string __RESET__
to any writable special file to reset it to its server state.
CodeGra.fs is best used in combination with an editor plugin, such plugins exist for emacs, atom and vim and more are being created upon request.
You can use the CodeGrade FileSystem for any CodeGrade instance. The
application does a version check at every startup, this is done by doing a
request to https://codegra.de/.cgfs.json
and to
https://codegra.de/.cgfs.version
. We do not collect any personal information
at these routes. It is currently not possible to disable this version check.
Please report any issues by creating a GitHub issue
here, if possible please
include link to uploaded a log output when encountering the bug using the
verbose
mode (use the --verbose
command line flag, or click 'verbose' in the
GUI). You can upload logs to any pastebin-like website, for example
glot.io.
Commercial support of CodeGrade Filesystem is available and included in a commercial CodeGrade license. We would love to provide more information, please send an e-mail to [email protected]!
CodeGra.fs as a whole is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0-only). All license identifiers used in this product are SPDX license identifiers.