• last updated 2 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Styling changes for minimal setups

This change is necessary for minimal setups, e.g. for plain installs

during regression test, when no bootstrap packages are available.

- define yui as last-resort fallback for "toolkit"

- handle CSS class composition for YUI as well

(merge of class-specific and item specific CSS classes,

used for color management for publish status button)

- remove underline for publish-status in YUI mode

  1. … 2 more files in changeset.
get rid of "xowiki::adp_parse_tags", since this is handled now already in acs-templating

  1. … 4 more files in changeset.
provide CSS classes for sort handles and improve message key.

  1. … 2 more files in changeset.
committed missing file

    • -0
    • +190
    ./xowiki-bootstrap5-specific.css
file xowiki-bootstrap5-specific.css was initially added on branch oacs-5-10.

    • -0
    • +0
    ./xowiki-bootstrap5-specific.css
Delete CKEditor 3 (which was replaced by CKEditor 4 in 2012)

CKEditor 4 is continued to be supported.

    • -20
    • +0
    ./ckeditor/ckeditor_basic_source.js
    • -306
    • +0
    ./ckeditor/_source/adapters/jquery.js
  1. … 591 more files in changeset.

Reduce dependencies on YUI 2

- Added native CSS classes for Tree renderer

(named "xowiki-tree" to avoid name clashes).

- Made TreeRenderer more configurable, by providing css class names etc.

- toc includelet: replaced default (when no style is provided)

from yuitree to list + xowiki-tree.

The old behavior can be achieved by {{toc -style yuitree}}

Note that not all features of the YUI tree might be available

- The CSS variant with xowiki-tree can also be used for the folder-tree,

but so far, the bootstrap3 renderer is more nice.

  1. … 2 more files in changeset.
Upgrade to jQuery UI 1.13.1

Added archiving of items, reduced usage of images for icons

When an item is archived, it is not shown to plain users. Internally,

when an item is archived, the publish status is changed to "expired"

and removed from search/syndication. When an item is archived, it can

be brought via "toggle-publish-status" to state "production" again.

Future versions might rename the item in such conditions, but

currently, it is NOT renamed, so one cannot create one more item in

the same folder with the same name.

For realizing this functionality, the includelet "form-usages" accepts

now an additional optional value for "-buttons" named "archive". The

publish status toggle can be used now for switching from

"production"->"ready", "ready"->"production" and

"expired"->"production".

Additionally, the usage of .png images as icons was reduced by CSS

elements for easier styling (e.g., for different themes) and for

reducing less server requests and better responsiveness. In particular

the images for active.png and inactive.png are not necessary any more

and were removed.

Bumped version number to 5.10.1d8 to enforce loading of the message

keys.

  1. … 10 more files in changeset.
Update jquery-ui to version 1.13.0 to mitigate high severity XSS vulnerabilities

Added support for tailored messages when autosave is rejected

Optionally, the AJAX call from autosave can be answered with

a JSON structure containing a "feedback". If this is provided, this

is presented to the user. The mechanism can be extended in the

future to include some reason code, etc. for further automatic

processing in JavaScript.

With this change, the inclass-exam-answer workflow will use this

to comminicate the reasone for rejected autosave operations in

situations, where the examtime is up.

  1. … 4 more files in changeset.
Remove hard-coded styling with the "style" element to get a more consistent appearance

(many thanks to Monika Andergassen for looking into this).

  1. … 5 more files in changeset.
file jquery-3.6.0.js was initially added on branch oacs-5-10.

    • -0
    • +0
    ./jquery/jquery-3.6.0.js
  1. … 1 more file in changeset.
file jquery-3.6.0.min.js was initially added on branch oacs-5-10.

    • -0
    • +0
    ./jquery/jquery-3.6.0.min.js
  1. … 1 more file in changeset.
Upgrade to jQuery 3.6.0 (released March 2021)

  1. … 6 more files in changeset.
support multiple autosave fields on a single page

provide nicer icon for revisions button

  1. … 1 more file in changeset.
make treeview more compact

  1. … 1 more file in changeset.
Improved styling of delete buttons

Added code to configure file-upload button (for now deactivated)

  1. … 1 more file in changeset.
fixed ckeditor form field for inline mode.

use inline mode for editing test items

added a describe funtion for MC items

  1. … 6 more files in changeset.
candidate_box_select: provide per default larger boxed (easer for dnd)

improve styling of nested repeated fields (less frames)

Use usual delete symbol for deleting repeat elements

  1. … 1 more file in changeset.
remove spans for file-links and external links

  1. … 1 more file in changeset.
improve stylability: add glyphicons for external and file links

Many thanks to Monika Andergasse for the help!

MenuBar reform

- MenuBars are now easier programmatically extensible (easier to maintain)

