• last updated 7 hours ago
Constraints: committers
Constraints: files
Constraints: dates
address issue #3456

fix typos

fix for issue #3455

add explicit cast to all max_n_rels with value null to increase readability and to ease function disambiguation

    • -11
    • +11
  1. … 4 more files in changeset.
Add missing var

Add include contract

Whitespace cleanup

Remove irrelevant comment

Port of downstream customization: don't lose the return URL when one tries to join a community before login

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. … 56 more files in changeset.
remove calls to deprecated proc acs_lookup_magic_object (use acs_magic_object instead)

  1. … 2 more files in changeset.
prefer db_0or1row for exists-queries

improve message wording for message key

    • -1
    • +1
Add page contract

    • -5
    • +5
don't rely on uppercase header field names

  1. … 10 more files in changeset.
switch to simple new group::update call with dict as argument

This change fixes as well a bug in install::xml::action::set-join-policy

since group::get returns a member "text" which is not accepted by


  1. … 3 more files in changeset.
support passing a dict as argument to "group::update" (not only array)

prefer db_0or1row +"where exists" over db_string + "select case"

  1. … 3 more files in changeset.
Improve sql portability

    • -12
    • +15
  1. … 1 more file in changeset.
Replace limit with a portable idiom

Make apm callbacks private and move them together with the others

When a new group is created, flush all the group::get_id caches with the same name so that the new group has a chance to be retrieved

Note that it is wrong to assume a group_name will be unique, although this is normally not far from the truth in our everyday practice

Cover more group api

this also exposes a potential problem with group::get_id when a group is created, deleted, and then a new one is created with the same name (e.g. executing the test multiple times). As the memoize cache is not maintained, the returned group_id will be incorrect.

Increase proc coverage

Fix typo

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. … 8 more files in changeset.
New test checking that no leftover groups localizations are still there on the system

Cleanup test message key

Test covering the automagical localization of group pretty names

fix for issue #3445

a broken query (without a table alias) was

in the .xql file, where the correct query was

in the source (where it was ignored). This

can be quite confusing. It is probably

a good idea to improve code locality

and use .xql just in cases, where the

query is NOT included in the source.

I took the opportunity to fix more such cases

in this file.

Many thanks to Tony Kirkham for the bug report.

CVS: ----------------------------------------------------------------------