Added support for restricting access to exams based on IP addresses.
In order to avoid the problem that students might participate on exams intended to be held e.g. on campus from at home, one can now restrict the access based on IP ranges. It is possible to restrict the access via multiple range blocks that can be predefined by the sysadmins. One could predefine e.g. IP range blocks for "Campus LAN", "On Site", "VPN", etc., which can be selected by lecturers for individual exams.
Every IP range block can be defined via multiple entries of disallowed and allowed IP ranges, where the addresses can be specified via IPv4 or IPv6 CIDR blocks (e.g. 127.208.0.0/16), or with wild cards or individual IP addresses. The usage of CIDR blocks requires an update to the updated version of NaviServer.
The IP restriction is used in the current implementation for restricting the regular start of the exam (proctored or non-proctored). Lecturers can still perform test runs for exams with restricted access.
- added modal window for showing all configuration options
- depending on the state of an exam (whether students have stated working on the exam or not) different options can be altered. E.g. the grading scheme can be adjusted at any time, since it is not visible to students prior to exam review.
- improved configurability of form-fields: . new feature: fc_repository for shared definitions (can be reused in the same configuration on multiple occasions) . when form-constraints are defined with an empty short-spec, the system tries to look this up from the fc_repository.
- extended answer manager: . new method: student_submissions_exist . renamed methods . "student_submissions" -> "submissions" (since result my include as well test run results) . "get_answers" -> "get_answer_attributes" to better distinguish from "submissions" - base "merge_constraints" on dicts - prefer forwarder over instance variable for referring the question manager(QM) - extended Message keys with "Configuration" - added missing German translations in message keys - bump version to 5.10.1d17