[CLC-2098] Fixing classes/courses logic in the backend, simplifying front-end widget logic
[CLC-2098] Handle the non-official courses
[CLC-2098] Fix group logic for canvas groups attached canvas classes
[CLC-2098] Dummy json field renaming
Merge pull request #1320 from yuhunglin/CLC-2098

[CLC-2098] Fixing classes/courses logic in the backend, simplifying front-end widget logic