Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Protect against buggy participants reports from Aalto SISU API #1180

Closed
PasiSa opened this issue May 17, 2023 · 0 comments · Fixed by #1181
Closed

Protect against buggy participants reports from Aalto SISU API #1180

PasiSa opened this issue May 17, 2023 · 0 comments · Fixed by #1181
Assignees
Labels
area: enrollment Related to course enrollments area: student information systems Related to student information systems (SIS), e.g. Oodi, SISU, Salesforce effort: hours Estimated to take less than one day, from the creation of a new branch to the merging experience: beginner required knowledge estimate requester: team The issue is raised by a person inside the A+ developer team
Milestone

Comments

@PasiSa
Copy link
Contributor

PasiSa commented May 17, 2023

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.

@PasiSa PasiSa added effort: hours Estimated to take less than one day, from the creation of a new branch to the merging area: student information systems Related to student information systems (SIS), e.g. Oodi, SISU, Salesforce experience: beginner required knowledge estimate requester: team The issue is raised by a person inside the A+ developer team area: enrollment Related to course enrollments labels May 17, 2023
@PasiSa PasiSa added this to the v1.19 milestone May 17, 2023
@PasiSa PasiSa moved this to Todo in A+ sprints May 17, 2023
ihalaij1 added a commit to ihalaij1/a-plus that referenced this issue May 17, 2023
@ihalaij1 ihalaij1 moved this from Todo to Under review in A+ sprints May 17, 2023
ihalaij1 added a commit to ihalaij1/a-plus that referenced this issue May 17, 2023
ihalaij1 added a commit to ihalaij1/a-plus that referenced this issue May 17, 2023
ihalaij1 added a commit to ihalaij1/a-plus that referenced this issue May 17, 2023
ihalaij1 added a commit to ihalaij1/a-plus that referenced this issue May 17, 2023
@github-project-automation github-project-automation bot moved this from Under review to Done in A+ sprints May 17, 2023
markkuriekkinen pushed a commit to markkuriekkinen/a-plus that referenced this issue Jun 2, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: enrollment Related to course enrollments area: student information systems Related to student information systems (SIS), e.g. Oodi, SISU, Salesforce effort: hours Estimated to take less than one day, from the creation of a new branch to the merging experience: beginner required knowledge estimate requester: team The issue is raised by a person inside the A+ developer team
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

2 participants