• last updated 7 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
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.

Add a richtext to the test formfields specifications

Move back richtext formfield implementations in form-field-procs

Moving to a different file may affect dependencies defined on form-field-procs that also expect the richtext editor to be loaded. As breaking changes are not desirable now, we revert this reform.

Cleanup leftover code from successful reform in December 2016

Since then, we have been long using dynamic repeat fields on production

Move the specific richtext-editor implementations into an own file

file richtext-procs.tcl was initially added on branch oacs-5-10.

    • -0
    • +0
    ./tcl/richtext-procs.tcl
improved spelling

  1. … 3 more files in changeset.
Improved readability of configuration parameter "parameterSecret"

- Switched to camelCase for better readabilty and uniformity

- NaviServer configuration parameters are case insensitive, so no danger for backward compatibility

  1. … 5 more files in changeset.