• last updated 12 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
ad_return_url: provide a positive list and a negative list for selecting included query variables

The new parameters follow the terminology of the "export_vars" command.

ad_return_url: new parameter "-exclude"

This change allows to exclude certain variables (which are e.g. considered as

confidential) from the form, which computes the return_url.

The change is based on a feature request in the OpenACS forums by Josue Cardona.

Ported essential post-release fixes from oacs-5-10 branch

  1. … 3 more files in changeset.
fixed overquoting in "ad_progress_base_end"

merge with missing files

  1. … 1464 more files in changeset.
merge from oacs-5-10

  1. … 8099 more files in changeset.
fix typo

Fixed issue in cluster mode, denoted by Khy H in the OpenACS forum

A new command "ad_parameter_cache_flush_dict" was introduced to handle

the case, where a cluster node modifies a parameter value without

having it read before. This case could lead to a coherency problem for

parameter values.

Background:

This proc is necessary in cases, where a node writes a new

parameter value before it has read the old one.

Since a plain "nsv_dict unset ad_param $key $parameter_name"

raises an exception, when the pair does not exist, and we do

not want to allow in cluster requests arbitrary "catch"

commands, we allow "ad_parameter_cache_flush_dict" instead.

Probably, the best solution is to add support for

nsv_dict unset -nocomplain -- ad_param $key $parameter_nam

The existing nsv_dict was built after Tcl's "dict unset",

which does not have the "-nocomplain" option either. However,

an atomic operation would certainly be preferable over an exists/unset

pair, which is no acceptable solution.

For details, see https://openacs.org/forums/message-view?message_id=5822470

  1. … 1 more file in changeset.
fix over-eager renaming

spell "site-wide" consistently with a dash

  1. … 34 more files in changeset.
renamed misnomer "ad_parameter_from_file"

- removed hints on "*.ini" files

- provided a name that points to the configuration file ("ad_parameter_from_configuration_file")

- deprecated old name

- updated documentation with examples

  1. … 3 more files in changeset.
skip "-url" in "export_vars -url" since it is the default

  1. … 11 more files in changeset.
Move remark about old AOLServer issues out of the public doc

Deprecate ad_decorate_top, superseded by modern templating features

Deprecate ad_package_admin_home, limited, inaccurate and superseded by site node api

fixed typo (many thanks to Franz Penz for spotting this)

make behavior more robust when (erronously) called without a connection

without handling no-connection, the error message is swallowed

Deprecate export_entire_form_as_url_vars and replace occurrences, add a new -formvars flag to export vars to implement the behavior of the proc, that is, export a subset of the variables coming from the current request

  1. … 5 more files in changeset.
Give people the chance to use OpenACS with WithDeprecatedCode set to 0

When OpenACS is configured with loading of deprecated procs

deactivated, files like deprecated-procs.tcl are not

loaded. Therefore, these files should only contain code, which was

deprecated at LEAST ONE RELEASE EARLIER, such that site admins have one

release time to fix calls to deprecated code.

This change reverts in part Antonio's commit from 26 Aug 2022 which

causes errors like the following on openacs.org:

Error in include template "/var/www/openacs.org/packages/news/lib/news":

invalid command name "ad_parameter_all_values_as_list"

  1. … 1 more file in changeset.
Deprecate ad_parameter_all_values_as_list: it does not provide much value and was also often use improperly

  1. … 4 more files in changeset.
improved comments

Quote URL in the redirect

Extended LockfreeCache:

- Feneralized flag "-no_empty" of "LockfreeCache eval" to "-no_cache LIST"

The provided list can contain multiple values that should not be cached.

- The new parameter "-from_cache_indicator" can be used to return information

whether the returned value was returned from the cache or not.

  1. … 2 more files in changeset.
move broken procs based on undefined function to decprecated procs and comment it out

  1. … 2 more files in changeset.
modernize code

Added per-request-cache for parameter::get similar to parameter handling in xotcl-core

This change improves scalability especially on sites with high numbers

of concurrent requests by reducing the number of required locks in

general. This change keeps the parameter dict in a per-request cache

to reduce potentially high number of nsv locks, when parameters of a

package are queried a often per request. Without this change we see on

some sites > 100 locks on the ad_param-nsv per request. Alone the

request-procesor queries a larger set of parameters from the acs-core

package, which requires now a single lock operation.

Using the per-request cache has the advantave of avoiding locks and

keeping the internal representations of tcl-objs (whereas ns_cache or

nsvs use plain strings).

Improving ad_parameter_cache:

- added handling of cachingmode "none"

- added implementation via "nsv_dict" (cluster aware)

- execute parameter callbacks cluster-wide

- version number bumped to 5.10.1d4

  1. … 3 more files in changeset.
ad_return_url: experimental change to produce per default a proper encoded result

Background: before this change, ad_return_url encoded always the query

variables but not the URL path. This mixed result is complex to handle

to achieve ex-post a proper encoding. The function has a flag

"-urlencode", which is nowhere used in OpenACS. Other functions like

e.g. export_vars, or pretty_link return per default as well the

encoded URL. "ad_return_url" has a new flag "-path_encode=false" to

obtain the previous behavior (similar to the other mentioned

functions).

remove protection "private", since function has to be called from other packages

  1. … 6 more files in changeset.
acs::per_request_cache: standardize per-request caching

- added per-request cache verfsy similar to acs::per_thread_cache

- use per-request-cache on several occasions

- bump version number of acs-tcl to 5.10.0d35

  1. … 9 more files in changeset.