I had this idea/concept for a framework for prototyping learning activities. Thinking about how learning activity modules are composed at a more abstract level, they tend to use very similar components, e.g. text input, file upload & embed, grading, commenting, rating, etc. Moodle's mod_form.php kind of works on this idea already, but what if we made it more abstract? What if we could compose learning activities like making a pizza with different toppings? We could specify different combinations of content display and user input and interaction (modular sub-activities) and specify how they interact with each other and how they feed into assessment, grading, and feedback.
This is what we do when we create new activity modules but what if we could create new activities from already existing sub-activities, with their own DB tables, e.g. a single comments DB table that can have an ID specified to associate those comments with a particular activity module and its instances, as opposed to developers having to create new DB tables for each new activity module.
Does this make sense? Would it be workable?