xowf-form-field-procs.tcl

  • last updated 8 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Depend specifically on the form-field-procs from xowiki

Don't require the whole xowiki, as it is already a dependency

  1. … 2 more files in changeset.
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.

Bump version number to 5.10.1d31

  1. … 8 more files in changeset.
deactivate options checking for for role-members

seems currently broken

Improved configurability of inclass exam

- 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

  1. … 11 more files in changeset.
Added support for user-supplied grading schemes

Grading schemes provide a means to map achieved percentages to a numeric grade.

In the current versions, a fixed number of 5 grades is supported.

A grading scheme consists of a grounding scheme and grading boundaries.

- A grading scheme can be selected at exam definition time

- Lecturers can define their own grading schemes and reuse these between exams

- Available grounding schemes:

* no rounding (recommended for small exams, e.g. 5 minutes or 2 points)

* by percent (the calculated percentages are rounded to the provided number of digits)

* by points (the calculated points are rounded to the provided number of digits)

- The grounding precision can be defined by the user (e.g. to 2 digits)

- The grading boundaries represent percentages boundaries necessary for a certain grade

- When selecting no grading scheme, no grading information is provided in the exam protocol

(just percentages)

More changes:

- allow grading also, when student has not submitted the exam

- added percentage information in the grading-box (esp. useful for composite questions)

- renamed predefined grading schemes to more neutral terms

- provide easy-to-type names for question-manager, answer-manager and form-loader

- new utility for more robust list-comparions

- defined validating form-field type for grading boundaries

  1. … 13 more files in changeset.
fix spurious colons

  1. … 4 more files in changeset.
extend role manager to include rel_type based roles (especially useful for DotLRN)

  1. … 1 more file in changeset.
whitespace changes and typo

prefer "nsf::is object" over ":isobject" or "info commands", since it is faster, more generic and can be used in all contexts

  1. … 1 more file in changeset.
- remove call from Role object to unknown method :cache

- remvoe per-request cacheing for dotlrn_community::get_community_id (gain is little, since the function uses already an per-thread cache)

improve code documentation

  1. … 10 more files in changeset.
prefer XOTcl2 idioms

  1. … 4 more files in changeset.
Whitespace changes

  1. … 1 more file in changeset.
Shared Workflow Definitions (Part 2)

When shared workflow definition are used, a different management of

object specific code is necessary, since one definition seves for many

objects, and it is not freshly created per object. Therefore, a new

concept is introduced for workflow definitions, named "object-specifc"

Instead of writing in a workflow definition

Action save

state initial -actions {save}

[my object] proc foo {} { ns_log notice "===foo==="}

one has to write now:

Action save

state initial -actions {save}

:object-specific {

:proc foo {} { ns_log notice "===foo==="}

}

where the object-specific is evaluated once per request for every

involved workflow instance in the context of the object (a [self]

in this block refers to the object).

In case a [my object] is encountered and sharedWorkflowDefinition is

activated, a warning is produced and the code falls back to old-style

shared workflow definitions.

  1. … 3 more files in changeset.
merged changes from the oacs-5-9 branch and resolved conflicts

  1. … 7834 more files in changeset.
- make alternatives clickable in mc-questions

  1. … 1 more file in changeset.
- Fix more spelling errors

- Use uniform spelling of "Tcl"

  1. … 9 more files in changeset.
- reduce dependencies on xinha

- use repeat form field specs for mc exercises

- provide a more decent feedback on correct/incorrect answers

  1. … 2 more files in changeset.
- use new function permission::get_parties_with_permission instead of direct dependency on permission tables

- reduce graph size for form-field "current_state"

  1. … 1 more file in changeset.
- use explicit create statments

  1. … 2 more files in changeset.
Merging back to HEAD branch oacs-5-8 (using tag vg-merge-oacs-5-8-from-20141027).

  1. … 2547 more files in changeset.
- remove invalid and unnecessary markup

initial check-in

    • -0
    • +354
    ./xowf-form-field-procs.tcl
  1. … 18 more files in changeset.