The Instructure Product Team is working on implementing a better solution to collect your feedback. Read Shiren's blog for more information.
The current assignment override API requires posting a complete list of all students for the override.
Our use case involves up to 1000 students in a course, with up to 125 assignments. Students have individual start dates, but to reduce the number of overrides, students who share a start date can also share due dates (assignment overrides). The large number of students necessitates concurrent processing, and with the current API, synchronization is required to keep concurrent requests from modifying the same override simultaneously and overwriting data. Students are also added to the course over time, so not all students can be assigned to an override at the time of override creation.
These are the current endpoints for creating and updating overrides:
POST /api/v1/courses/:course_id/assignments/:assignment_id/overrides
PUT /api/v1/courses/:course_id/assignments/:assignment_id/overrides/:id
I propose adding the following endpoints:
GET /api/v1/courses/:course_id/assignments/:assignment_id/overrides/:id/students
POST /api/v1/courses/:course_id/assignments/:assignment_id/overrides/:id/students (a student_id would be included as part of the request body or URL)
DEL /api/v1/courses/:course_id/assignments/:assignment_id/overrides/:id/students/:student_id
These endpoints would allow you to:
This solution would permit safe concurrent updates of the overrides, by giving a way to add and remove a student from the list of students, rather than supplying the entire list of students with each update.
admin
To interact with Panda Bot, our automated chatbot, you need to sign up or log in:
Sign inTo interact with Panda Bot, our automated chatbot, you need to sign up or log in:
Sign in