• last updated 3 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Provide better coverage of used JavaScript libraries

- Added support for jquery, jquery-ui, jqueryui_touchpunch

- For all covered JavaScript libraries, the following components were added:

* parameter configuration (param_info)

* vulnerability checks

- site-wide info can manage now:

bootstrap-treeview, jquery, jquery-ui, and jqueryui-touch-punch

- fallback libraries (e.g. for bootstrap3 or yui) are not covered,

these should disappear in the future.

- bumped version number to 5.10.1b14

spell "site-wide" consistently with a dash

  1. … 33 more files in changeset.
improved spelling

  1. … 28 more files in changeset.
js-libraries: improved naming of variables

Changed name "installedVersion" to "configuredVersion", since

the former might lead to the impression, that it refers only

to the locally installed version. Instead, this refers as well

to a CDN version (when available)

  1. … 18 more files in changeset.
js-libraries: removed variable "resourceUrl"

The variable "resourceUrl" was always used in a single branch but set

for all branches before. To ease maintenance and simplify

comprehension, it was removed.

  1. … 10 more files in changeset.
tdom: "dom parse -html" implies the "simple" parser

The flag "-simple" is not needed when parsing with the flag "-html". This meanse

that

dom parse -simple -html ...

is equivalent with

dom parse -html ...

  1. … 2 more files in changeset.
Always use "--" in "dom parse" when document is interpolated

This is a safety measure to make sure that the document parsed is

never confused with an option, when the document starts with a "-". In

the best case, the error message provided by "dom parse" might be

misleading. This might be a problem for user contributed documents

(passed as variables, or return values from functions).

The double dash is supported in tdom since version 0.9.0.

  1. … 14 more files in changeset.
various small fixes for js libraries

- fixed page contract in case a non-default version is downloaded

- provide always an argument "-version" to resource_info procs

- obtain current version number always via resource_info.installedVersion

(it refers to CDN and locally installed version)

- pass always versionDir via resource_info to ::util::resources::download

- always obtain version_dir from resource_info

  1. … 25 more files in changeset.
Improved resource information for external libraries

- added vulnerability check for a particular version

- centralized URL generation for cdnjs URLS (will reduce maintenance work, when external URL changes)

- improve behavior when running without an Internet connection

  1. … 11 more files in changeset.
bump version numbers to reflect the updated resource-info API in acs-tcl

  1. … 6 more files in changeset.
Improved consistency of resource-info for javascript libraries, added vulnarability info

Tested the following cases:

download check

- bootstrap

- bootstrap-icons

- bootstrap-treeview

- ckeditor4

- font-awesome

- highcharts

- cookieconsent2 3.0.3

- cookieconsent2 3.1.1

CDN check

- bootstrap

- bootstrap-icons

- bootstrap-treeview

- font-awesome

- highcharts

- cookieconsent2 3.0.3

- cookieconsent2 3.1.1

  1. … 8 more files in changeset.
Don't set result variables for "header_stuff"

The method "header_stuff" was changes ages ago to

side-effect via the standard OpenACS template::head

interface rather than outputting to a variable, which

has to be passed around. This change removes some

leftover of this time.

Extended resource info dict with explicit version number and an API call to obtain the newest version number

The two new optional resource info fields are

- versionCheckAPI

- installedVersion

These fields are necessary to provide an admin page to check

whether the installed versions are the most recent ones.

  1. … 8 more files in changeset.
Remove xowiki dependency from CKEditor4

Rationale: CKEditor4 is EOL for its free version and the paid LTS version will be discontinued in December 2026.

We now do not set an explicit default for the preferred richtext editor. Instead, the first richtext-* package that will be installed with check whether a preferred editor was chosen. If not, they will set themselves as the xowiki editor. This should not change the behavior for existing installations already using ckeditor4, or a different editor.

  1. … 3 more files in changeset.
Fixed several issue with the regression test case

- don't hard-code locales

- don't base decision to perform decimal comma tests on the fact that the locale is enabled

(it might be enabled but not loaded)

- perform test, when a locale with decimal point is enabled and loaded and the locale

of the test user can be set to it

Adjust TinyMCE behavior for the cornercase of a nested compound field with inline editor

Unset the "required" HTML5 attribute after the superclass initialization, because the textarea superclass will set it back again otherwise

improved spelling

  1. … 13 more files in changeset.
Make "standard" the default preset we apply to richtext editors

This is needed to have consistent site-wide default settings coming from the tcl level, such as connection context information and more.

  1. … 1 more file in changeset.
Render richtext as div reform

Some richtext editors, such as TinyMCE in inline mode, do not expect

to enhance a textarea, but a div.

We could already override the rendering in the richtext editor

subclass, but this has the consequence that inheritance would be

interrupted. This prevents from plugging behavior in subclasses of the

richtext formfield.

This reform refactors render_richtext_as_div from the richtext

formfield into render_as_div on the textarea class. It also supports a

flag for subclasses to instruct the superclass that they should render

the field as div AFTER the whole inheritance chain was applied.

Do not assume the repeated field will be attached as a direct child of the observed element

This is not the case in some downstream implementations

Include the attribute to identify a repeated field also when we render richtext as div

Port of downstream modification in place since at least 2012

When parsing XoWiki links, accept links in the form [[link|| -flag1 flagvalue]], where the label is set to empty.

Port of downstream fix by Markus Moser on live since 2022-09-21

Fix regression after disabled formfield reform

updated jqueryui to latest version

    • -323
    • +331
    ./www/resources/jquery/jquery-ui.js
    • -4
    • +4
    ./www/resources/jquery/jquery-ui.min.js
improved spelling

Provide a reference to the current object when configuring tinymce

Allow to completely override the imageSelectorDialog URL downstream

Introduce for richtext editors the concept of "preset"

A preset is an abstract set configurations designed to address a specific use case.

An example could be a preset for a "minimal" richtext editor, used in those forms where we want to limit the features a user should have access to. Other presets could address specific usages or applications.

Downstream developers can provide a set of ::richtext::$editor::preset::$preset procs, returning an options dict. This set of options will be merged other local configurations.

The same approach works in ad_forms and xowiki forms.

This also enables the use-case of switching to a different editor maintaining the existing application-specific configurations consistent.

  1. … 1 more file in changeset.
TinyMCE XoWiki formfield integration

We introduce a new richtext mixin richtext::tinymce, requiring the richtext-tinymce package, currently integrating TinyMCE editor 7.0.1.

This implementation has been tested with regular, repeat, compound and repeatedcompound fields.

Downstream implementations based on this formfield can customize the editor configuration further, e.g. provide custom plugins via the api parameters.