• last updated 42 mins ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
correct comment

use per-request cache for relatively expensive operation, which is called potentially often per request

We might consider in the future a longer lasting cache for "global" form pages.

    • -22
    • +32
    ./xotcl-core/tcl/06-package-procs.tcl
use same idom for loading named forms as on other places

improve styling in exam protocol

use "throw" in exception handling with "try"

Fail with the actual error message when parsing the value fails, rather than because of "result" variable not being set

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

    • -5
    • +18
    ./xowf/catalog/xowf.de_DE.ISO-8859-1.xml
    • -3
    • +17
    ./xowf/catalog/xowf.en_US.ISO-8859-1.xml
    • -4
    • +3
    ./xowf/catalog/xowf.es_ES.ISO-8859-1.xml
    • -3
    • +3
    ./xowf/catalog/xowf.it_IT.ISO-8859-1.xml
    • -0
    • +168
    ./xowf/lib/edit-grading-scheme.wf
    • -370
    • +258
    ./xowf/tcl/test-item-procs.tcl
    • -0
    • +69
    ./xowf/tcl/xowf-form-field-procs.tcl
file edit-grading-scheme.wf was initially added on branch oacs-5-10.

    • -0
    • +0
    ./xowf/lib/edit-grading-scheme.wf
file grading-procs.tcl was initially added on branch oacs-5-10.

    • -0
    • +0
    ./xowf/tcl/grading-procs.tcl
file edit-grading-scheme.wf.page was initially added on branch oacs-5-10.

    • -0
    • +0
    ./xowf/resources/prototypes/edit-grading-scheme.wf.page
Replace reference to long-missing message key

reduce verbosity

support grading passed in via property

still initialize array

improve comment.

since "nsv_get $array $member varname" returns 0, when the array does not exist, we do not need the extra value for initialization

cache parsed form_constraints via nsv instead of via global variable

- Define converters as procs

- Register these procs as aliases where convenient

- this effects:

dict_to_fc, dict_to_spec, spec_to_dict, fc_to_dict, dict_value

- extended regression test

- bumped version number to 5.10.1d9

    • -38
    • +140
    ./xowiki/tcl/form-field-procs.tcl
    • -0
    • +76
    ./xowiki/tcl/test/api-test-procs.tcl
minor editing changes

improve location of comment

prefer "Package require" over "Package initialize" when possible

    • -1
    • +1
    ./xowiki/tcl/test/xowiki-test-procs.tcl
adjust code with regression test, which performs literal comparison of rendered content

    • -3
    • +3
    ./xowiki/tcl/test/xowiki-admin-tests-procs.tcl
    • -1
    • +1
    ./xowiki/tcl/test/xowiki-link-test-procs.tcl
    • -2
    • +2
    ./xowiki/tcl/test/xowiki-test-procs.tcl
performance improvements for "::xo::db::Class proc get_instance_from_db"

when the object exists already, the text for existance is made earlier

to void useless operations. This change improves the performance by a factor of 3

when the object was already loaded.

OLD {4.544836 microseconds per iteration}

NEW {1.310991 microseconds per iteration}

Smartify idioms

    • -15
    • +16
    ./acs-templating/tcl/tag-init.tcl
Fix typo

reduce verbosity

Similar to the folder-create script, complain if the filename turns out empty after sanitizing

Allow the maximum size permitted by the datamodel in the UI, but then validate it before saving

    • -2
    • +2
    ./calendar/www/calendar-item-types.tcl
When deleting, make sure supplied id is actually a room id

Trap the attempt to retrieve a non-existing forum and return a 404 in this case

this might need to happen in other places and/or be refined