Uploaded image for project: 'Moodle'
  1. Moodle
  2. MDL-76245

Ability to create templated chunks of content / forms to be used as activity modules aka mini CMS inside the LMS

    XMLWordPrintable

Details

    • New Feature
    • Resolution: Unresolved
    • Major
    • None
    • Future Dev
    • Course

    Description

      There is really common requirement from clients to have a set of style guides or content standards across a Moodle site, and there have been a range of solutions to this at the editor level such as:

      https://moodle.org/plugins/atto_templates4u

      https://moodle.org/plugins/atto_templates

      https://moodle.org/plugins/tinymce_html_components

      But we really want some thing more structured where the course creator is given a form to fill out where each field has a proper content type and optional validation and where the template is centrally maintained. If the template changes then it should be updated live across the whole site, rather than small bits of content baked into html in mod_label and elsewhere.

      There has been a couple attempts at doing this using modules but there is an opportunity to do this in a much more deep and tightly integrated way:

      https://moodle.org/plugins/mod_structlabel

      https://moodle.org/plugins/mod_customlabel

       

      Proposing:

      A new module type, maybe mod_content until a better name can be found, where the admin can create a set of content types, define the fields that are needed for each content type using the custom fields api, and then a template probably in mustache which shows how to display it. Each content type may have multiple templates, at least 1 for what is shown on the course page and possible one or more for pages which drill down from there.

      https://docs.moodle.org/dev/Custom_fields_API

      Each content type would then be available as a new activity / resource in a similar way to how LTI creates new psuedo activities. So a course creator is never creating a mod_content instance, they would select 'Course outline' or 'Meet the lecturer' and then fill in the gaps.

      Core would ship with a small number of fairly commonly used content types, and there would be clear help that these are just a starting point and they can be added to and customized.

      Each content type could be bundled up and packaged, and ideally be available as a new type of entry in the Content Bank.

      Once a content type instance has been created, then as much as practical this should be editable via inline editing while on the course page if editing mode is on.

       

      There is some conceptual overlap with the Database module templates which could either be reused or these could be co-evolved into the same content definition standard.

      Some extra extensions to this concept would be the idea of dynamic strings, and dynamic capabilities. ie when you create a new content type, it is creating pseudo new strings for activity and these could be translated like a normal string. Also each content type would have a new dynamic capability made which can be mapped to roles or categories so that you could create content types which are only applicable to a certain faculty for instance.

      Examples:

      Content type for Learning Objectives

      Instead of free form text the objectives could be defined as a combination of some text in addition to references to a competency or tag or other structured data.

       

      Content type for Useful tip

      This is a really simple type, and is typically just a heading and a sentence along with an icon and some sort of formatting.

       

      Content type for 'Meet the team' / 'Meet the teachers' / 'Meet the xyz'

      The content type defines are array of data, and each item in the array has:

      • a link to a user profile
      • the name of their title in the context of this course
      • a free form chunk of text specific to this course

      The template is then able to extract data from the rich data in the users profile such as their avatar and location and name, with the blurb under it. If any of that data is changed elsewhere then it is automatically correct in all the courses where it is used. An example of where this could be used in the Moodle Academy:

      https://moodle.academy/mod/page/view.php?id=313

       

      Content types for Formative assessment vs summative assessment

      Lots of courses want to have clearly defined and style formative assessment in the course page with the summative assessment at the end. They use different icons and heading to distinguish them, and importantly different types of both types might use different actual module types to implement them, such as quiz, lesson or assign. So the icons for assignment and quiz being tightly linked to their type is actually less important and instead we want the icon to represent the type of assessment being done, not how they are being done.

      So there could be two content types, one for Formative, one for Summative, and each is configured with link to a module. In the definition the module type could be fixed or it could be a choice or a subset of module types. When creating the a new Formative assessment instance it would create the underlying quiz or assign instance and encapsulate it.

       

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              brendanheywood Brendan Heywood
              Votes:
              6 Vote for this issue
              Watchers:
              10 Start watching this issue

              Dates

                Created:
                Updated:

                Clockify

                  Error rendering 'clockify-timesheets-time-tracking-reports:timer-sidebar'. Please contact your Jira administrators.