apm-install-procs.tcl

  • last updated 8 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Fixed 2 bugs: with remote code repository

- fixed repository URL when trying to "install-from-repositry"

on a checkout from the HEAD channel. The code tried to fetch

from a channel "6-0", which does not exist.

- determine the exact repository tag for repository channels

  1. … 1 more file in changeset.
improved log messages

Finish array reform in this proc

Prefer unset to array unset when the whole array should be deleted

See https://wiki.tcl-lang.org/page/Dict+VS+Array+Speed

  1. … 3 more files in changeset.
Prefer unset to array unset when the whole array should be deleted, rework array idioms into dict idioms to avoid unsetting the array, where appropriate

See https://wiki.tcl-lang.org/page/Dict+VS+Array+Speed

  1. … 4 more files in changeset.
merge with missing files

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

  1. … 8099 more files in changeset.
do not complain about expected behavior

removed potentially misleading dot in dependency message

tdom: "dom parse -html" implies the "simple" parser

The flag "-simple" is not needed when parsing with the flag "-html". This meanse

that

dom parse -simple -html ...

is equivalent with

dom parse -html ...

  1. … 3 more files in changeset.
Always use "--" in "dom parse" when document is interpolated

This is a safety measure to make sure that the document parsed is

never confused with an option, when the document starts with a "-". In

the best case, the error message provided by "dom parse" might be

misleading. This might be a problem for user contributed documents

(passed as variables, or return values from functions).

The double dash is supported in tdom since version 0.9.0.

  1. … 18 more files in changeset.
improved logging output from install.xml files

document right changes on new installs for api-doc

Deactivate api-doc access for all registered users by default

Over many years, all "Registered Users" got per default access

to /api-doc. This is probably OK, when one assumes that the

registered users are developers. However, providing source code

access to all registered users can pose a security thread,

especially on large sites.

For new installs, api-doc is now just accessible for site-wide admins.

Providing more liberal rights for users can be achieved via

setting the permissions via the sitemap.

Prefer acs::try_cache where the cache existance cannot be taken for granted (e.g. at upgrade)

Relax tdom tolerance for non-standard markup

provide compatibility with tdom 0.9.3

Use "ns_baseunit", when available for size calculation of parititoned caches

Generalize ::acs::try_cache (such it can be use not only for "...cache eval..."

  1. … 3 more files in changeset.
reduce frequent small SQL queries and streamline code

  1. … 2 more files in changeset.
Make so that upon package deletion, also the leftover site nodes are deleted (if they do no have children nodes)

  1. … 1 more file in changeset.
Performance improvement: make "apm_version_names_compare" faster by a factor of ~100

The function "apm_version_names_compare" is called relatively often

and issues an SQL query. The function is stable (returns always the

same results for the same input) and called with only a few different

input values. By using acs::per_thread_cache the performance improves

from 265 microseconds to 2 microseconds; by using the per-tread cache

the operation scales better since it is fully lock-free (once cached).

Make a bunch of apm procs public, as they are used in 'acs-admin'.

Could be worth considering moving the ones used only in 'acs-admin' to that package, and making them private again, leaving public only those who may be useful to other packages/applications (i.e. CI/CD logic).

  1. … 4 more files in changeset.
mark private functions as private

  1. … 9 more files in changeset.
Make api public, complies with acs-api-browser.graph__bad_calls automated test

  1. … 3 more files in changeset.
make end of options explicit

  1. … 42 more files in changeset.
Prefer 'namespace which' over 'info commands', as it is faster (on local tests, around 2x) and returns a single value. Many thanks to Nathan Coulter.

  1. … 58 more files in changeset.
Skip upgrade attempts when the package is installed and disabled

Avoid skipping datamodel scripts during initial installation

ignore upgrade attempt for disabled package

introduced "ad_file" as a means to avoid unexpected tilde substitution in file names

  1. … 50 more files in changeset.