-
Notifications
You must be signed in to change notification settings - Fork 0
Description
User must reset all of their changes for course metadata updates to apply (e.g. course colour, description, other details).
This is especially annoying when courses in any of their layouts have an update, since all the previous course details are contained in the layout string, which would overwrite details from the update. The current way of applying all updates is resetting everything to default, then re-entering all the courses.
Possible suggestion: instead of reset all changes, change the button to apply updates... or even better, prompt the user to apply updates when available (provide an update description), saving the user's version number to compare with latest version for if update is needed. If there is a conflict (e.g. new colours would replace old ones), have another confirmation.
Some cases to consider:
- New course colours - the most recent colour update assigns colour based on stream instead of custom colours, can do some logic based on that, but if still using the old method, then user will need to reset the colours to default (empty string)
- New courses added - add new course (comparing previous and new full course lists) to unused courses
- Changed prerequisites or term offering availability (affecting validitiy of layout) - go through each course and update the metadata, then evaluate graduation again and give warning if layout invalid, probably needs a separate variable to store errors for each slot
Somewhat like Git, would go through and list what changes because we need to go through for comparisons to make the update anyways.