antoniop in OpenACS

category_tree::get_categories reform:

always return all root categories of given tree. Keep sorting by localized name, but use the en_US translation as a default when desired one is missing. Improve documentation.

Fix dynamic-types package installation (many Thanks to Iuri Sanpaio) See #3381

Remove trailing "Class" keyword so classes are correctly displayed in the api-doc (See #3383)

ad_form reform:

- use actual flags instead of parsing arguments all the time

- retrieve proc flags from ad_proc definition (TODO: have some api for this?)

- follow the thread of peculiar ad_form logic to fix new csrf signing feature

- improve documentation using @param instead of manual formatting

- leave some note to travellers in the code

Reinstate reworked versions of some oracle database utilities left behind during solution of bug #3302

Rework is based on coding style observed in code provided by Brian Fenton, but could still not be tested. See

Fix typo (thanks to Thomas Renner)

Fix comment

Add flushing of user permissions as well when adding to a new group, extend comments

Cleanup not more relevant comments, remove idiom meant to work in the context of a db_with_handle we are not using anymore

Reuse already existing db_list_of_ns_sets inside db_foreach and db_list_of_lists, as it uses the most native return type: the ns_set

Operate on the original list to not incur in possible memory foortprint inflation via lrange

Exploit new -with_headers flag in db_list_of_lists to reimplement db_foreach in a way that only one db handle is used


- api is now transaction safe (with respect to database operations executed in the code block)

- nested db_foreach statements won't risk to occupy all available handles anymore

Possible drawbacks:

- query result needs to be completely stored inside a list before looping

- calling stack is now one level deeper...

This passes automated tests

Reduce code duplication

Introduce -with_headers flag in db_list_of_lists so names of returned column values can be returned as well as the first list in the result

Reduce code duplication (passes automated tests)

Remove unwanted change

Reflect changes in util__table_column_exists in tcl api and make xotcl-core dependant on latest acs-kernel

Drop function first, as name of parameters changed

Don't rely on the delete trigger being named consistently on different installations

Add again double quotes in the add constraint as well

Add double quotes in case constraints were defined using e.g. $ in the old days

Use generic acs_object__delete, so also eventual relations are deleted

    • -0
    • +17
    • -0
    • +17
Actually delete from the acs_object, or it will stay around

Streamline faq entry deletion exploiting newly defined on delete cascade

Streamline faq deletion exploiting newly defined on delete cascade

    • -10
    • +1
Put on delete cascade defined in previous upgrades in creation sql as well

Faq vs Search trigger reform: turns out after delete trigger on faq_q_and_as is quite pointless and makes it more complicated for faq package instances to properly uninstantiated. More details in the comments.

Introduce ON DELETE CASCADE on faq main datamodel tables, so generic acs_object db api can be used to e.g. delete a faq (fixes downstream errors when deleting FAQ package)

Make xowf tests flexible in case a locale different than en_US is in use

Tolerate usages of get_members_not_cached in "frontend code" around by making new member_state parameter optional and therefore not breaking previous contract