• last updated 14 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Introduce a thorough test of the lc_time_tz_convert api checking:

- dates in the distant past

- dates in the distant future

- daylight saving for different times of the year across the two timezones

- historical circumstances (e.g. Pre-timezones US)

- Invalid input

The test shows that the current api does not behave consistently in certain circumstances:

- the same time_value is sometimes returned with invalid input

- the empty string is sometimes returned with valid input

- for dates where the ref-timezones package does not provide information, no result is returned

    • -0
    • +118
    ./test/acs-lang-localization-procs.tcl
improve spelling

    • -1
    • +1
    ./test/acs-lang-localization-procs.tcl
  1. … 8 more files in changeset.
break overlong lines

produce error message in the error log, if the parameter value_array_list is not well formed

Document public api

Document public api

  1. … 1 more file in changeset.
Small improvements:

- use "string is space" instead of trimming the string and checking if empty, at least 2x faster on development, wherever we don't need the trimmed value

- modernize leftover foreach trick with lassign

  1. … 6 more files in changeset.
Deprecate template::util::is_true, implemented as a simple string command oneliner since 2015 and inline occurrences

  1. … 32 more files in changeset.
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.
Return 0 when looking up the existance of a message key in an unsupported locale instead of failing, test the behavior

    • -0
    • +56
    ./test/acs-lang-localization-procs.tcl
Improve test precision: take into account packages defined as <install... in the info file, as e.g. dotlrn does

Fallback here as well to en_US when no supported locale is found

info files do not contain message keys

use cookie namespace also for stored locales

  1. … 1 more file in changeset.
Constrain the language we return for the connection to the ones we support: could happen on system that have supposted a language in the past and still have users set it as their preferred language

Fixes for Oracle 19c: (temporary?) fix for message catalogs

This change fixes the problem that after a fresh installation, all (!)

messages keys are empty. I am not sure what the source of the problem

is, why this has supposedly worked some years before, and whether

there are undesired side-effects of this change. Without this change,

the openacs installation leads to fully broken state.

improved error message

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 need for xql

Cleanup hacks addressing #2011927 bug in Oracle: this has been supposedly addressed in version 9i, already EOL

See http://oracle-docs.dartmouth.edu/dba-docs/patchset_9.2.0.4.htm

Fix acs-lang.test_message_register automated test:

when checking if a message should be created or updated, do not trust the nsv, which won't be there for messages that have been soft-deleted and go to the db instead. When a message is soft deleted, cleanup the nsv cache.

Expose a bug in the message key registration:

when a message key is soft-deleted and the server is restarted, upon re-registration the nsv that signals its presence won't be found and an insertion will be attempted. However, as the db entry is there, a primary key constraint will be triggered.

Stick to packages that are enabled

  1. … 1 more file in changeset.
Use the intended table to get packages that are known to the system

  1. … 1 more file in changeset.
Add comment

Make api to retrieve the dependencies of a package public, as we use it in a test in another package, swith to the api that will retrieve the cached value instead of re-computing the result

  1. … 1 more file in changeset.
New test to check that message keys are used consistently with package dependencies

this can only be enforced as a warning because it is possible to have constructs such as "if installed, then use message key" that would be tricky to detect

Reuse computation of lang::conn::locale when invoked again in the same request

This reduces stress on the util_memoize cache for those installation that invoke this api often.

Reduce divergency between oracle and postgres codebase

  1. … 6 more files in changeset.
list called api procs