• last updated 19 hours ago
Constraints: committers
Constraints: files
Constraints: dates
XOTcl 2.0 improvements

- reduce usage of "instvar"

- make use of variable resolver instead

  1. … 8 more files in changeset.
merged changes from the oacs-5-9 branch and resolved conflicts

  1. … 7834 more files in changeset.
- Default menu entries: distinguish between "startpage"

(menu.Package.Startpage) and "table of contents" (menu.Package.Toc)

  1. … 2 more files in changeset.
- Use message keys "xowiki.menu-*" uniformly

Order tree by label

Put missing -base argument (many thanks to Markus Moser)

- add option "-path_encode" to methods "pretty_link" and "folder_path"

to allow to control, wether the result should be encoded or not

(default true)

- simplify logic around path encoding by using parameter -query of pretty_link

- Bump version number of xowiki and xowf to 5.9.1b4

  1. … 10 more files in changeset.
Avoid other double encoding when export_vars is applied on xowiki pretty_links

  1. … 6 more files in changeset.
Fix spelling errors

  1. … 24 more files in changeset.
Allow to specify values different to "." and ".." in parent argument

Change default for PreferredCSSToolkit from "yui" to "bootstrap" and for PreferredRichtextEditor from "xinha" to "ckeditor4"

  1. … 6 more files in changeset.
- use confirm handler instead of "onclick=..." in all packages in oacs-5-9

  1. … 15 more files in changeset.
remove javascript urls and onclick handlers from xowiki menubar (yui and bootstrap)

- add nonce attribute to javascript created via tdom

- add HTML IDs to menu items

- add ability to add listener (list with 2 elements: type (such as

"click") and script (body of a function to be executed).

  1. … 3 more files in changeset.
- add csrf protection (bulk-delete, save operations in FormPages)

- add input checking for optional query-parameter "master"

- bump version number to 5.9.1d8

  1. … 5 more files in changeset.
- made dropzone a first-class member of the menubar. Now the dropzone

can be configured like all other menubar entries per-folder via

extra_menu_entries (form field in the folder form) or parameter

ExtraMenuEntries (see example below)

- made dropzone configurable (xowiki-uploader-procs.tcl)

One can now specify per dropzone the actions to be performed

with the uploaded content (sample uploaders are provided

with ::xowiki::UploadFile (produces ::xowiki::File entries) or

::xowiki::UploadPhotoForm (produces FormPages for photo.form).

This can serves as a boilerplate for other drop operations

like creating workflow instances or forums postings via drag&drop.

- added mode-handler (xowiki-mode-procs.tcl): The mode handlers

provide easy handling for querying and switching per-session modes

(like eg admin-mode, developer-mode, student-mode, ...). Depending

on the mode different ui options might be offered. Sample with

::xowiki::mode::admin provided, which is per default on, when the

user has admin rights in the current package.

- added modebutton as first-class member of the menubar.

This is currently only supported by the bootstrap renderer,

which displays this as a ios like slider button in the menubar

(see config example below)

- example extra_menu entries:

{clear_menu -menu New}

{entry -name New.Page -label #xowiki.new# -form en:page.form}

{entry -name New.File -label File -object_type ::xowiki::File}

{dropzone -name DropZone -label DropZone -uploader File}

{modebutton -name Admin -label admin -button admin}

  1. … 7 more files in changeset.
- added support for HTML5 attribute "multiple" to form-field "file"

(requires updated naviserver for handling multiple files via [ns_getform])

- added dropzone to xowiki menubar

(easy means for uploading one or many files to the current folder)

  1. … 7 more files in changeset.
- added render-bulkactions method to bootstrap table renderer

- added bulk-delete action to child-resources (instead of the useless "select" action)

- add bulk-delete to the externally callable methods

  1. … 4 more files in changeset.
- use perviously computed link

- backport from oacs-5-9

- return full set of attributes for recursive folder query (at least title is needed in the folder-tree)

- return full set of attributes for recursive folder query (at least title is needed in the folder-tree)

- improve validity and security of generated HTML

  1. … 12 more files in changeset.
- keep link-source for folder-tree to allow for opening the link-source and not the link-target branch

  1. … 1 more file in changeset.
- reduce verbosity

- use grounded recurisve query instead of *children view

- use grounded recurisve query instead of *children view

Merging back to HEAD all changes that happened in branch oacs-5-8 between tags: vg-merge-oacs-5-8-from-20141027 and vg-merge-oacs-5-8-from-20150427

  1. … 520 more files in changeset.
- disambiguate package_id

- bumped version to 0.161

- substantially improved scalability when acessing xowiki form pages

based on attributes specified in revision tables.

- much faster version of folders.folder_query (mostly relevant, when having

hundreds/thousands of folders) and FormPage.get_form_entries

- transferred hstore support from xowf to xowiki (e.g. utilities in


- FormPage.hstore_attributes: added configurable support for

specifying, what attributes of instance-attributes should

be used in hstore.

- change virus scanning from "clamscan" to "clamdscan"

(use daemon-based version for improved performance

when uploading files)

# - xowiki_form_instance_item_index:


# A materialized table of xowiki formpage instances, containing

# just the item information, but combined with other attributes

# frequently used for indexing (like page_id, paren_id, ... hkey).


# Rationale: The quality of indices on cr_revisions tend to

# decrease when there are many revisions stored in the database,

# since the number of duplicates increases due to non-live

# revisions. This table can be used for indexing just the live

# revision on the item level.


# select count(*) from xowiki_form_instance_item_index

# where package_id = 18255683

# and page_template = 20260757

# and publish_status='ready';



# Define helper views in connection with the form_instance_item_index:


# - xowiki_form_instance_item_view:


# A view similar to xowiki_form_pagei, but containing already

# often extra-joined attributes like parent_id, object_type,

# publish_status, etc.. This view returns

# only the values of the live revisions, and uses

# "form_instance_item_index" for quick lookup.


# select * from xowiki_form_instance_item_view

# where package_id = 18255683

# and page_template = 20260757

# and publish_status='ready';



# - xowiki_form_instance_children:


# Return the root_item_id and all attributes of the

# form_instance_item_index of all child items under the tree based

# on parent_ids. Use a query like the following to count the

# children of an item having a certain page_template (e.g.

# find all the folders/links/... having the the specified item as

# parent).


# select count(*) from xowiki_form_instance_children

# where root_item_id = 18255779

# and page_template = 20260757

# and publish_status='ready';


# - xowiki_form_instance_attributes


# Return for a given item_id the full set of attributes like the

# one returned from xowiki_form_instance_item_view. The idea is to

# make it convenient to obtain from a query all attributes

# necessary for creating instances. The same view can be used to

# complete either values from the xowiki_form_instance_item_index


# select * from xowiki_form_instance_item_index xi

# left join xowiki_form_instance_attributes xa on xi.item_id = xa.item_id;


# or from xowiki_form_instance_children


# select * from xowiki_form_instance_children ch

# left join xowiki_form_instance_attributes xa on ch.item_id = xa.item_id;

  1. … 5 more files in changeset.
- xo::pg_version: provide simple support for distinction of versions in pg

- use recursive query for child-items in folder-tree in pg9

- add experimental package parameter "MenuBarSymLinks" in xowiki parameters to ease testing

  1. … 3 more files in changeset.