• last updated 5 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Deprecate Oracle-specific collation api

Although it could be interesting to have OpenACS cross-db support for collation, it is unclear if just using different idioms in xql files would not achieve the same.

Update thead variable them setting the translator mode

improve spelling

  1. … 9 more files in changeset.
Document public api

Properly escape "<" and ">" in api-doc documentation.

Since all documentation is rendered via HTML, the characters

"<" and ">" have to be HTML-quoted, otherwise strange things

(omission, unintended renderings) might occur.

E.g. the sentence

Define an interface between a page and an

ADP <include> similar to the page_contract.

was rendered as

Define an interface between a page and an

ADP similar to the page_contract.

which is incorrect.

  1. … 13 more files in changeset.
Fixes for Oracle 19c boolean types in query

This fixes the following bug for Oracle:

: SQL:

: select locale

: from ad_locales l

: where language = :language

: and enabled_p

: !>>>!and (default_p or not exists (select 1 from ad_locales

: where language = :language

: and locale <> l.locale))

:

Reduce divergency between oracle and postgres codebase

  1. … 8 more files in changeset.
Mark 'lang::util::get_hash_indices' as public, as it is used in 'acs-admin'

Pass missing object_id flag

acs-lang reform:

when calling lang::util::convert_to_i18n, do not always register a en_US translation, which will be otherwise always overridden. Instead, let lang::message::register make sure that a en_US message exists and create it only when needed as a fallback. Before, lang::message::register would return an error when e.g. a new message keys was registered for de_DE and no en_US was there. Now the en_US will be just created on the fly.

This does not break current automated tests

  1. … 1 more file in changeset.
acs-lang reform

Provide an optional object_id which can be used to register message keys that will be bound to the lifecycle of an acs-object. When the object is deleted, so will the message key.

This is useful for groups that automatically define a message key for their pretty name. Tcl api was already aware of this and would cleanup such message keys, but other idioms e.g. stored procedures used to delete groups would leave leftovers behind. These can become relatively numerous on group-intensive systems such as LEARN.

Other future usages for this new feature might be the automatic localization of xowiki FormPage properties.

  1. … 9 more files in changeset.
prefer "ns_conn isconnected" over "ad_conn isconnected", since the latter might not notice changes in the connect state

  1. … 18 more files in changeset.
improve error message

provide a more friendly error message for broken configurations

use dot instead of colon as separator between package name and cache key to ease readability

  1. … 10 more files in changeset.
acs::per_thread_cache: standardize per-thread caching

- added per-thread cache based on namespaced Tcl variables.

- use per-thread-cache on several occasions

- bump version number of acs-tcl to 5.10.0d34

  1. … 14 more files in changeset.
Prefer '==' over 'eq' on numeric comparison

  1. … 3 more files in changeset.
Redefine ad_locales.language table column as varchar to avoid Oracle idiosyncrasies when comparing a char(n) with other string datatypes when using bind variables (following insightful LARS's remark)

char(n) in Oracle are automatically padded to be n characters long. Apparently, comparing char(n) -> char(n) is "blanks insensitive", while comparing char(n) -> varchar2(n) will account for such automatically inserted blanks. When using bind variables, one should carefully specify the type to use to avoid surprises with char(n) (for this we should touch the oracle driver), normalize the value via trim/pad all the time or replace every char(n) datatype with varchar2. ...are there other places where this is happening?

  1. … 5 more files in changeset.
Rewrite the query to leverage transparent variable quoting, replace count with quicker existance check, bring sql inline

  1. … 1 more file in changeset.
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. … 475 more files in changeset.
Rework variable assigning loops (set -> lassign) + Whitespace changes

  1. … 13 more files in changeset.
Prefer '{}' to '[list]' when creating empty lists

  1. … 71 more files in changeset.
Fix typos

  1. … 31 more files in changeset.
simplify code and make it more consistent

  1. … 5 more files in changeset.
merged changes from the oacs-5-9 branch and resolved conflicts

  1. … 7834 more files in changeset.
make sure, the message key in the comment is shown correctly in API browser

- fixing regexp for message key in group::new

- Introducing lang::util::message_key_regexp to avoid similar confusions in the future

- bump verison number of acs-lang to 5.9.1b4

- bump version number of acs-subsite to 5.9.1b5

  1. … 3 more files in changeset.
Fix spelling errors

  1. … 8 more files in changeset.
Get rid of strange construct: [lindex [array get $array $name] 1]

  1. … 5 more files in changeset.
- add nonces to script tags

- add body handlers

  1. … 7 more files in changeset.