• last updated 7 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
- Fix for Tcl 8.5: OpenACS did overwrite the Tcl built-in command

"::apply" and broke therefore all scripts/libraries using it.

Changed the name of the OpenACS function to "ad_apply" and altered

the few occurances. The fix works as well with Tcl 8.4. The proper

fix for 8.5 would be to use instead of the function the expand

operator {*}

  1. … 3 more files in changeset.
- fix for Tcl 8.5: OpenACS did overwrite the Tcl built-in command "::apply" and broke therefore all scripts/libraries using it.

Changed the name of the OpenACS function to "ad_apply" and altered the few occurances.

The fix works as well with Tcl 8.4. The proper fix for 8.5 would be to use instead of the function the expand operator {*}

  1. … 3 more files in changeset.
Merged oacs-5-6 to HEAD. HEAD now installs and passes all core tests. There

may still be some lingering problems due to my screwing up the oacs-5-6

branch earlier, I'll be looking into this later.

  1. … 204 more files in changeset.
In NaviServer usage of ns_startcontent is deprecated instead we use ns_headers to specify the content-type which is added to the connection outputheaders ( which are sent to the client when the first ns_write is called, so no need to use ns_write to write headers to the client before serving the content)

SuppressHttpPort parameter is located in acs-tcl and not acs-kernel. This was the reason of misbehavior when service is running behind a proxy.

Enhanced the documentation of [set_encoding]

First step in turning ad_http* and util_http* charset- and encoding aware. I added a new helper proc [set_encoding] which handles charset resolution and mapping between IANA/MIME charset names and Tcl encoding names. Currently, this works for the reply-side in GET and POST requests.

- fix test files__tcl_file_common_errors

- report errors as such in aa-test (wrote warnings into error log, this was ignored since ages)

- fixed naming in acs-tcl, acs-mail-lite and acs-subsite

  1. … 4 more files in changeset.
Force references to an embedded package's admin or sitewide-admin pages to

be referenced (relative to the embedding package's mount point) as

admin/package-key or sitewide-admin/package-key. This nicely arranges

all admin URLs in a composite package under ${mount-point}/admin, which

among other things will cause the request processor to do the expected

permission check. Backdoor access to the admin pages via URLs like

${mount-point}/package-key/admin or ${mount-point}/package-key/sitewide-admin

is blocked, as the request processor won't do the expected permissions check

for URLs of that form.,

When using AOLserver 4.5 with a config file not containing values for maxthreads,

etc, the pools init code would choose default values that are illegal, causing

an error to show up in one's log file. I've set the default values to those

found in our /etc/config.tcl file.

Added my JSON utilities package. Included are procs to parse a JSON string

into a canonical Tcl list representation, to generate a JSON string from

such a representation (round-tripping works, i.e. JSON -> Tcl -> JSON),

pretty-print JSON strings, set/get attributes, create objects and arrays,

etc.

file json-procs.tcl was initially added on branch oacs-5-6.

Removing duplicated -private switch.

Cleaned up APM handling of inherited parameters so that deletion of

a dependency works well now, the parameters page with the APM only shows

parameters specified in the package (rather than include inherited ones),

and the XML file is correclty written.

  1. … 6 more files in changeset.
1. nsv for package inheritance etc wasn't being set up when an admin

interactively created a new package using the APM UI. Changes for

5.6 for parameter inheritance caused that nsv to be referenced in this

case, while it wasn't for 5.5. This caused an error message in a couple

of instances.

2. Modified the package xml generator to only output parameters defined

for the package itself (rather than all, including inherited ones).

  1. … 1 more file in changeset.
Ugh ... finally got inherited parameters right.

  1. … 1 more file in changeset.
Needed to build the subsites package keys cache ...

Added a new "rename-instance" node, useful in particular for renaming

"Main Site" to something more useful.

Allow for the specification of "scope" when registering a parameter from

an install xml file.

Finished up PG semantics for global/instance parameters on package upgrade.

The Tcl API stuff to do this should technically be moved down into the

oracle/PG API but 1) it's a fair amount of db-specific work and 2) people

should be using the high level constructs in the first place (and why do

people explicitly register new parameters when they're registered from the

package info file on upgrade in the first place?)

Making global/instance changes work with Oracle

  1. … 2 more files in changeset.
More code dealing with instance and global parameter semantics. I finally

have a reasonable model of inheritance and semantics implemented, not

perfect from a language-theoretic point of view, but works well without

having to rewrite every bit of parameter-handling code in acs-core.

  1. … 5 more files in changeset.
More global parameters stuff: XML file parsing and package installation

Added a test for global parameter set/get value.

Fixed up the apm parameter stuff to the point where I can at least

register and unregister, and cache values of, global parameters. There's

some really funky code here, I also took the time to have the unregister

code use the unregister API in PL/[pg]SQL rather than roll its own.

    • -17
    • +11
    ./test/apm-parameter-test-procs.tcl
Use the same pattern for flushing person::name that has been used to cache it (sigh)

Added "-scope" parameter to apm_register_param

Releasing the handler even if evaluation of code on the proxy throws an error.

In case deleting the package instance throws an error we need to restore the site_nodes cache for the given node_id.

Avoiding the usage of tcl arrays for the partial manipulation of the site_node's cache. Instead we manipulate the cache directly with the nsv_* api. This speeds up updating the cache considerably ( except the case of updating the cache usign the node_id of the main subsite ).