• last updated 23 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Remove unused query mentioning a table not part of the datamodel anymore. Remove inline sql in the tcl file as xql version is available

make spelling of names more consistent

site-nodes cache reform: use ns_urlsspace instead of brute-force caching.

For OpenACS site with recent versions of NaviServer and XOTcl2,

cache sitenode information much more efficiently by the built-in

URL trie, which supports tree match operations, for

tree information. This means that for example for .vuh

handlers it is not necessary to cache the full url for

obtaining the site-node, like it was until now:

3839 id-/storage/view/installers/windows-installer/installer.htm

3839 id-/storage/view/aolserver/install.tgz

3839 id-/storage/view/tutorial/OpenACS_Tutorial.htm

3839 id-/storage/view/openacs-dotlrn-conference-2007-spring/Methodology_ALPE.pdf

3839 id-/storage/view/xowiki-resources/Assessment.jpg

3839 id-/storage/view/tutorial-page-map.png

...

Providing a single entry like

ns_urlspace set -key sitenode /storage/* 3839

is sufficient.

Why is this needed: current cache sizes of larger sites show 330K

(site A) and 390K (site B) cache entries. Matchbase flushes have to

gor thhrough all these entries, causing long lock times. Running

thhis code at OpenACS.org shows an improvement by a factor of more

than 200x.

    • -252
    • +343
    /openacs-4/packages/acs-tcl/tcl/site-nodes-procs.tcl
Use proper thread cached variables instead of legacy proc

Deprecate proc 'apm_db_type_keys' as the info it provides is already in 'ad_known_database_types' without need for queries

TODO: find out if we really need a table of database types

Improve indentation, use non indentation-breaking idioms to create report string

TODO: refactor this bug-tracker dependency outside the core, e.g. using a callback

    • -112
    • +113
    /openacs-4/packages/acs-tcl/lib/page-error.tcl
Revert massive replacement of empty list creation sentences. The use of '[list]' instead of '{}' adds semantics that could be used for performance improvements in the future, such as using a different internal representation. There is already work in this direction, avoiding the generation of the string representation during comparison of empty strings (huge thanks to Stefan Sobernig for the pointer: https://core.tcl.tk/tcl/info/44527c632ed609c2).

  1. … 461 more files in changeset.
Reduce query duplication

Prefer indivudual 'set' operations over 'lassign' in this case.

Rework variable assigning loops (set -> lassign)

Rework variable assigning loops (set -> lassign) + Whitespace changes

    • -36
    • +35
    /openacs-4/packages/acs-tcl/tcl/pools-init.tcl
Prefer 'lset' to 'lreplace'.

Prefer string operators to 'string equal'.

Rework string comparison expression

Rework list operations

Add 'aggregation_format' option to list template (many thanks to Felix Moedritscher)

put the correct function into upgrade script

Replace 'linsert' with 'lappend'

Fix linsert command argument expansion + Whitespace

Replace 'exists_and_not_null'

Replace deprecated proc 'ad_parameter' with 'parameter::get'

Replace deprecated proc 'empty_string_p'

image width information in table images seems flaky. since portrait-bits provides efficient

scaling, why not use it?

increase number of accepted sizes

improve CSP in accordance with Google's csp-evaluator.withgoogle.com

imporve spelling

fix typo

Replace obsolete function bitfromint4() by cast

make spelling more uniform

reduce verbosity