• last updated 32 mins ago
Constraints: committers
Constraints: files
Constraints: dates
adapt markup for navbar and dropdown elements to bootstrap5 notation (many thanks to Monika Andergassen)

Added dynamic cluster configuration checking

- handle cases, where not all cluster nodes are available at startup

time (this is a problem for docker, since the IP addresses will not

be available as well)

- handle dynamic changing of configuration variables

- refactored code

- new methods "acs::Cluster register_nodes" and

"acs::Cluster refresh_blueprint" (called regulary via scheduled

procedure, running every minute)

    • -22
    • +8
    • -0
    • +294
file cluster-procs.tcl was initially added on branch oacs-5-10.

    • -0
    • +0
remove traces of md5::md5, since ns_md5 is emulated also for AOLserver

whitespace changes

reduce useless warnings for template::adp_parse_tags

The problem was that template::adp_compile_chunk produces no output, when the parsed chunk contains only whitespace,

causing an error message in this case. The changed method shortcuts the behavior.

Support the usage of HTTP locations in kernel parameter ClusterPeerIP

The change extends the values specified in ClusterPeerIP in two respects

- one can now specify the protocol (defaults to http)

- while ClusterPeerIP required an IP address, it is now possible to specify an DNS name

The DNS name is resolved for the time being at the start time of the OpenACS instance.

Drop "ON DELETE CASCADE" on page_template, since this might lead to crippled entries in the database.

When someone delets via operations in the database a form, protentially existing

form pages refering to this item might be left in a crippled state.

The cascade operation deletes the revision (xowiki_page_instance), but leaves

the half-crippled item. The problem does not exist over the web interface,

since it does not allow such items to be deleted while form pages exist.

    • -2
    • +2
    • -2
    • +2
Add support for menu-entries, where simply a "-link" is provided

Prefer util::which to retrieve the unzip executable

Complain in the logfile whenever the insertion of the null character is attempted in the syndication table

Implement a conversion from MS pptx to plaintext:

first slides are extracted from the presentation, then everything that is not the content of a text tag is removed.

More targeted sanityzing only on the variables that have a chance to contain the null character

Translate potential null characters in the syndication content with the empty string, so that we do not risk to try (and fail) to insert them in the database

flipping of session_id apparently works without keeping track of the old session_id, so there is no need of keeping track of it

provide stub for wf-specific in none shared workflows

    • -0
    • +4
Provide a fix for "dom parse -html ..." for adp tags.

"dom parse -html" has two problems with ADP tags like "<adp:icon ...>":

a) If the tag name contains a colon or underscore, the tag is

treated like plain text, i.e. "<" and ">" are converted into

HTML entities.

b) These tags have to be closed "<adp:icon ...>" is invalid.

Several existomg ADP tags have not closing tag.

Therefore, we resolve the ADP tags before parsing the text by

tdom. There should be some future framework support to do this in

general, but until we have this, resolve this problem here locally.

improve message key

    • -2
    • +2
New method "marshall_all_to_file"

This method is similar to "marshall_all", but exports the objects

directly to a file. This can save memory when exporting a large

collection of objects, since the plain "marshall_all" appends to

string, which can get very large, especially due to Tcl's

"double the size when space is needed" policy during "append"


    • -1
    • +31
New feature for shared workflow definitions: define workflow specific methods

Workflows support since a long time "object-specific" code, which is code

to be executed, when a workflow instance is initialized. Now, in symmetry

to this, one can define "wf-specific" code (e.g. registering methods to

be called directly on the workflow object.

Similar to the call of ":object-specific {...some code...}", one define

additionally ":wf-specific {...some code...}". This comes handy

when e.g. definiing methods directly executed on workflowss, such as e.g.


The methods are defined on the WorkflowContainer class, which is only available

on for shared workflows.

    • -15
    • +92
improved comments

Small optimization for cachingmode "none": no need to broadcast cache flushing

fix missing colon (many thanks to Marty Israelsen for reporting)

Use NaviServer feature "ns_deletecookie ... -samesite $samesite ..." when available.

fix brackets

The CalDAV functionality was originally developed as an extension of

the calendar package in 2006 by Gustaf Neumann [1], then extended by

Hubert Stickelberger and Nermin Topcagic in 2014 while working on

their master theses, further maintained and extended by Markus Moser,

and refactored and fixed again by Gustaf Neumann in 2019, extended by

regression tests emulating clients from Android, iOS and Thunderbird.

Currently, the package contains 394 tests for regression testing.

The package does not depend on DotLRN, but uses some of its features,

when it is installed.

[1] https://openacs.org/forums/message-view?message_id=436039

    • -0
    • +34
    • -0
    • +23
    • -0
    • +1534
file caldav-test-procs.tcl was initially added on branch oacs-5-10.

    • -0
    • +0
file caldav-procs.tcl was initially added on branch oacs-5-10.

    • -0
    • +0
file caldav-item-procs.tcl was initially added on branch oacs-5-10.

    • -0
    • +0
file caldav-interface-procs.tcl was initially added on branch oacs-5-10.

    • -0
    • +0