Conversation
…on-cs/gordon-360-ui into s23-fac-privacy-option-ui-2
|
July 3, 2025 - Concerns: Our privacy system is fragile. The way privacy is handled depends on both the class of the viewer and the class of the user whose data is being requested. Values that are stored in the database are also hardcoded (e.g. a KeepPrivate value of 'Y' or the visibility group 'FacStaff'). With this PR most privacy restrictions are applied during the construction of the user's profile, but how that profile data is used (e.g. during user searches) is handled in different parts of the API code. Prior to the changes in this PR data privacy is handled differently for each class of user (student, facstaff, and alumni):
The changes introduced in this PR provide additional flexibility for users with access to 360 (which excludes most alumni).
|
| @import '../../../../vars'; | ||
|
|
||
| .root { | ||
| color: var(--mui-palette-primary-contrastText); |
There was a problem hiding this comment.
Since this PR isn't trying to modify quick search, I'm concerned that this might be undoing an old fix. I'd feel better not changing this file, unless we know of a reason.
There was a problem hiding this comment.
I agree with you. I have no idea why this is in the PR!
Co-authored-by: Russ Tuck <russ.tuck@gordon.edu>
…ordon-360-ui into s24-privacy-combined-profile
…ordon-360-ui into s24-privacy-combined-profile
This PR replaces #2031 and is linked to PR gordon-cs/gordon-360-api#1060 in the API repo.
@ArabellaJi began working on this in 2023 and did most of the heavy lifting. She began with the intention of giving FacStaff a mechanism to optionally display their mobile phone number. This then expanded to provide privacy controls for other items on the FacStaff personal profile. Before she handed it off at the start of the summer, she had also expanded her work so that student data (currently mobile phone and home address) used the same mechanisms.
In the past weeks we have continued this work to more completely integrate the new privacy settings and adjusting profile view models to allow individual profile elements have individual boolean values to indicate the user has requested they be private. Doing this meant that many of the profile fields have changed from strings to objects that contain a string and a privacy flag. For example, in both the UI and API the mobile phone field is now has type
ProfileItemthat is a class with two fieldsvalueandisPrivate. The value field is the string representing the phone number, and theisPrivatefield is a boolean that is true if the should be treated as confidential (and shown in red). Of course, data the viewing user is not allowed to see is not sent from the API, so theisPrivatefield being true means that the viewing user is authorized to see the information but the color reminds them that the information is restricted and should be treated as such.This change deprecates the use of the "KeepPrivate" profile field for faculty staff accounts and the "isMobilePhonePrivate" field for student accounts (although one outstanding issue is the need to ensure that student mobile phone privacy settings here are appropriately reflected in the Jenzabar database.)
Some profile information still use other types of privacy controls. One example is Clifton Strengths (although this might be an easy fix). Another is the privacy settings for alumni. We hope that in the near future these can be modified to use the new privacy settings.