• last updated 4 hours ago
Constraints: committers
Constraints: files
Constraints: dates
Extend API to allow registration for URNs.

URNs provide an abstraction and a single place for e.g updating

references to external resources when switching between a CDN and a

local resource, or when a resource should be updated. Instead of

adding e.g. a CDN url via tempate::head::add_script, one can add an

URN and control its content from a single place.


template::register_urn \

-urn urn:ad:js:jquery \

-resource /resources/xowiki/jquery/jquery.min.js

- use ::richtext::ckeditor4::add_editor instead of own management

- make use of nsf variable resolver

- require actual version of richtext-ckeditor4

- bump version number to 5.10.0d5

    • -3
    • +3
- bump version number to 0.16

- extend add_editor with "-adapters" and "-order" to improve re-usability for other applications

- bump version number of ckeditor 4 to 4.8.0

Add missing "return filter_return" for UNAUTHORIZED requests (may thank to markus moser for noticing)

Provide developer with the option to declare compound resources (CSS

or JavaScript) to optimize performance or to provide customized

themes. New public function:

template::head::includes -container .. -parts ...

if an included resource is encountered during rendering of the page,

it is ignored. The compound resource management is aligned resource

flushing (when a compound resource is flushed, it stop shadowing

potentially other resources. An additional option could be to

add an "-parts" flag to add_link/add_script.

added simple regression test for basic functionality

*** empty log message ***

fix for bug #808: language list always sorted by english names

allow doc-strings starting with leading colons; fixes issue #3337

fix invalid meta-data and documentation strings

fix invalid meta-data

Fix invalid meta-data

Fix incorrect meta-data

make sure to log errors in the error.log

scalability improvement: keep result of lc_time_fmt_compile in (lock-free) per-thread cache rather than in the util_memoize cache

New functions for improved theming

template::head::flush_link -href ... -rel ...

template::head::flush_script -src

These functions are the inverse functions of template::head::add_link

and template::head::add_script. These functions are required in

situations where e.g. different subsites with different themes have

different requirements for a style file provide by some application


simplify initialization logic and issue login cookie only, when account_status is ok

fix passing of variables to error message

prefer dict over anonymous array

    • -6
    • +7
Removed duplicate registration of template tag "tabstrip"

remove quotes

Fix typo

fix behavior for Tcl 8.5:

it seems that the scripted "try" implementation in tcllib is not fully

compatible with the built-in version in Tcl 8.6; fall back in these

cases to the old implemenentation of the methods "contains"

whitespace changes: improve linebreaks

Part 3 of scalability improvement: provide lock-free implementation of

ad_page_contract_filter_rules. If nothing bad shows up, the

underlaying nsv-arrays can be removed completely.

If one looks at the top 10 nsv mutex locks of a rather busy site

(nsd running for 3 days), one can see the ad_page_contract_filters

and ad_page_contract_filter_rules belong to the most frequent

mutex locks, which can be avoided at completely. These two

arrays make up of nearly 40% of the top 10 nsv locks.

ad_page_contract_filters 38042679

api_proc_doc 37717019

ad_page_contract_filter_rules 26036060

::xotcl::THREAD 18628540


ds_properties 7855339

rp_extension_handlers 6837414

apm_subsite_packages_list 3524672

apm_reload_watch 3514474

apm_properties 3514472

Part 2 of scalability improvement: provide lock-free implementation of ad_page_contract_filters (*rules are still missing)

fix for backwards compatibility test for ns_reflow_text

fix documentation

Replace "wrap_string" by "ns_reflow_text", where the latter is a

builtin of newer versions of NaviServer. When "ns_reflow_text" is not

available, provide a scripted version for it.

wrap_string is marked as deprecated, since it has no proper prefix,

and is less powerful than ns_reflow_text

    • -1
    • +1
    • -1
    • +3
    • -158
    • +158
    • -95
    • +95
Improve scalability by reducing the number of locks on ad_page_contract_filters (this nsv receives the most locks on e.g. openacs.org)

Use acs_magic_object instead of acs_lookup_magic_object