Organizer: Auto Update Programs
A course of study/program needs to be updated automatically.
The user should be informed about the delta/changes in the program.
Also, the BLoCs need to react to changes, e.g. when subjects/lessons are omitted then they should be removed from the bloc.
Critical for feature
-
create a function to replace the current program with a new program (should be already implemented, but check and verify) -
call an update function when entering the module the first time (if there's a selected program) -
notify the user and display the delta changes (how many subjects/lessons are affected) -
display delta changes in configuration -
once the change has been "seen", remove the change permanently -
implement an animation when a change has been seen -
find better icons -
create new perm hyd bloc (OProgramHistoryBloc) for persisting changes -
check all spots were new programs are loaded and add history programs aswell -
show a loading indicator when programs are being updated in main pagedont annoy users -
show a loading indicator when programs are being updated in configuration pagedont annoy users -
show changes dependent on what object (program, pool, subject, lesson) -
style the changes more appropriatly -
cleanup selected lessons when program changes are made (e.g. remove lessons that are not in an update) -
cleanup program history when a program is deleted -
check reset functionality for program history -
test debug -
test profile -
test release -
test debug ios -
test profile ios -
test release ios -
i18n -
sometimes the bloc widgets are not being rebuilt correctly. check. -
startsWith "171" will also be true when asking startswith "17". Add the separator, e.g. "17_"check this in the future, right now, it's not easily fixed. however, it's completely tolerable, because orphaned notifications can be deleted easily. -
if a program is updated and lessons are ultimately deleted, check with program.hasLesson if every selected program still has this lesson from the changeReport. If not, clear it from the user selection list.
Optional for feature
-
create debug options (delete pool/subject/lesson, add pool/subject/lesson, rename pool/subject/lesson) to test the functionality -
find a better place for the debug options -
optimize performance. currently, if there are ~3 programs and ~100 changes, navigating gets slow. However, why can this persistence not be called asynchronously? -
offer option to see notifications of changes again on an older comparison-program
Edited by Marwin Lebensky