• last updated 34 mins ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
improve listing of test coverage

  1. … 1 more file in changeset.
mark functions called only internally as private

  1. … 12 more files in changeset.
mark unused functions as deprecated

improve comment

make use of built-in reverse proxy mode of newer versions of NaviServer

don't load deprecated code unless explicitly required

deprecate unused and untested code

prefer ns_dbquotevalue over db_quote, mark latter as deprecated

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

improve listing of test coverage

  1. … 15 more files in changeset.
reduce verbosity

improve listing of test coverage

  1. … 8 more files in changeset.
make listing of tested procs more complete

    • -0
    • +1
    ./test/application-data-link-procs.tcl
  1. … 6 more files in changeset.
make listing of tested procs more complete

  1. … 1 more file in changeset.
make listing of tested procs more complete

  1. … 5 more files in changeset.
make code slightly more regular

reduce verbosity

remove race condition from user/person/party cache management

2 new API functions acs_user::promote_person_to_user and acs_user::demote_user (see issue #3461)

acs_user::promote_person_to_user

Promotes a person/party to an ACS user.

@param person_id the person_id in the acs system that should be promoted to a user.

@param username the username to be used for this user.

Defaults to the person's email

@param password the password to be used for this user.

Defaults to a randomly generated password.

@param authority_id the authority that will be used for the user.

@param locale locale to be used in user preferences.

Defaults to the site wide locale is taken.

@return The user_id of the person promoted to user

@error An error is thrown

if the username is already in use,

or the person_id has no email address,

or if person_id is not in the persons table.

acs_user::demote_user

Demotes an ACS user to a person/party.

This will fail if other tables have content referencing the users

table. It is probably best for tables created in other packages

to reference persons, parties, or acs_objects instead. This proc

could be extended with an option to find all referenced tables and

remove rows referencing this user.

See the following FK relationship in basic OpenACS installations:

TABLE "acs_objects" CONSTRAINT "acs_objects_creation_user_fk" FOREIGN KEY (creation_user) REFERENCES users(user_id)

TABLE "acs_objects" CONSTRAINT "acs_objects_modifying_user_fk" FOREIGN KEY (modifying_user) REFERENCES users(user_id)

TABLE "ad_locale_user_prefs" CONSTRAINT "ad_locale_user_prefs_users_fk" FOREIGN KEY (user_id) REFERENCES users(user_id) ON DELETE CASCADE

TABLE "auth_batch_job_entries" CONSTRAINT "auth_batch_job_entries_user_fk" FOREIGN KEY (user_id) REFERENCES users(user_id) ON DELETE SET NULL

TABLE "auth_batch_jobs" CONSTRAINT "auth_batch_jobs_user_fk" FOREIGN KEY (creation_user) REFERENCES users(user_id) ON DELETE SET NULL

TABLE "cr_news" CONSTRAINT "cr_news_approval_user_fk" FOREIGN KEY (approval_user) REFERENCES users(user_id)

TABLE "email_images" CONSTRAINT "email_images_user_id_fk" FOREIGN KEY (user_id) REFERENCES users(user_id)

TABLE "forums_messages" CONSTRAINT "forums_mess_last_poster_fk" FOREIGN KEY (last_poster) REFERENCES users(user_id)

TABLE "forums_messages" CONSTRAINT "forums_mess_user_id_fk" FOREIGN KEY (user_id) REFERENCES users(user_id)

TABLE "forums_reading_info" CONSTRAINT "forums_read_user_id_fk" FOREIGN KEY (user_id) REFERENCES users(user_id)

TABLE "lang_messages_audit" CONSTRAINT "lang_messages_audit_ou_fk" FOREIGN KEY (overwrite_user) REFERENCES users(user_id)

TABLE "lang_messages" CONSTRAINT "lang_messages_creation_user_fk" FOREIGN KEY (creation_user) REFERENCES users(user_id)

TABLE "lang_user_timezone" CONSTRAINT "lang_user_timezone_user_id_fk" FOREIGN KEY (user_id) REFERENCES users(user_id) ON DELETE CASCADE

TABLE "notification_replies" CONSTRAINT "notif_repl_from_fk" FOREIGN KEY (from_user) REFERENCES users(user_id)

TABLE "notification_user_map" CONSTRAINT "notif_user_map_user_id_fk" FOREIGN KEY (user_id) REFERENCES users(user_id) ON DELETE CASCADE

TABLE "notifications" CONSTRAINT "notifications_notif_user_fk" FOREIGN KEY (notif_user) REFERENCES users(user_id)

TABLE "notification_requests" CONSTRAINT "notifications_request_user_id_fk" FOREIGN KEY (user_id) REFERENCES users(user_id) ON DELETE CASCADE

TABLE "proctoring_examination_statement_acceptance" CONSTRAINT "proctoring_examination_statement_acceptance_user_id_fkey" FOREIGN KEY (user_id) REFERENCES users(user_id) ON DELETE CASCADE

TABLE "user_portraits" CONSTRAINT "user_portraits_user_id_fk" FOREIGN KEY (user_id) REFERENCES users(user_id)

TABLE "user_preferences" CONSTRAINT "user_preferences_user_id_fk" FOREIGN KEY (user_id) REFERENCES users(user_id)

TABLE "xowiki_tags" CONSTRAINT "xowiki_tags_user_id_fkey" FOREIGN KEY (user_id) REFERENCES users(user_id)

support multiple argument messages for ad_log to improve compatibility with ns_log

avoid array notation for per_thread caches to ease flushing

  1. … 3 more files in changeset.
mark f::reverse as depreacted. There is no evident reason, why not the built-in "lreverse" is used

make end of options explicit

  1. … 28 more files in changeset.
util_return_headers: set default charset for text content (in case none is specified and none is set in the config file) to utf-8 (was iso-8850-1)

util_return_headers: align the behavior under AOLserver with NaviServer

added method "get" for "LockfreeCache" (somewhat similar to nsv_get)

Hack to force user agents logging in via the test api to exhibit a cookie based authentication

make call more robust in case "location" is not provided via config file

provide compatibility for Tcl versions before tcl 8.6.2

Revert to previous strategy of determining available subcommands.

Running the provided subcommand is dangerous, since the command might

have side effects, might require connections, etc.

The feature test for "ns_http run" was incorrect, since it was not

introduced with 4.99.15 (as the comment suggested), but already with

4.99.4 (2017)... but at this time, the command did not return a dict,

which is assumed in the http-client procs. One can use "ns_http stats"

as an indicator for this feature, which was introduced at the time

when "ns_http run" was starting to return dicts as results.

Provide a more precise name for the feature test of ns_http returning

dicts (naming the feature simply "ns_http" is not a good idea, since

the command could of course be used already before the feature change).