• last updated 14 hours ago
Constraints: committers
Constraints: files
Constraints: dates
Remove hard-coded styling with the "style" element to get a more consistent appearance

(many thanks to Monika Andergassen for looking into this).

    • -8
    • +8
Document behavior

Whitespace cleanup

improve query variable checking

    • -1
    • +1
Adapt 'ad_urlencode_url' to the new 'ns_parseurl' stricter behavior

added CSS properties for adding scrollbars to overly large exam texts. Not sure, these are always wanted.

Initial support for composite questions

A composite question is a test-item containing other regular test

items. This makes it possible to define a larger test item case for

which arbitrary other questions can be associated (e.g. short text

question plus an MC and ordering question etc.). The randomization

features (shuffling, x out of N, etc.) of the included test-items are

preserved such that it is possible to present the student e.g. a sub

question where only 2 out of 5 possible alternatives are displayed.

The provided implementation builds for a composite question consisting

of a constant exam intro text and the selected sub items including

points, minutes etc. The points and minutes of the composite question

are computed as the sum of the points and minutes of the

sub-items. The actual sub-items are constructed at runtime such that

per-user randomization can be applied.

Current shortcoming: question with percent-substitutions are not

supported (since the exam intro text is placed at composite form

creation time already into the form, therefore, it is the same for all

students). Furthermore, the substitution semantics are not clear

concerning the included content.

    • -116
    • +196
include form-vars in log messages for workflows since this eases debugging

    • -2
    • +3
add checker for object_ids. In order to use this, a recent version of nsf is required, no accepting abbreviations for all types

tighten checking on input parameters

allow user to open exam answering in multiple tabs in try-out mode

fix creating/editing of xowiki::Forms

This change essentially reverts the change of July 2, which broke

the feature to specify "editor=none". This is important for the

"form" form-field entry, which requires a FORM tag, that is

usually removed by actual version of the ckeditor.

added value checker, improved comments and logging statements

file q-and-a-new-2-postgresql.xql was initially added on branch oacs-5-10.

file q-and-a-new.tcl was initially added on branch oacs-5-10.

    • -0
    • +0
file q-and-a-new.adp was initially added on branch oacs-5-10.

    • -0
    • +0
file q-and-a-new-2.tcl was initially added on branch oacs-5-10.

    • -0
    • +0
file q-and-a-delete-oracle.xql was initially added on branch oacs-5-10.

    • -0
    • +0
file q-and-a-edit.tcl was initially added on branch oacs-5-10.

    • -0
    • +0
file q-and-a-edit.adp was initially added on branch oacs-5-10.

    • -0
    • +0
file q-and-a-edit-2.tcl was initially added on branch oacs-5-10.

    • -0
    • +0
file q-and-a-delete.tcl was initially added on branch oacs-5-10.

    • -0
    • +0
file q-and-a-delete-postgresql.xql was initially added on branch oacs-5-10.

Adapt file names to OpenACS naming conventions

    • -1
    • +1
    • -0
    • +33
    • -0
    • +54
  1. … 7 more files in changeset.
upgrade default ckeditor from 4.15.1 to 4.16.1 (released in May 2021)

file jquery-3.6.0.js was initially added on branch oacs-5-10.

file jquery-3.6.0.min.js was initially added on branch oacs-5-10.

Upgrade to jQuery 3.6.0 (released March 2021)

    • -1
    • +1
check_expired_certificates: automated certificate nenewal for letsencrypt

This change reduce maintenance effort by automating certificate

renewal. When the NaviServer letsencrypt module is installed and

configured, the background operation check_expired_certificates will

automatically update the certificates when these expire soon (as

defined by the "ExpireCertificateWarningPeriod" parameter of

acs-admin). When a recent version of NaviServer is used that supports

certificate refetch on SIGHUP, the new certificates are automatically

updated without a server restart.


- Recent version of letsencrypt NaviServer module installed (0.6)

and configured

- Recent version of NaviServer (currently Bitbucket tip) for automated

certificate reloading

When the recent letsencrypt module is not installed,

check_expired_certificates sends expiration warnings as usual.

Therefore, it is also useful for sites using certificates from

different sources.

This new functionality was used for latest certificate renewal on


Added optional layout for question types, where question text and

answer interactions are displayed in two columns

The implementation supports responsive design and switches for small

width display again to single column display.

Supported question types:

- Text Interaction

- ShortText Interaction

- MC Interaction

- SC Interaction

- Reorder Interaction

- Upload Interaction

    • -17
    • +28