Skip to content

Updates don't apply easily since data is stored locally #7

@sunnwydays

Description

@sunnwydays

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions