antoniop in OpenACS

Cleanup stale sse connections

Introduce a new delivery method for notifications based on Server Sent events

By subscribing to /notifications/sse/subscribe one will receive notifications as JSON messages. This can be used e.g. to update a UI in real time based on events on the system.

    • -0
    • +245
    /openacs-4/packages/notifications/tcl/notification-sse-procs.tcl
Retrieving the datasource should not depend on the fact that a driver is configured

    • -2
    • +2
    /openacs-4/packages/search/search.info
    • -8
    • +6
    /openacs-4/packages/search/tcl/search-procs.tcl
Compute the columns as weel when creating a multirow from a list

Test converting to and from a multirow and a list

The test reveals that when converting a list into a multirow, the columns will not be set correctly

title always exists now, ensure it is not empty instead

Introduce the toolbar parameter at the richtext superclass level, so

that formpages created with editors expecting this spec, like ckeditor4,

will not fail to load using other editors that do not expect it

db quote via the api

    • -1
    • +1
    /openacs-4/packages/xowiki/tcl/weblog-procs.tcl
Do not omit line breaks when rendering text interactions as textareas, e.g. in exam protocols

Many thanks to Markus Moser

Initializing a formfield with an invalid spec fails as expected, however, it appears to leave behind the formfield object, which many automated tests will now consider a failure

Ensure the formfield object is destroyed when reading the spec fails

Make the search datasource callback more robust in case pages are broken or otherwise invalid (but complain about it)

Cast to correct datatypes, delete broken placeholder query

Better initialize the datasource for those object that won't return the full set of expected fields

    • -1
    • +4
    /openacs-4/packages/search/tcl/search-procs.tcl
Add missing return

Tolerate non-existing files, but throw a warning

Allow HTML in the default value for parameters, as this could contain markup, e.g. , if the value is some kind of snippet.

Further collect callback logics into procs and test them

    • -2
    • +2
    /openacs-4/packages/search/search.info
    • -4
    • +44
    /openacs-4/packages/search/tcl/search-procs.tcl
    • -21
    • +13
    /openacs-4/packages/search/www/search.tcl
Further cleanup of the indexer logics

- unindexing an object in an own proc

- clarified idioms

- cleanup redundant operations

    • -56
    • +60
    /openacs-4/packages/search/tcl/search-procs.tcl
Claim coverage, bump version number

    • -2
    • +2
    /openacs-4/packages/search/search.info
Factor some of the logic in the indexer into own procs for the purpose of:

- being able to tell programmatically if an object can be indexed

- being able to index an object programmatically using a simpler api

- better test operations

    • -87
    • +126
    /openacs-4/packages/search/tcl/search-procs.tcl
Rework file-to-text conversion with the goal of:

- also for LibreOffice documents, strip the XML from extracted content

- handle errors all at once outside the switch, as the behavior would always be the same

- avoid creating a tempfile

Fix more confusion

Fix rather confusing name of javascript library file

Ensure the namespace exists for template::form::export

Extend user_message feature so that a "severity" information can be passed alongside the message

This allows theme templates to color code messages according to their severity. Severity follows the Bootstrap nomenclature of "info", "success", "warning" and "danger".

Default severity has been set to "success" consistent with styling applied so far by OpenACS to the user messages.

    • -3
    • +3
    /openacs-4/packages/acs-tcl/acs-tcl.info
Bring existing doc into the object's documentation, so that tests would not fail...

    • -16
    • +20
    /openacs-4/packages/xowf/tcl/iprange-init.tcl
Deprecate template::list::csv_quote and replace its usages in packages that we have been supporting

Introduce a new "label_headers" flag for template::list::write_csv that allows to revert to behavior before https://cvs.openacs.org/changelog/OpenACS?cs=MAIN%3Adaveb%3A20080908165252, e.g. use the column names as headers rather than the labels

For some use cases is in fact more useful to have machine-readable headers, e.g. when processing the csv via software

Rely on the csv Tcllib package to generate a csv from a template::list