• last updated 19 hours ago
Constraints: committers
Constraints: files
Constraints: dates
Increase coverage of public api

Increase coverage of public api

Increment version number due to past catalog changes

Increase coverage of public api

file acs-developer-support-procs.tcl was initially added on branch oacs-5-10.

Cleanup typo in doc

Whitespace changes

Split statements into multiple database commands:

issuing multiple sql statements in the same command is a undocumented feature, probably exploited for performance reason, but not officially supported. The dml api will check if the first statement (supposed to be the only one) is actually a DML one. As the first statement in the chain is a select, the command fails.

Fixes xolp automated tests

Make test more robust when re-running

Make api public, as this might be called in adp files from other packages

Add tested procs to test cases

reduce verbosity

strengthen parameter checking

    • -2
    • +2
    • -7
    • +7
    • -2
    • +2
fix typo

avoid "tuple concurrently updated" errors from PostgreSQL

These errors are produced from PostgreSQL, when multiple


see e.g.:


use the right message key

VS: ----------------------------------------------------------------------

Fixed a bug in the request processor, when URL is /%3F

The problem was that /%3F corresponds to a URL which is literally '/?'

(question mark is not the separator for query variables). In this case

a "string match" operation to determine the suffix based on this

string will lead to unexpected characters since '?' is a match

character. This lead in turn to a problem with redirects to the

internally redirect of custom error pages. So, in this case (and

probably others) the custom error page was not displayed.

Handling of mutual overwrites in answer workflows

Mutual overwrites occur in answer workflows when a user manages to

open multiple browswer instances/or tabs on the same exam.

In case there was an mutual overwrite, the position as provided by the

instance attributes might deviate from the position, based on which

the actual form data was generated. So, for validating and updating

one has to change the position to the one from the form data (when

this differs). Note that the randomizer depends on property

"position" as well.

The new version avoids that the user might accidencially overwrite his

data and closes on mutual overwrite automatically the older instance


Bumped version number to 5.10.0d38

Added warning, when (not all) requested forms could not be loaded.

Reduced verbosity.

add more more option for quick debugging passed in form data

    • -2
    • +3
add warning to log file, when a HTML form-data is passed in fro which we have no form-fields defined

    • -1
    • +3
More restricted checking for object_ids

This avoids SQL errors in cases, where values are passed in via query variables

which are valid integers but out of range for SQL integer, which are 32-bit

integers. The better solution would even be to define an NSF argument type

"object_id", but unfortunately, this requires a newer version of NSF than

we target for the release.

    • -9
    • +9
- Added new method extra_html_fields to provide an easy means to add

extra HTML fields to the form autogenerated for form pages

- bump version number to 5.10.0d79

    • -2
    • +2
Added feature to auto lauch LTI login forms upon page loading. This is especially useful when embedding LTI content using an iframe.

improved spelling

Added page_contract filter "object_id"

This change adds the page_contract filter "object_id", which validates

values whether these are syntactically acceptable as object_ids in

PostgreSQL and Oracle.

Note that before one is able to use the filter, the server has to be

restarted. Otherwise, when e.g. "apm/version_reload.tcl" would be

executed with the new filter, it would fail. So, one has to be careful

on update scripts, when people upgrade from old version not to create

a blocking mutual blocking condition.

    • -2
    • +2
improve comments

use util::unzip instead of plain "exec unzip" commands

add question_info_block to documentation block

new variant of zip_file_contains_valid_filenames independent of "unuip -l"

unfortunately the behavior of "unzip -l" differs not only between

macOS and Linux, but even between different linux families, although

showing the same version.