Skip to main content

File-system for CodeGrade instances

Project description

CodeGra.fs

Build Status Made with ❤ & ️🍻 CodeGra.de Semantic Version v0.4.2-beta License AGPL-3.0-only

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

CodeGra.fs-0.5.0.linux-x86_64.tar.gz (67.9 kB view details)

Uploaded Source

Built Distribution

CodeGra.fs-0.5.0-py3-none-any.whl (42.6 kB view details)

Uploaded Python 3

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

Hashes for CodeGra.fs-0.5.0.linux-x86_64.tar.gz
Algorithm Hash digest
SHA256 50390cad8aa05eafb4f8a6ce28bf683b51c4b5438d1e63acdc4403f43af39395
MD5 fa990f2bf2d4e15025501465a8f3d14a
BLAKE2b-256 7719091d8168e2cdd20c73ed98f717396c2b6bf9202f7e78f5f6d73330b69b78

See more details on using hashes here.

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

Hashes for CodeGra.fs-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5f7ea8b80db8e83cbc3c975a7d7eb7a8177ee7d3a087d99fe24aa32dda90dedd
MD5 b77b4195ccc6d7b995b1c3b621663f0b
BLAKE2b-256 12a235544a5cf06b6accd7c231f52b9c26234a3328a202c71fee5a23fe085c7e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page