antoniop in OpenACS

Prefer portable limit idiom, streamline query, "bad postgres" does not need this...

In acs-tcl.documentation__check_proc_doc automated test, if the test fails on procs that belong to namespaces outside the OpenACS codebase, just issue a warning rather than failing

Modernize javascript idiom

Allow to specify javascrit event handlers at the tcl level using CSS query selectors

Comment command that won't be defined in upstream codebase

Reduce duplication:

index and update_index were in fact implementing a upsert logic. Modern sql allows to write this in a single query and merge the two apis into one. Replace reference in the service contracts as well.

file upgrade-5.10.0d5-5.10.0d6.sql was initially added on branch oacs-5-10.

Fix typo

Handle correctly the indexing of moderated messages in fulltext search:

so far the fulltext search would also include unapproved messages and threads. With this reform we address this by:

- making sure unapproved threads are deleted from the index

- making sure new threads are added to the index only when the are approved

- making sure we unindex or reindex a thread whenever the approval state changes

- not fetching unapproved messages in the datasource callback, hence excluding them from the index

Note that Oracle has not been targeted by the reform. However, the situation improves for Oracle as well, because we won't render unmoderated messages in the datasource callback anymore.

    • -2
    • +2
file upgrade-1.4.0d3-1.4.0d4.sql was initially added on branch oacs-5-10.

Streamline idiom: we are only interested in the user ids

Fix typo in comment

When sending a notification on behalf of a person, if the system is not configured to process replies to notification, do not set the reply-to address to anything different than the sender

Prefer api to hardcoded urls

Address long standing todo: view news_items_live_or_submitted is defined for oracle exactly as the "workaround query" was doing, that is, from cr_revisions.content column

    • -13
    • +0
    • -15
    • +1
Whitespace changes

    • -25
    • +1
Don't display an empty list element when comment_url is empty

Whitespace cleanup

Now that the proctoring display UI has been ported, notify by default new proctoring events via websockets

Do not handle 400 responses in any special way: cases found in practice were always the result of a client-side timeout

Hide timing information from the user

Streamline proctoring upload:

- do not hardcode a timeout, requests will either complete or eventually fail

- use a single event handler at the end of the request to decide if and how to reschedule the upload. This prevents the possibility that the same error event triggers multiple uploads via different handlers

- improve documentation

Improve further: flush the object only when the state changes

    • -3
    • +6
Improve fix:

in FormPage www-edit, just after the save_data operation we render the FormPage to refresh the references. We should flush the form object cache here, as otherwise any formfield spec will come from the form in the previous state

    • -5
    • +7
Reinstate oacs-dav as a dependency... there is api usage that is not so easy to replace at the moment

Fix test category, add tested api

Make sure that the form object is flushed whenever state might have changed

If code executed after the state change accesses the form object again, this could be that from a previous state and e.g. hold the wrong form definition. This happens in practice downstream, where the submitting of activities also involves accessing the form definition to e.g. compute the grade based on the questions. Downstream we also cache the formfield specs, so if a spec is dependent on the state, might be wrong in also for future requests.

    • -0
    • +5
Fix typo, write a basic test for the involved api

Fix typo

Sanitize bogus URLs such as "//" or e.g. dotlrn URL lookup would fail

Not clear if this should happen already at the ns_conn level or somewhere in the site_node api