Uploaded image for project: 'Sakai'
  1. Sakai
  2. SAK-41346

Site Info > Allow maintainer to delete last roster in course site

    XMLWordPrintable

    Details

    • Type: Feature Request
    • Status: Verified
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 11.4, 12.5, 19.0, 20.0
    • Fix Version/s: 19.2, 20.0
    • Component/s: Site Info
    • Labels:
      None
    • 19 status:
      Resolved
    • Property addition/change required:
      Yes
    • Test Plan:
      Hide
      1. Create a course site with a roster, where you are the Instructor in the roster
      2. Go to Site Info > Edit Class Roster(s)
      3. Remove the roster from the site
      4. Verify you are not presented with an error message, the roster was removed from the site, and you remain as a non-provided Instructor role
      Show
      Create a course site with a roster, where you are the Instructor in the roster Go to Site Info > Edit Class Roster(s) Remove the roster from the site Verify you are not presented with an error message, the roster was removed from the site, and you remain as a non-provided Instructor role

      Description

      Currently if an instructor tries to delete the only remaining roster attached to a course site (and there are no manually enrolled users with the maintain role), the instructor will receive an error message:

      Alert: The site has to have at least one user with role Instructor.

      This has been reported as a pain point for users, as they have to remember to add a roster before they can remove the last roster, or enroll another user as a non-provided maintain roll. This also allows them to utilize the site without having a roster attached.

      The linked PR introduces a new sakai.property (site.setup.allowDelLastRoster) to control this behaviour so that the user is automatically enrolled as a non-provided maintainer role in the course site so that they are able to delete the last roster attached to a site. The new configuration option defaults to false to preserve OOTB functionality.

      User Stories

      An instructor creates a course site with the intentions of building course materials prior to the course starting date. She does not want anyone to be able to access the site before she's finished creating all the necessary material. She unpublishes the site with this intention. However, the instructor realizes that anyone who is granted the "view unpublished sites" permission can still access the site. As a workaround, she attempts to temporarily remove the roster from the site until she's finished, but receives an error stating the action would leave no users remaining in the site with the Instructor role.

      She attempts to add her own user to the site as the Instructor role, but is presented with an error because she already exists in the roster. She then manually adds another user to the site in the Instructor role, and then deletes the roster. This results in the roster being removed from the site, and subsequently (and unintentionally) she's lost access to the site herself. Support call(s) ensue...

      WARNING

      Enabling this feature may have legal implications, depending on your local privacy laws (FERPA, FIPPA, GDPR, etc.). For example:

      If SIS data integration is the source of authority, it's possible that the instructor who deletes the last roster in a site may actually be removed from the roster in the SIS data sometime after the roster was removed from the site. Having the roster detached from the site prevents this update from happening, and may as a result grant the instructor undue access to course materials, grades, etc. which the institution has effectively tried to revoke.

        Gliffy Diagrams

          Zeplin

            Attachments

              Activity

                People

                Assignee:
                mark_golbeck Mark Golbeck
                Reporter:
                bjones86 Brian Jones
                Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                  Dates

                  Created:
                  Updated:
                  Resolved:

                    Git Integration