• last updated 8 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
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

package.

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
    /openacs-4/packages/xowiki/tcl/xowiki-procs.tcl
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

OACS_FULLQUERIES 17771146

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
    /openacs-4/packages/faq/tcl/q-and-a-procs.tcl
    • -1
    • +3
    /openacs-4/packages/webmail/webmail.info
    • -158
    • +158
    /openacs-4/packages/webmail/www/message.adp
    • -95
    • +95
    /openacs-4/packages/webmail/www/preferences.adp
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

reduce stress on util_memoize cache by using per-thread cache for magic objects

reduce stress on util_memoize_cache by using per-thread cache for acs::version number

Add files missed by last commit

    • -0
    • +11
    /openacs-4/packages/acs-admin/www/auth/login-attempts.adp
    • -0
    • +67
    /openacs-4/packages/acs-admin/www/auth/login-attempts.tcl
- Add new feature to prevent/slowdown brute force attacks on login by counting the number of

failed consecutive login attempts based on ip-address and subsite.

- Add new package dependency: package "acs-admin" now requires "acs-authentication"

Reduce stress on util_memoize_cache by removing the - by far - most often reused

item in the cache (apm_package_installed_p_not_cached ref-timezones). Instead,

we fall back to the (per-thread) caching of apm_package_id_from_key.