Hand in Requirements
Hand in requirements make it possible to set up strict rules to the structure requested for submissions, by denying, allowing or requiring students to upload certain files and folders.
Hand in requirements make it possible to set up strict rules to the structure requested for submissions to a specific assignment. Hand in requirements consist of three different parts that specify the behaviour of your requirements.

1. Default policy

First, a default policy should be selected:
  • By default Deny all files: All files are denied by default, further rules (required or allowed files) determine exactly and strictly what students can or must hand in (i.e. this will allow you to whitelist certain files and deny anything else).
  • By default Allow all files: All files are allowed by default, further rules (required or denied files) determine which specific files a student cannot hand in or must hand in (i.e. this will allow you to blacklist certain files and allow anything else).

2. Options

Secondly, numerous options can be selected to further specify the behaviour of your requirements. These options are:
  • Delete empty directories: If enabled, automatically delete empty directories from student submissions.
  • Delete leading directories: If enabled, automatically delete superfluous leading directories (i.e. top-level directories in which all files / subdirectories are located).
  • Allow overrides by students: If enabled, the student can, after being shown a warning, still force hand in the submission even if it violates the hand-in requirements.
Allowing students to override the hand in requirements will allow them to hand in files that are denied, but will not allow them to upload if they miss a required file. This is useful to prevent blocking submissions right before the deadline.
Make sure to disable Delete leading directories when directory structure is important in the student submissions and your automatic tests, for instance when working with Java packages.

3. Rules and exceptions

Thirdly, rules can be given that consist of exceptions to the default rule and requiring certain files. These rules can apply to files anywhere in the submission or files that have to be in a given path relative to the top level directory. These rules are individual and do not have any ordering between them.
Use / or \ as a directory separator to specify that certain files are required, allowed or denied in a directory. Start the rule with a directory separator (/ or \) to specify that a file is required, allowed or denied in the top level directory.
To match more than one file, you can use a single wildcard for the name of the file, by using a *. For example /src/*.py matches any file ending with .py in the directory src that is directly in the top level directory of the submission.
Hand in requirements are enforced only on submissions made with the file uploader in CodeGrade and are not compatible with Git uploading.
Last modified 1yr ago
Copy link