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

Create editor, mutations AMD modules to suport the new course editor

    XMLWordPrintable

    Details

    • Sprint:
      Moppies Kanban, Moppies Kanban, Moppies Kanban

      Description

      Create the main AMD modules structure to support the new course editor for Moodle 4.0. The new architecture will be the base for implementing the new course editor, allowing teachers to edit the course from both course index or course content. It will consist of two main AMD modules:

      • core_course/courseeditor: the main reactive object the rest of the editor components will interact with
      • core_course/local/courseeditor/mutations: the main class to interact with the backend course edit Webservices

      However, those 2 modules will extend some new generic libraries to built basic reactive interfaces:

      • core/reactive: a wrapper any plugin can import to create both state instances and UI components.
      • core/local/reactive/reactive: the generic class to register single state reactive applications in vanilla JS
      • core/local/reactive/statemanager: a basic state manager to track changes in the data structures
      • core/local/reactive/basecomponent: a component class any UI component can extend to create new reactive components.

      Those new libraries will be incorporated into the core and could be used by any plugin.

      Those new components are based on the proof of concept developed here: https://github.com/ferranrecio/moodle/tree/coursecreatetest02

      Once finished, we could start implementing the new editor components that will replace the existing YUI and AMD modules used to edit the course.

      The following diagram summarizes the main editor elements and workflows:

       

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              tusefomal Ferran Recio
              Reporter:
              tusefomal Ferran Recio
              Peer reviewer:
              Amaia Anabitarte Amaia Anabitarte
              Integrator:
              Andrew Lyons Andrew Lyons
              Tester:
              Anna Carissa Sadia Anna Carissa Sadia
              Participants:
              Component watchers:
              Amaia Anabitarte, Carlos Escobedo, Ferran Recio, Ilya Tregubov, Sara Arjona (@sarjona), Andrew Lyons, Dongsheng Cai, Huong Nguyen, Jun Pataleta, Michael Hawkins, Shamim Rezaie, Simey Lameze
              Votes:
              0 Vote for this issue
              Watchers:
              8 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:
                Fix Release Date:
                13/Dec/21

                  Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0 minutes
                  0m
                  Logged:
                  Time Spent - 3 weeks, 1 hour
                  3w 1h