• last updated 3 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Chat reform:

- use consistently package_id to model belonging of a chat object to a particular package instead of the context_id

- set context_id to the package_id, as was already the case in practice, for permission checking

- make sure package_id exists and set it to the context_id in case it doesn't to handle legacy installations

  1. … 7 more files in changeset.
Replace old procedural api with OO idioms and deprecate it

  1. … 26 more files in changeset.
Major reform in the chat backend: use xotcl-core ORM to define all the relevant objects and data model

This greatly converges oracle and postgres codebase and will make easier to apply incremental updates to the data model in the future. It will also automatically update the acs_object_type metadata automatically

TODO: remove legacy procs, temporarly reimplemented using the new backend

  1. … 5 more files in changeset.
Remove old commented-out code

Chat data-model reform:

- introduce on delete cascade on foreign key constraints so package can be removed easily e.g. from the subsite UI

- remove remaining stored procedures (and function_args definitions) to relieve the burden on the development process and reduce divergency between oracle and postgres code

- converge oracle and postgres datamodels:

. oracle -> add missing messages_time_window column

. postgres -> remove creation_date from chat_transcripts, which was found to be still existing on old downstream installations

  1. … 9 more files in changeset.
Chat Redesign: enable/disable avatar pictures by room, using the new attribute 'avatar_p', instead of by package instance, using the 'ShowAvatar' parameter.

  1. … 19 more files in changeset.
Bring files on oacs-5-10 in sync with HEAD

  1. … 162 more files in changeset.
Chat Redesign: cleanup of obsolete parameters ('AppletHeight','AppletWidth','DefaultClient','ServerHost','ServerPort').

  1. … 3 more files in changeset.
Specialize the way chat::Chat class retrieves the package_id: use the context_id of the chat room (if this is a valid chat room)

This will allow to embed a chat::Chat instance in a xowiki page pinting to an existing chat room and let it use the chat package specific features to e.g. keep transcripts of a conversation

  1. … 3 more files in changeset.
Fade out obsolete code

  1. … 1 more file in changeset.
Add editor hints + Whitespace changes

  1. … 2 more files in changeset.
Use finer grained api for user name

Replace leftover Naviserver-only cache idioms with retro compatible ones

Create chat room cache in a way to provide compatibility with AOLserver

make timeout and cache size configurable.

  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.
Rework variable assignment (set -> lassign) + Whitespace changes

  1. … 17 more files in changeset.
Prefer '{}' to '[list]' when creating empty lists

  1. … 204 more files in changeset.
fix typos

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

  1. … 7834 more files in changeset.
Port some improvements from Learn@WU codebase:

- check whether chat room exists exploits cache

- chat room retrieval enriches with some acs_objects metadata

Fix potential errors when we try entering a chat room that has been deleted and check for its activity status

Don't lookup creator name for messages coming from the system, as they won't be found

Fix spelling errors

  1. … 16 more files in changeset.
- brace "if" condition

Uniform cache for chat room infos to the established nomenclature.

Increase size so that 1000 maximum entries would fit in the cache.

Fix typo

Allow user to specify how far in the past people connecting to the chat will see.

This is important on Learn@WU because people joining the chat room later want to

see the full conversation and before this was not settable from the UI. (Now defaults

to 4 hours) Useful also when somebody accidentally refreshes the chat after the

timewindow has passed.

Took this chance to ease a bit every future development: removed stored procedures

slowing greatly any change on the data model in favor of plain sql statements.

Incremented usage of cache.

Removed duplicated database operation when managing transcripts.

Fixed transcript name not being shown when deleting.

  1. … 12 more files in changeset.
Chats won't throw an error anymore when people keep looking to a room that has been closed.

Instead, user will be informed that the room is unavailable.

Added missing locale key source of errors in the log.

Fixed wrong stored procedure, stating different arguments than in actual usage.

Cleaned up weird idioms in xql files and chat api, moved many db operations into tcl api.

Exploited cache (ns_cache) to retrieve quickly chat room information.

Improved code quality a bit.

Ported upstream some local modification, like prettifying of flags in chat room management

and fix of double quoting in chat's javascript.

  1. … 11 more files in changeset.
Introduced new options to set chat rooms so login and/or logout message are not issued everytime a user enters/exits the chat.

  1. … 15 more files in changeset.
- apply fresh patches to oacs-5-9 branch

  1. … 53 more files in changeset.
- remove deprecated calls

  1. … 19 more files in changeset.