Skip to content

Integrate row-level security

This is a task to track row-level security permissions model for desktop UI. The same permissions data will be used by the web app, but will not be enforced at the database level (as requests will be via the web application user, for authentication and connection pooling reasons).

Current database tables (staging):

Read-only but accessible for normal users

Table Public Comments
academicyear Yes Stores the year start dates - public information
activitytype Yes Stores timetable activity types - internal but non-sensitive
assessment_type Yes Turn it in vs studio submission, etc...
buyout_type Yes Probably fine, technically on the WAM page
division Yes Mapping of divisions to student values - available on website
role Yes? Roles are public, the modelling finance numbers probably shouldn't be - but are not meant to be on this table anymore!
week mapping Yes How Falmouth week numbers line up with the timetabling system

Division specific read-only tables

Tables which shouldn't be modifiable for day-to-day purposes, but will need to be department aware

Table Public Comments Write access groups Source
staff No Staff names and notes Managers (if automated: HR/No one) HR
course No Names and codes - available on the website Managers (if automated: SPA/No one), should change through cause approvals Records
module Yes modules and who owns them, basically on the website Managers (if automated: SPA/No one), should change through module approvals Records
module_cohort No What cohorts are attached to what module instances Managers (if automated: Student records/No one), values provided via finance Records
roompool Yes? Room Pools are internal data - can be department specific or general. Courses shouldn't be able to select room pools which aren't relevant to them Admin/No one - comes from timetabling Timetabling
roompool_academicyear No Room capacities and internal roompool names Admin/No one - comes from timetabling Timetabling
cohort No Student courses - Department specific No one - should be automated, if not then managers Records
cohort_academicyear No Student numbers are on RADAR, but probably should be considered confidential Numbers from TT/Finance (lower/upper bound) Records, Finance, TT
assessment_method Yes? Probably fine, stores known assessment types - some types might be department specific (eg, group working) No one - should not change without justification Department, SPA
contract No Contract functionality - probably needs to be treated as sensitive information Should only really change via CVF process HR
buyout No Probably should be considered sensitive information Changes via university policy Uni management
role_academicyear No Finance modelling numbers Finance

Division specific read-write tables

Need read/write access for planning - should be module aware

Table Public Comments Source
moduleinstance No Contains module leader information, contact hours, etc... Records, CL
activity No Should only be accessible to people in department HOS/CL
iterations No What groups/iterations are on each session, same as activity HOS/CL
iterations_roompool No What rooms are attached to an iteration, same as activity HOS/CL
iterations_staff No What staff are attached to what session, same as iterations HOS/CL
assessment No Attached to modules - some information public (akari), deadlines shouldn't really be as myfalmouth is the source of truth SPA
assessment_staff No What members of staff are attached to each assessment - workload related HOS/CL

Internal tables

Table Public Comments
migrations No What database migrations have been applied, internal, but who cares
Edited by Joseph Walton-Rivers