Skip to content

Commit 9b1e3b2

Browse files
authored
Merge pull request #215 from rage/add-documentation-for-course-options
Add documentation for course options
2 parents 760e88e + 931551e commit 9b1e3b2

File tree

2 files changed

+64
-0
lines changed

2 files changed

+64
-0
lines changed

docs/course_options.md

+61
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
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+
```

docs/tmcproject.md

+3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
Exercises can be configured by adding an optional `.tmcproject.yml` file to the exercise root directory. Additionally, a course-wide file can be added to the course's root. When the course is then refreshed, the course-wide file is merged with the exercise-specific ones for the exercise stub and solution. For each key-value pair in the course-wide file, if the key is not present in the exercise-specific file, it is added to it with the course-wide file's value.
22

3+
4+
A course can also be configured as a whole using a `course_options.yml`-configuration file, documentation for that can be found [here](./course_options.md).
5+
36
## Keys
47

58
All of the keys listed below are optional.

0 commit comments

Comments
 (0)