I’ve built my app out in a way that I have multiple ‘workshops’ that are complex and contain wizards with unique Open AI prompts, so each ‘workshop’ type has its own page (each one is so different in terms of the structure of the page that is needed its just easier this way).
I normally lean towards creating a structure on the page and filling it with dynamic data as much as possible. Initially I setup a ‘workshop’ with lessons and checklists and ai prompts etc. and called it a ‘template’. When users deploy a new instance of the workshop it will simply make a copy of that template and copy all of the lessons etc.
(they may want multiple instances of it in my case as they apply the workshop to different marketing campaigns within their business)
I realized that this not only bloats the database as each lessons content will also be duplicated needlessly, but that it makes updating things in the course a big task because I’d have to run a backend workflow to search for all instances of a lesson and update it.
On to my question:
Is this a situation where it might make more sense to just have all of the course content built directly on the page instead of in a data type? Lessons on the page would be toggled using reusable sections.
The only ‘dynamic data’ would be stuff that is unique to that specific instance of the workshop like the AI results, checklist progress etc.
This way I only need to duplicate a data type that holds data unique to each user every time a user ‘deploys’ a new ‘workshop’, and makes updating the workshop a 2 minute task in the editor and then I push a new version out.
OR would it be better to create a satellite data type for the Workshop and lessons that holds the content, and each users unique instance of it links to the parent workshop and parent lesson?