Summary
Currently, when the load_tree and load_courses commands are run, courses that no longer exist in the new ULB curriculum are marked as is_archive=True. However, if their parent categories are deleted or changed, these courses become "orphans" and appear at the root of the Finder or disappear from the navigation.
The Problem
In the current implementation, moving an archived course to the archives category requires manual intervention via the Django shell. If multiple courses are archived, they clutter the root Archive column instead of maintaining their original faculty/program hierarchy.
Proposed Solution
- Logical Mapping: The
load_tree command should automatically create a "shadow" hierarchy inside the archives slug that mirrors the last known valid structure for each course.
- Auto-nesting: When a course is detected as "not in the new program", it should be automatically moved to
Archives > [Former Faculty] > [Former Program] instead of being detached.
- UI separation: Improve the
finder.html template to handle columns containing both categories and courses (adding a "Direct Courses" separator).
This would ensure a seamless transition between academic years without breaking the user's ability to find old materials.