Enable large course enrolment #10964
Labels
a-Design
High-level design or architecture
a-UIX
User Interface, User eXperience, responsiveness
c.Feature
User-facing feature; can be new feature or enhancement to existing feature
committers only
Difficult; better left for committers or more senior developers
p.Medium
Marginal impact; would like to do if time permits
Description of feature/enhancement
Allow course instructor to create course with > 100 students.
Justification
Currently, TEAMMATES course creation only accepts 100 students per enrolment. This causes inconvenience to course instructor with > 100 students as it will require subsequent enrolments. Inconsistency in student data might even be introduced.
Considerations
Direction
updateStudentCascade
, which is run at per-student granularity.save
Correctness
Update Aggregation
Dependency
validateSectionsAndTeams
check, we have the following guarantees should it pass:Cost
.now()
as Datastore usage is not charged by its internal resource used, but # of entity R/W.Workflow Analysis
In
updateStudentCascade
:getOriginalStudent
updateStudent
withUpdateOptions
updateFeedbackResponsesForChangingEmail
getFeedbackResponsesFromGiverForCourse
updateFeedbackResponseCascade
getFeedbackResponse
updateFeedbackResponse
updateFeedbackResponseComment
updateFeedbackResponseCommentsEmails
getFeedbackResponsesForReceiverForCourse
updateFeedbackResponsesForChangingTeam
getFeedbackResponsesFromGiverForCourse
getFeedbackQuestion
deleteFeedbackResponseCascade
getFeedbackResponsesForReceiverForCourse
getStudentsForTeam
deleteFeedbackResponsesInvolvedEntityOfCourseCascade
if empty courseupdateFeedbackResponsesForChangingSection
getFeedbackResponsesFromGiverForCourse
updateFeedbackResponse
updateFeedbackResponseCommentsForResponse
getFeedbackResponse
updateFeedbackResponseComment
getFeedbackResponsesForReceiverForCourse
Among all the operations, for a single students:
getFeedbackResponsesFromGiverForCourse
x3getFeedbackResponsesForReceiverForCourse
x3getFeedbackResponse
x4updateFeedbackResponse
x4updateFeedbackResponseComment
x4Consider reducing the unnecessary calls to the Datastore
The text was updated successfully, but these errors were encountered: