• last updated 13 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
spell "site-wide" consistently with a dash

  1. … 34 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. … 18 more files in changeset.
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. … 14 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 fix by Markus Moser on live since 2022-09-21

Fix regression after disabled formfield reform

improved spelling

  1. … 1 more file in changeset.
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.

  1. … 1 more file in changeset.
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.

  1. … 1 more file in changeset.
Move the specific richtext-editor implementations into an own file

  1. … 1 more file 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.
Introduce server-side validation for HTML5 date and time formfields

A "formats" parameter can be specified on the formfields indicating one or more formats that we want to enforce. The syntax for any of such format is that of the Tcl clock command.

Default values have been set according to the expected behavior of each form field type.

Empty values are always considered valid. If a field is required, this will be enforced in its own validator.

  1. … 3 more files in changeset.
move "-destroy_on_cleanup" towards the end of the parameter list

This change improves protection about ambiguous user input

  1. … 8 more files in changeset.
fix indentation

minor change in comment

fix for short-text-questions

for short-text-questions, correct when is empty (an empty

list) when multiple subquestions exists. The old code

did not handle this case and checked just for the existance

of the variable.

many thanks to markus moser for the fix.

improved parameter checking

  1. … 3 more files in changeset.
revert escaped change

rename helper form-field to avoid potential confusion with value checkers

increased value checking for paramter that might be influenced by user input

  1. … 8 more files in changeset.
Protect against malicious inputs, where the value won't be a list

improve strictness of tests

  1. … 8 more files in changeset.
improve field validation

  1. … 3 more files in changeset.