- refactored code, reduced scatted definitions (all configurations

at the same place)

- unified templating:

use body property @body.folderHTML@ instead of @folderhtml@

From the former API calls only "update_items" has changed,

all existing configurations (i.e. via folders or package parameter)

should continue to work.

== Changes:

One can now extend menubars via menu entry definition

{config -use YOURCONFIG -class YOURCLASS}

in two directions:

a) subclassing

define your own menubar class YOURCLASS, which should

be a subclass of ::xowiki::MenuBar

b) provide your own configuration method to provide

a more tailored configuration. This is performed

by defining a method "config=YOURCONFIG" for ::xowiki::MenuBar

The latter method is used for test-items, which can define a

test item folder by using

-- extra_menu_entries ---

{config -use test-items}

instead of

-- extra_menu_entries ---

{entry -name New.Item.TextInteraction -form en:edit-interaction.wf -query p.item_type=Text}

{entry -name New.Item.ShortTextInteraction -form en:edit-interaction.wf -query p.item_type=ShortText}

{entry -name New.Item.SCInteraction -form en:edit-interaction.wf -query p.item_type=SC}

{entry -name New.Item.MCInteraction -form en:edit-interaction.wf -query p.item_type=MC}

{entry -name New.Item.ReorderInteraction -form en:edit-interaction.wf -query p.item_type=Reorder}

{entry -name New.Item.UploadInteraction -form en:edit-interaction.wf -query p.item_type=Upload}

{entry -name New.App.OnlineExam -form en:online-exam.wf}

{entry -name New.App.InclassQuiz -form en:inclass-quiz.wf}

{entry -name New.App.InclassExam -form en:inclass-exam.wf}

See below for the definition of the "test-items" configuration method,

which is based on the default definitions. In general, the definition

in this method can be performed via menu-entries (same syntax as in

other menu entries) or via the MenuBar API (e.g. calling

":add_menu_item ...").

All configurations follow the following definition order

where later entries can refine earlier entries:

- package level: package parameter ExtraMenuEntries

- configuration method: use standard or tailored confguration methods

- per-folder definition: content of the extra_menu_entries

Note that the menu entry definition language supports as well

adding/clearing menus, etc., so almost everything can be refined.

I've noticed that the tlf* code has several scattered menu

definitions, which are as well done in every case differently.

By these definition one can define e.g. a learning-app folder (where

"New" can be used to define new app folders), and the app folders can

provide their own "New" entries, e.g. for clickers and

others. E.g. For "clickers" there is already on non-oo definition to

achieve similar things (which should be altered to the new method),

but on other places, there are some hard-coded definitions for root

folders, etc. The menubars of the learning-apps should be made this

way more consistent with the rest (e.g. using "New", supporting "table

of contents" for clipboard interactions, etc.)

namespace eval ::xowiki {

::xowiki::MenuBar instproc config=test-items {

{-bind_vars {}}

-current_page:required

-package_id:required

-folder_link:required

-return_url

} {

:config=default \

-bind_vars $bind_vars \

-current_page $current_page \

-package_id $package_id \

-folder_link $folder_link \

-return_url $return_url

return {

{clear_menu -menu New}

{entry -name New.Item.TextInteraction -form en:edit-interaction.wf -query p.item_type=Text}

{entry -name New.Item.ShortTextInteraction -form en:edit-interaction.wf -query p.item_type=ShortText}

{entry -name New.Item.SCInteraction -form en:edit-interaction.wf -query p.item_type=SC}

{entry -name New.Item.MCInteraction -form en:edit-interaction.wf -query p.item_type=MC}

{entry -name New.Item.ReorderInteraction -form en:edit-interaction.wf -query p.item_type=Reorder}

{entry -name New.Item.UploadInteraction -form en:edit-interaction.wf -query p.item_type=Upload}

{entry -name New.App.OnlineExam -form en:online-exam.wf}

{entry -name New.App.InclassQuiz -form en:inclass-quiz.wf}

{entry -name New.App.InclassExam -form en:inclass-exam.wf}

}

}

}

  1. … 16 more files in changeset.
handle cases, where autosave was rejected

  1. … 3 more files in changeset.
- textarea: added attribute "autosave"

- set autosave attributes in text_fields, when "multiple_lines" was specified.

- remove for the time being "hkey" from "non_cached_instance_var_patterns",

since this was recently fixed (TODO: check regression test and reactivate it later)

- new Externally callable method: autosave-attribute:

this is a simplified version of "save-attributes", but which does

NOT perform input validation, which might be a problem in case of partial input

- add "autosave-attribute" to all policies, where "save-attributes" was set

  1. … 6 more files in changeset.
file autosave-text.js was initially added on branch oacs-5-10.

Status is actually a number