File-system for CodeGrade instances
Project description
CodeGra.fs
Installation
CodeGra.fs should work on all popular operating systems: GNU/Linux, MacOS and Windows. The support for windows is currently experimental: we would love to hear your feedback!
GNU/Linux and MacOS
The installation for GNU/Linux and mac is done using pip
: sudo pip install CodeGra.fs
. This installs three scripts, cgfs
used to mount the file-system,
cgfs-qt
a GUI that can be used to mount the file-system, and cgapi-consumer
used by editor plugins. You can also install cgfs
by giving pip
the --user
flag, however make sure $HOME/.local/bin
is in your $PATH
in this case.
Please note that pip3
is used, this because CodeGra.fs only with works with
python 3.5 or higher. For MacOS this will probably mean you need to install
Python3, you can do this using homebrew (brew install python
) or by doing python here.
On GNU/Linux and MacOS CodeGra.fs depends on:
Windows (experimental)
Installation on windows can also be done by using pip
, however we also supply
an installer. You can download the installer for the latest release
here. The installer doesn't
install the command line cgfs
script, if you need this script for whatever
reason simply install the package using pip
.
When using the Windows installer you still need to install WinFsp separately. Currently only version 1.4B3 is supported (which is in beta), you can download it here.
When installing using pip CodeGra.fs depends on:
Usage
Command line usage
The basic used of the cgfs
can be viewed by executing cgfs --help
. The idea
behind cgfs
is that you mount a CodeGra.de instance on you local computer, in
the mounted folder you can now browse, alter and delete files submitted by
yourself and people you have to grade.
GUI usage
If you prefer to use a GUI you can use the cgfs-qt
command. This is a simple
GUI to use CodeGra.fs. Please note that this GUI is still in alpha state. To use
the GUI fill in all required fields, you can get help for each field by clicking
the question mark, and click mount. You will now see a output field stating
'Mounting...' and a bit later 'Mounted...'. You can now use the file system as
normal. To unmount simply click 'Stop!'.
Available files
The basic layout of the file-system is /course/assingment/submission - submission_time
, so for example /datastructures/linked-list/Thomas Schaper - 2017-11-14T13:41:26.324712
. All files that a student submitted can be found in
the submission folder.
The file-system also contains a few special files, these are files that are not submitted by a student but can be used to control CodeGra.de. These files are validated on a close, 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 and atom and more are being created.
Privacy
You can use CodeGra.fs 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.version
. We do not collect any personal information
at this route. It is currently not possible to disable this version check. If
this request is a problem for you, it is possible to block this host/url:
CodeGra.fs will continue to function normally; creating a pull request to make
this check optional is also possible of course!
Support
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 CodeGra.fs is available and included in a commercial CodeGrade instance. We would love to provide more information, please send an e-mail to info@codegra.de!
License
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file CodeGra.fs-0.5.0.linux-x86_64.tar.gz
.
File metadata
- Download URL: CodeGra.fs-0.5.0.linux-x86_64.tar.gz
- Upload date:
- Size: 67.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 50390cad8aa05eafb4f8a6ce28bf683b51c4b5438d1e63acdc4403f43af39395 |
|
MD5 | fa990f2bf2d4e15025501465a8f3d14a |
|
BLAKE2b-256 | 7719091d8168e2cdd20c73ed98f717396c2b6bf9202f7e78f5f6d73330b69b78 |
File details
Details for the file CodeGra.fs-0.5.0-py3-none-any.whl
.
File metadata
- Download URL: CodeGra.fs-0.5.0-py3-none-any.whl
- Upload date:
- Size: 42.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5f7ea8b80db8e83cbc3c975a7d7eb7a8177ee7d3a087d99fe24aa32dda90dedd |
|
MD5 | b77b4195ccc6d7b995b1c3b621663f0b |
|
BLAKE2b-256 | 12a235544a5cf06b6accd7c231f52b9c26234a3328a202c71fee5a23fe085c7e |