12/30/24 Today was a day of stepping back and realizing I have created a whole new mess of problems.
12/30/24 I am increasingly thinking that I should try to eliminate the central importance of the unit in the system.
A lesson should belong to a course rather than a unit
A course should have a slice of lessons rather than a slice of units
Parts of the course manager and course site that lists all units will also need to list lessons that don’t have a unit
New queries to fetch lessons by unit id.
12/30/24 I realized today that allowing the user to change the name of a lesson would completely mess up the system, since the file system for the site generator depends on the names of lessons remaining constant across terms.
New hidden file system where directories match lessonIDs rather than lesson names.
User will no longer touch slide text directly but will rather edit this text indirectly either:
Write to temporary file with file watcher and allow user to edit through another program
Edit through the app, while (at some point) providing marp preview
Directory will be copied over for each course i.e. when a course is fit to a new term
Slide text will be stored in Database as text and added as a field of Lesson
Site generator will write the text to a markdown file before running marp to render to HTML
To save size requirements, images will be kept in a single directory so they don’t need to be copied over for each course
If a lesson has a new ID
12/30/24 Worked on the edit lesson form a bit.
12/29/24 Major milestone today. Finally got the calendar interface working with the ability to move lessons one date left or right. Got rid of CourseSchedule across all layers.