• last updated 19 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Fixes for Oracle 19c: fix broken variable references (introduced in oacs-5-9)

Fixes for Oracle 19c: added missing SQL package declaration

Fixes for Oracle 19c: (temporary?) fix for message catalogs

This change fixes the problem that after a fresh installation, all (!)

messages keys are empty. I am not sure what the source of the problem

is, why this has supposedly worked some years before, and whether

there are undesired side-effects of this change. Without this change,

the openacs installation leads to fully broken state.

Fixes for Oracle 19c: replaced "limit" by the portable idiom "fetch ... rows only"

This fixes the following bug in Oracle installations:

: SQL:

: select aml_email_id from acs_mail_lite_from_external

: where processed_p <>'1'

: and release_p <>'1'

: order by priority

: !>>>!limit :email_max_ct

: nsoracle.c:1367:OracleSelect: error in `OCIStmtExecute ()': ORA-00933: SQL command not properly ended

Fixes for Oracle 19c: quick port of missing tables in acs-mail-lite from PostgreSQL

This is q quick port of the table available from PostgreSQL, which

assures that a new instance of OpenACS on Oracle can run without

spitting out frequent error messages. In essence, the sequence

handling was adjusted, and datatype "text" was replaced by

"varchar(4000)" and in one case by "clob". Probably, some of the

lengths and the update operations have to be adjusted.

Fixes for Oracle 19c: boolean types in query

This fixes the following bug for Oracle:

[13/Feb/2022:17:53:36][8701.7f9f62f0b700][-conn:oacs-5-10-0:default:0:0-] Error: nsoracle.c:1367:OracleSelect: error in `OCIStmtExecute ()': ORA-00920: invalid relational operator

:

: SQL:

:

: select p.package_id,

: p.instance_name,

: n.node_id,

: n.name,

: :subsite_url || n.name as url,

: (select count(*)

: from group_approved_member_map m

: where m.rel_type = 'membership_rel'

: and m.group_id = ag.group_id) as num_members,

: (select min(r2.member_state)

: from group_member_map m2,

: membership_rels r2

: where m2.group_id = ag.group_id

: and m2.member_id = :untrusted_user_id

: and r2.rel_id = m2.rel_id) as member_state,

: g.group_id,

: g.join_policy

: from site_nodes n,

: apm_packages p,

: application_groups ag,

: groups g

: where n.parent_id = :subsite_node_id

: and p.package_id = n.object_id

: and p.package_key in ('acs-subsite')

: and ag.package_id = p.package_id

: and g.group_id = ag.group_id

: and (g.join_policy !>>>!!= 'closed' or acs_permission.permission_p(p.package_id, :untrusted_user_id, 'read'))

: order by lower(instance_name)

:

Fixes for Oracle 19c: boolean types in query

This fixes the following bug for Oracle:

': ORA-00920: invalid relational operator

:

: SQL:

: select p.package_id,

: p.instance_name,

: n.node_id,

: n.name

: from site_nodes n,

: apm_packages p,

: apm_package_types t

: where n.parent_id = :subsite_node_id

: and p.package_id = n.object_id

: and t.package_key = p.package_key

: and t.package_type = 'apm_application'

: and acs_permission.permission_p(p.package_id, :user_id, 'read')

: !>>>!order by upper(instance_name)

:

Fixes for Oracle 19c: invalid cast to integer

This fixes the following bug for Oracle:

: invalid positional variable `:', valid values start with 1

: while executing

: "ns_ora 0or1row nsdb0 {

: select acs_permission.permission_p(:object_id, :party_id, :privilege)::integer from dual

: }"

fix editing bug

V: ----------------------------------------------------------------------

Fixes for Oracle 19c boolean types in query

This fixes the following bug for Oracle:

: select u.user_id,

: u.authority_id,

: u.username,

: u.screen_name,

: u.priv_name,

: u.priv_email,

: u.email_verified_p,

: u.email_bouncing_p,

: u.no_alerts_until,

: u.last_visit,

: to_char(last_visit, 'YYYY-MM-DD HH24:MI:SS') as last_visit_ansi,

: u.second_to_last_visit,

: to_char(second_to_last_visit, 'YYYY-MM-DD HH24:MI:SS') as second_to_last_visit_ansi,

: u.n_sessions,

: u.password,

: u.salt,

: u.password_question,

: u.password_answer,

: u.password_changed_date,

: extract(day from current_timestamp - password_changed_date) as password_age_days,

: u.auth_token,

: mm.rel_id,

: mr.member_state !>>>!= 'approved' as registered_user_p,

: mr.member_state

: from users u

: left join group_member_map mm on mm.member_id = u.user_id

: and mm.group_id = mm.container_id

: and mm.group_id = :registered_users_group_id

: and mm.rel_type = 'membership_rel'

: left join membership_rels mr on mr.rel_id = mm.rel_id

: where u.user_id = :user_id

improved error message

Fixes for Oracle 19c boolean types in query

This fixes the following bug for Oracle:

: SQL:

: select locale

: from ad_locales l

: where language = :language

: and enabled_p

: !>>>!and (default_p or not exists (select 1 from ad_locales

: where language = :language

: and locale <> l.locale))

:

Subst commands as well, include the artifact is in the websocket message

Formatting changes

Port the downstream only websocket enpoint

file proctoring-websocket.tcl was initially added on branch oacs-5-10.

file websocket.tcl was initially added on branch oacs-5-10.

file websocket.adp was initially added on branch oacs-5-10.

Rename the file so it actually has an extension

Add extension to the filename so it is preserved

Improve upgrade:

- make output more visible when executed in the apm

- when atjobs are available, schedule the upgrade to run in the background at the next restart

Dodument a rather convoluted query

Improve doc

Improve doc

Improve doc

Provide a showcase example of proctoring: admins will see the UI to examine results, regular users will start a proctored session

might be extended in the future

file proctored-index.adp was initially added on branch oacs-5-10.

file index.tcl was initially added on branch oacs-5-10.

file index.adp was initially added on branch oacs-5-10.

file display.tcl was initially added on branch oacs-5-10.