xotcl-chat-procs.tcl

  • last updated 4 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
make sure to delete temporary objects

  1. … 1 more file in changeset.
Cleanup the vestigial moderated_p flag

  1. … 9 more files in changeset.
Expect arbitrary arguments on inherited methods, detect instance variables that should be passed to the object creation in save_new

improve Oracle compatibility

switch from xo::db::sql to acs::dc interface

  1. … 12 more files in changeset.
Fix typo affecting only a fresh installation of the chat package...

improve spelling

  1. … 42 more files in changeset.
New index on chat_transcripts(room_id)

  1. … 1 more file in changeset.
Fix typo

improve spelling: move closer to the linux documentation recommendations

  1. … 7 more files in changeset.
Keep returning 0 when no transcript is created, as the code expects

Uniform the quoting criteria when dealing with transcripts:

- transcripts are stored as they are, no quoting in the data we store (and therefore HTML should be avoided)

- transcripts are displayed quoted, therefore disabling any effect from HTML eventually present in the content

- bring the logics to build transcript content in the api to avoid duplication

- avoid sending the transcript content to transcript-new-2, as we can generate it server side

Note: storing transcripts as a pre-formatted chunk of text is probably not the best approach, as any changes to the formatting cannot be applied to pre-existing data without a delicate upgrade. This new approach will make <br> tags inside older transcripts visible...

  1. … 6 more files in changeset.
added editor hints and white-space cleanup

  1. … 24 more files in changeset.
Document chat api using ad_* api facilities

Make sure package_id is set on transcripts also when flushing messages every day

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.
Pass the creation user to the transcript object, as this proc is often called via scheduled procedure and won't find one otherwise

Rely on xotcl ORM machinery to handle acs_object metadata instead of doing it manually

Right way to override the fetching of an object is thorugh the fetch query

This would not be necessary once we add acs_object attributes to ::xo::db::Object slots, but as side-effects of this are not clear we leave it for some other time

Replace old procedural api with OO idioms and deprecate it

  1. … 26 more files in changeset.
file xotcl-chat-procs.tcl was initially added on branch oacs-5-10.

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.