• last updated 19 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
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.
- added support for personal notifications (as used by inclass exam):

The notification system has the following features:

. lecturer can send individual messages to participants of an ongoing exam

. message is sent by clicking on a participants name in the participant list

. student can receive one or many notification messages

. notification messages have to be confirmed, otherwise they are displayed always

. non-confirmed notification messages are sticky, i.e. the are displayed also

when a user changes to some other question.

. three different urgency levels for messages

. built around an includelet

- bumped version number to 5.10.0d59

  1. … 2 more files in changeset.
improve spelling

  1. … 19 more files in changeset.
whitespce changes

added time_span form field (based on HTML5)

bumped version to 5.10.0d57

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

  1. … 2 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.
deal with overagressive downstream styles

  1. … 1 more file in changeset.
Update italian localization

  1. … 1 more file in changeset.
Update es_ES message keys

  1. … 1 more file in changeset.
add file upload to short_field type

  1. … 2 more files in changeset.
form-fields:

- new helper API call: "dict_to_fc" to convert from a dict to a form constraint spec.

- extended formfield answer and word statistics

- ckeditor4: add dimensions (width and height) when available to the configuration

- prefer variables over method calls

- added answer hints (one word, multiple words, ...) to text_fields widget

- form_page: maintain list of references such that the referenced page

knows if and from where it is referenced

  1. … 2 more files in changeset.
exptend message catalog

Update es_ES localization

Update italian localization

add message keys for "answers" and "words"

fix plural form of Schlogwort

- Address issue #3374: improve "make_link", when a page is

passed in as an object, and NO "link" is provided.

Previously, the current url was used as a base_link, now "pretty_link"

of the object is used. This is particularly necessary, when folders

are used.

NOTICE: this is a potential incompatibility (found however no case in xowiki/xowf)

where the old behavior was expected.

- the argument "method" is now optional (useful, when no method should be invoked)

- improved documentation

- updates of message keys

  1. … 3 more files in changeset.
added error message for new validator

  1. … 1 more file in changeset.
provide new form-field "correct_when" for conveniant user interaction

the form-field type is currently just a text field with a tailored

help text, but can be extended in the future via pull-downs etc.

  1. … 2 more files in changeset.
Localize "Delete selected" tooltip, update german and italian translations

  1. … 2 more files in changeset.
Cleanup trailing whitespace

new feature: add one-button copy action to folder listings

  1. … 3 more files in changeset.
improve wording for clipboard entries in menubar pulldown

Export message key from the UI to normalize sorting, format and quoting and avoid diffs when creating new keys from UI

  1. … 2 more files in changeset.
Update translations

  1. … 2 more files in changeset.
Improve m=revisions: Don't loose templating, but treat revsions like a page

Add "View" to default menu of "This Page" (when e.g. viewing revisions,

this allows to switch back to the view of the current version)

Bump version number to 5.10.0d19.

  1. … 2 more files in changeset.
Update italian localization and fix keys

add message key

merged changes from the oacs-5-9 branch and resolved conflicts

  1. … 7831 more files in changeset.