community-core-procs.tcl

  • last updated 15 mins ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Fix typo

Whitespace cleanup

Employ new user cache also for portrait information

Don't cache invalid user ids, as they might become valid shortly after (e.g. during registration)

Remove unneded dict creation

  1. … 1 more file in changeset.
Modernize idiom

Restore previous behavior: when a person is not found by email, just return empty string instead of an error

Reduce code duplication when retrieving person info

TODO centralize caching

  1. … 1 more file in changeset.
provide compatibility with AOLserver

make timeout cnd cache size configurable

follow usual naming conventions

  1. … 1 more file in changeset.
Pass to a ns_cache implementation to avoid race conditions

Implement acs_user:: cache through nsv, instead of the util_memoize cache. Note that now this information won't expire anymore unless explicitly flushed.

Remove unnecessary backslashes, remove leftover usages of get_from_username_not_cached cache, minimize catch wrapping

Reuse acs_user::get_by_username to retrieve user_id in order to reduce query duplication and cache entries for acs_user::get, simplify idiom

  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.
Prefer '{}' to '[list]' when creating empty lists

  1. … 71 more files in changeset.
improve documentation

  1. … 10 more files in changeset.
Use acs_magic_object instead of acs_lookup_magic_object

  1. … 1 more file in changeset.
Portrait management reform and correction

Moved logics to create a portrait in a proc in order to reuse it in other places

such as picture retrieval services (e.g. Bach picture retrieval at WU). Turns out

we were not doing our homeworks here: when the portrait is created into CR, a

cr_child_rel is created. When the portrait was erased though, this was not cleaned

up propely, leaving dangling acs_objects with no reference in cr_child_rels table.

On busy sites, this can grow in the ten thousands order of magnitude. Changes include

also fix for this behavior and tuples cleanup.

  1. … 16 more files in changeset.
Move deprecated procs into deprecated-procs.tcl

  1. … 10 more files in changeset.
Small improvement for portrait management (deletion)

Exploit existing on delete cascade constraints when we delete a portrait, instead of deleting stuff manually.

Also, put remaining logics into a proc and use it in acs_user::delete to address legit use case of people wanting

to remove a user permanently without removing portrait in advance.

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

  1. … 7834 more files in changeset.
Fix code in cases, were object_type is not provided

Standardize spelling of names of products (Tcl, AOLserver, PostgreSQL, NaviServer)

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

  1. … 22 more files in changeset.
- let acs_user::flush_cache succeed in cases, where the privides ID is e-g- a person, but not in cc_users

- one more typo

- fix recent editing bug

- fix documentation of acs_user::get: list full set of returned

attributes in documentation

- acs_user::get: return dict, when no argument "-array" is provided

- mark cc_* functions as deprecated, since more general functions exists in acs_user::, party::, or group:: namespaces

- make "*_not_cached" versions hidden