aboutsummaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/graduation.md59
1 files changed, 59 insertions, 0 deletions
diff --git a/doc/graduation.md b/doc/graduation.md
new file mode 100644
index 0000000..5eaaa31
--- /dev/null
+++ b/doc/graduation.md
@@ -0,0 +1,59 @@
+# Graduation
+
+## Table
+
+The graduation table tracks all graduation changes for all students.
+A change can be submitted by any teacher.
+Changes are valid until subsequent change renders them obsolete.
+
+## Graduation Changes
+
+Graduation changes are unique and the systems ensures that no duplicates are entered.
+
+Changes can be active or archived.
+The state of a particular change is derived from subsequent changes.
+
+Currently multiple changes have to be retrieved to determine their state.
+This decision allows us to write data once and not modify changes in the future.
+The assumption is that a single person does not acquire that much changes, that this would be a performance issue.
+
+### Dataformat
+
+Note that the database is a Moodle database activity and thus does not allow access using SQL.
+The below scheme uses a SQL like syntax.
+
+```sql
+TABLE Change(
+ Id: INTEGER,
+ Firstname: STRING,
+ Lastname: STRING,
+ Group: STRING,
+ Change: STRING,
+ Description: TEXT,
+ Json: STRING,
+)
+```
+
+The author of the change and the time it is created is tracked by Moodle and also available vis the list view of the moodle database activity.
+
+### Changes
+
+Valid changes are:
+
+* `Grün` - sign for wanted behavior
+* `Orange` - sign for unwanted behavior
+* `Rot` - sign for unacceptable behavior
+* `Gespräch` - pedagogical meeting with the coach
+* `Änderung` - change in the student's privileges
+
+### Green Mark
+
+Green marks are collectables.
+
+### Orange Mark
+
+Orange marks highlight the need for a pedagogical session and are rendered archived by any subsequent `Gespräch` change.
+
+### Red Mark
+
+Red Marks track unacceptable behavior and are only archived by consequence explicitly doing so with a `Änderung` change.