|
| 1 | +# Course configuration options |
| 2 | + |
| 3 | +The course can be configured as a whole using a configuration file called `course_options.yml`. |
| 4 | + |
| 5 | +`course_options.yml` has to be in the root directory of the repository and may contain the following configurations: |
| 6 | + |
| 7 | +- **`hidden`** hides the course from students (including in web UI and IDEs). |
| 8 | +- **`hide_after`** hides the course after a given date from students (including in web UI and IDEs) and refuses to accept any more submissions. |
| 9 | +- **`hidden_if_registered_after`** hides the course from students (including in web UI and IDEs) who have registered after the given date. After the given date it will also be invisible to unregistered users. |
| 10 | +- **`locked_exercise_points_visible`** tells whether exercises that one has not unlocked are visible on the scoreboard. Defaults to true. |
| 11 | +- **`formal_name`** course formal name to be used in certificates. Makes it easier to use the same template and repository for multiple courses. |
| 12 | +- **`paste_visibility`** determines who can access pastes for submissions. Possible values: |
| 13 | + - `open` (default value): |
| 14 | + - In the first 2 hours after submission, the paste is visible to: |
| 15 | + - The submission owner. |
| 16 | + - Teachers and course assistants. |
| 17 | + - Users who have completed the exercise. |
| 18 | + - Anyone, if the submission did not pass all tests. |
| 19 | + - After 2 hours, the paste is only visible to: |
| 20 | + - The submission owner. |
| 21 | + - Users who have completed the exercise. |
| 22 | + - Teachers and course assistants. |
| 23 | + - `protected`: Visible only to: |
| 24 | + - The user who submitted it. |
| 25 | + - Teachers and course assistants. |
| 26 | + - `no-tests-public`: |
| 27 | + - In the first 2 hours after submission, the paste is visible to everyone. |
| 28 | + - After 2 hours, it is only visible to: |
| 29 | + - The submission owner. |
| 30 | + - Teachers and course assistants. |
| 31 | + - `everyone`: Always visible to everyone. |
| 32 | + - `completed-only`: Only visible to: |
| 33 | + - Users who have completed the exercise. |
| 34 | + - The submission owner. |
| 35 | + - Teachers and course assistants. |
| 36 | +- **`certificate_downloadable`** makes the certificate downloadable. Defaults to false. |
| 37 | +- **`certificate_unlock_spec`** makes the certificate downloadable only after the given condition is met. If `certificate_downloadable` is false then it overrides this. See below for more. |
| 38 | + |
| 39 | +If there are multiple unlock conditions, then all of them must be met for the exercise to be unlocked. |
| 40 | + |
| 41 | +The full syntax of a `certificate_unlock_spec` condition is as follows: |
| 42 | + |
| 43 | +- `exercise [group] <exercise-or-group>` |
| 44 | +- `point[s] <list-of-point-names>` |
| 45 | +- `<N>% [in|of|from] <exercise-or-group>` |
| 46 | +- `<N> point[s] <exercise-or-group>` |
| 47 | +- `<N> exercise[s] [in|of|from] <exercise-or-group>` |
| 48 | +- `<date-or-datetime>` |
| 49 | + |
| 50 | +Here's an example configuration file: |
| 51 | + |
| 52 | +```yaml |
| 53 | +hidden: true |
| 54 | +hide_after: 2010-02-15 |
| 55 | +hidden_if_registered_after: 2010-01-01 |
| 56 | +locked_exercise_points_visible: false |
| 57 | +formal_name: "Object Oriented Programming – part 1" |
| 58 | +paste_visibility: open |
| 59 | +certificate_downloadable: true |
| 60 | +certificate_unlock_spec: 80% of week1 |
| 61 | +``` |
0 commit comments