gustafn in OpenACS

support multiple autosave fields on a single page

fix once more handling of internal redirects in error cases

many thanks to thomas renner!

Maintain revision date for "update_attribute_from_slot"

This is not a full-featured version, since it does not update the

modifying user and the modifying IP (since this data is not

always available). But this version is at least good enough

for experimenting and checking for unwanted side-effects.

xotcl-core: upadated version number to 5.10.0d40

xowf: upadated version number to 5.10.0d39

    • -2
    • +3
improve comments, make logging output more regular

    • -8
    • +6
improve comments and reguarity of log messages

    • -5
    • +7
no need to ask answer_manager for package_id

    • -2
    • +1
fix editing bug

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
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

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.

bugfix: pass "-revisions" to "render_proctor_images" since it is needed there

fix braces for return_url

improve handling of zip files that contain filenames, which are not valid UTF-8

preserve colors for printing "match-contains" and "match-contains-not"

Background: bootstrap.css removes all backgrounds per default.

whitespace changes

whitespace changes (eliminate tabs)