[API] Personal Pronouns should be editable through Canvas API without being editable in the UI
This idea has been developed and deployed to Canvas LMS |
Currently, in order to edit a user’s personal pronouns via the Canvas API, both “Enable Personal Pronouns” AND “Allow users to change their pronouns in Canvas” have to be enabled in the Account settings. Per Instructure’s Support and the documentation of the Users API, this appears to be intended behavior. This does not make logical sense and creates a significant barrier for institutions attempting to create a centralized process for supporting equity and inclusion on campus.
Desired Behavior
Our institution has two systems of record for personal pronouns at the college: Banner for our students and Workday for our Faculty and Staff. Setting personal pronouns in these systems then updates the information in other systems. This ensures that users know how to change their personal pronouns and what to expect when they do so.
The desired behavior follows these steps:
- User enters personal pronouns in the system of record for their role at the institution
- Behind the scenes, our custom integration runs and uses the Canvas API to update pronouns in Canvas accordingly
- In Canvas, “Enable Personal Pronouns” is enabled, but “Allow users to change their pronouns in Canvas” is not enabled
- User is able to see their personal pronouns reflected in Canvas, but cannot edit those pronouns in Canvas
- To make any further changes, user must go back to the system of record and make changes there
This ensures consistency across all campus systems and ensures that members of the community only need to enter information once.
Current Behavior
Currently, Canvas follows these steps for a user’s personal pronouns:
- User enters personal pronouns in the system of record for their role at the institution
- Behind the scenes, our custom integration runs and uses the Canvas API to update pronouns in Canvas accordingly
- If “Enable Personal Pronouns” but “Allow users to change their pronouns in Canvas” is not enabled:
- The information sends to Canvas with no error, but no changes are reflected in the Canvas user interface
- If “Enable Personal Pronouns” AND “Allow users to change their pronouns in Canvas” are both enabled:
- Pronouns selected in system of record are reflected in Canvas
- Users can edit pronouns in Canvas user interface without going through the system of record
- Changes made in Canvas are not reflected in any other campus system, leading to miscommunications, frustration, and harm
Current Solution
The solution proposed by Instructure’s Support is to follow these steps:
- Have an admin manually check the box to “Allow users to change their pronouns in Canvas”
- Run the Users API to import pronoun data
- After the import finishes, have an admin manually UNcheck the box to “Allow users to change their pronouns in Canvas”
Support sums this up with the assurance that “This does not remove the pronouns that have been imported, however at this point the option to edit these is locked.”
However, while that’s accurate, this solution will not work in a real world environment.
This adds an extra burden on staff to coordinate these settings changes and the API call. It also guarantees that there will be a delay between members of the community selecting personal pronouns in the systems of record and those being reflected in Canvas, during which the chances that they will be referred to by incorrect pronouns are high. This will result in user frustration and real world harm. There is also a chance that while the API call is running, a user in the Canvas user interface may discover the option to edit pronouns in Canvas. Any changes they make there may either be lost or not update in other systems, similarly resulting in frustration and harm.
Proposed Solution
The proposed solution to this problem is simple: separate the Users API from the “Allow users to change their pronouns in Canvas” Account setting. If "Enable Personal Pronouns" is enabled in the Account settings, the API should be able to edit personal pronouns, regardless of whether or not “Allow users to change their pronouns in Canvas” is also enabled.
That will allow updates to run as soon as users make changes in the systems of record without any manual intervention from admins. It will ensure that members of the community are able to accurately and respectfully communicate with each other during online discussions and other class interactions without significant delays and oversight.