Registration Workflow¶
Studying at a higher education institution means following orchestrated and repeatable patterns of activities or, in other words, following a process workflow prescribed by the school regulations. This process starts with application for studying a programme offered by the school, and may end with de-registration of a student. But even after de-registration, former students can be kept in the system as alumni so that they can still access their records or can apply for official transcripts.
Kofa divides these ‘repeatable patterns of activities’ into two different and strictly seperated process workflows: an application and a student registration workflow. The latter, which presupposes the admission of the student, will be described here.
A worflow defines states and transitions between the states. The following diagram shows the entire student registration workflow. Workflow states are connected with dashed lines which symbolize workflow transitions. There are no arrows at the end of each line because in most cases, Kofa provides transitions in both directions. Transitions are denoted by lower-case characters, reverse transitions additionally by a preceded dash. A few transitions do not make sense and are thus not available (N/A):
a
created ------- admitted
b |
+----------------+
| e
+------------------------------------------------------+
| c d |
clearance started ------- clearance requested ------- cleared
|
f |
+--------+---------------------------------------------+
| |
| h school fee paid -------- returning -------------+
| | \ l | |
+--------+ g \ _ _ _ m | k |
| \ | |
courses registered ------ courses validated |
| i | |
| | n |
| j | |
| +-- graduated |
| | | |
| | | o |
| | | |
| | transcript requested |
a: admit | | | |
-a: reset1 | r | | p |
b: start_clearance | | | |
-b: reset2 | | transcript validated |
c: request_clearance | | | |
-c: reset3 | | | q |
(= reject request) | | | |
d: clear | +-- transcript released |
-d: N/A +---------------------------------+
e: N/A
-e: reset4 (= annul clearance)
f: pay_first_school_fee, approve_first_school_fee
-f: reset5 (= annul payment)
g: register_courses
-g: reset7 (= unregister)
h: pay_pg_fee, approve_pg_fee
-h: N/A
i: validate_courses
-i: N/A
j: bypass_validation
-j: N/A
k: return
-k: reset9
l: pay_school_fee, approve_school_fee
-l: reset6 (= annul payment)
m: N/A
-m: reset8 (= annul validation)
n: N/A
-n: N/A
o: request_transcript
-o: reset10 (= reject request)
p: validate_transcript
-p: N/A
q: release_transcript
-q: N/A
r: N/A
-r: reset11
Student registration starts with the first login of the student
into state admitted
. After editing the email address and phone
number fields, and also uploading a passport picture (subject to
customization), the student immediately proceeds with the clearance
sub-workflow. S/he starts clearance (b) either directly or by
using a clearance access code, depending on the configuration of
the portal. After filling the clearance form and uploading all
necessary documents, the student requests clearance (c) which
can be either accepted (d) or rejected (-c) by a clearance
officer. A cleared student can enter the ‘cyclical’ part of the
workflow which starts after first school fee payment (f).
A properly registering undergraduate student creates a new study
level (course list) at the beginning of each academic session, adds
the necessary course tickets and finally registers the list (g).
The student’s course adviser subsequently validates the list (i),
or rejects the course registration request (-g) so that the
student has to register again. Even after validation there is an
option to annul the already validated course list (-m) so that
the student can revise the list. At the end of the session, when all
exams have been taken, course results (scores) are either entered by
lecturers or imported by an import officer, a verdict is announced
and the student is finally enabled to return (k). In Kofa the
last two steps are automatically performed by the Verdict Batch
Processor. In some cases, course validators are not available or
course validation is not necessary. Then validation can be skipped
(j) by setting bypass_validation in the processor’s import
file to True
. In both cases the student arrives in state
returning
but is still in the same session. Also the current
level has not changed. The new session starts only if the student
pays school fee for the subsequent session (l). Then
current_session increases by one, current_level is set according
to the verdict obtained, the old verdict is copied into
previous_verdict and current_verdict is cleared. The student has
arrived in the new academic session in state school_fee_paid
.
The gikl cycle is repeatedly passed through till the student is
ready for graduation.
So far we have spoken about undergraduate students. The same sequence of transitions also applies to postgraduate students if they have to pass several levels (e.g. 700 and 800). Very often the level model does not apply to postgraduates. The students remain in the same (999) level but pay for each year of studying. In this case the gikl cycle collapses to the h cycle. Students may add course tickets whenever they like, but cannot register their course list.
After graduation, former students (alumni) can apply for an official
transcript. The transcript processing workflow (opqr) is a
subset of the registration workflow which starts in state
graduated
. Many people are involved in transcript processing.
Therefore, Kofa provides two additional roles, the Transcript
Officer and Transcript Signee roles. Both are available globally and
locally (at faculty level). First of all, the graduated student has
to request a transcript (o) by filling a request form. The
Transcript Officer will see the new request and can either reject
the request (-o) or validate the request (p). Before
validation course results can be edited or added by a Students
Manager, transcript study level remarks also by Transcript Officers.
After validation the entire studycourse including its content is
locked. Nobody will be able to modify the course lists, neither
through the UI nor by import. Transcripts can now be electronically
signed by Transcript Signees. Once all signees have done their job,
the Transcript Officer can release the transcript (q). A pdf
file is created and stored in the file system. The transcript pdf
slip contains all signatures. The dynamic transcript generation is
disabled. Nothing can be changed now, unless the entire transcript
process is reset (-r) by a Students Manager. Then comments and
signatures will be removed and the pdf file deleted. The student can
start afresh.
Workflow Batch Processing¶
The StudentProcessor
allows to import
either workflow states or transitions. As already emphasized in the
description of the processor class, we refer to them as unsafe and
safe respectively. Transitions are only possible between allowed
workflow states. Only transitions ensure that the registration
workflow is maintained. Setting the workflow state by import is
considered brute and must be avoided.
Student History¶
All transitions are automatically logged in students.log
. And
also the import of workflow states is recorded in the logfile.
However, these logfiles can only be accessed by some officers and
are hidden from students. Since Kofa takes up the cause of
transparancy, we are of the opinion, that also students must know,
when and by whom the state of their record was changed. Therefore we
store all workflow-relevant changes additionally in the student
history which is attached to the student object. The history is a
list of messages. Each message contains the local time, the workflow
transition message and the public name of the user who triggered the
transition, either online or by import:
2015-05-16 05:11:34 UTC - Record created by System Admin
2015-05-30 07:34:09 UTC - Admitted by System Admin
2015-05-30 08:34:11 UTC - Clearance started by John Doe
2015-05-30 09:34:15 UTC - Clearance requested by John Doe
2015-05-30 10:37:27 UTC - Cleared by Clearance Officer
If the workflow state is set by import, the following message would have been added instead:
2015-05-30 10:37:27 UTC - State 'cleared' set by Import Officer
Student histories are exportable but cannot be imported.