Skip to content

Protect against buggy participants reports from Aalto SISU API #1180

@PasiSa

Description

@PasiSa
Contributor

Course enrollments can optionally be fetched from Student Information System such as SISU in Aalto. SISU responds with list of student numbers. Based on the list, student is enrolled in A+ if she did not exist on the course yet. On the other hand, if the student number is not on the list, the A+ enrollment is removed, if it happened as a result of this SISU message.

It has turned out that Aalto's SISU API gateway occasionally returns an empty list for all courses queried using this API because of some malfunction. This causes all students to be removed from course enrollments (and a major hassle as a result). Therefore we should add a check to the code to protect against this situation: if the response contains an empty participant list, it should be ignored.

The relevant code is in enroll_from_sis method.

Aalto-specific SISU plugin is used to carry out the API messaging in Aalto. The plugin is in separate repository. As a side note, It was noted that when SISU API returns an error code in the plugin, it would ne nice if the error handling reported the error code more clearly in logs.

Activity

added
effort: hoursEstimated to take less than one day, from the creation of a new branch to the merging
area: student information systemsRelated to student information systems (SIS), e.g. Oodi, SISU, Salesforce
requester: teamThe issue is raised by a person inside the A+ developer team
on May 17, 2023
added this to the v1.19 milestone on May 17, 2023
moved this to Todo in A+ sprints on May 17, 2023
added a commit that references this issue on May 17, 2023
726e6d7
moved this from Todo to Under review in A+ sprints on May 17, 2023
added 4 commits that reference this issue on May 17, 2023
98bb794
f9e795d
c39c26b
3faba28
added a commit that references this issue on May 17, 2023
fd87748
moved this from Under review to Done in A+ sprints on May 17, 2023
added a commit that references this issue on Jun 2, 2023
f40db10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

area: enrollmentRelated to course enrollmentsarea: student information systemsRelated to student information systems (SIS), e.g. Oodi, SISU, Salesforceeffort: hoursEstimated to take less than one day, from the creation of a new branch to the mergingexperience: beginnerrequired knowledge estimaterequester: teamThe issue is raised by a person inside the A+ developer team

Type

No type

Projects

Status

Done

Relationships

None yet

    Development

    Participants

    @PasiSa@ihalaij1

    Issue actions

      Protect against buggy participants reports from Aalto SISU API · Issue #1180 · apluslms/a-plus