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

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



    • Moppies Kanban, Moppies Kanban, Moppies Kanban


      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:



        1. Course creation project.jpg
          66 kB
          Ferran Recio
        2. MDL-71134.jpg
          19 kB
          Anna Carissa Sadia

        Issue Links



              tusefomal Ferran Recio
              tusefomal Ferran Recio
              Amaia Anabitarte Amaia Anabitarte
              Andrew Lyons Andrew Lyons
              Anna Carissa Sadia Anna Carissa Sadia
              Amaia Anabitarte, Carlos Escobedo, Ferran Recio, Ilya Tregubov, Laurent David, Raquel Ortega, Sara Arjona (@sarjona), Andrew Lyons, Huong Nguyen, Jun Pataleta, Michael Hawkins, Shamim Rezaie, Simey Lameze, Stevani Andolo
              0 Vote for this issue
              8 Start watching this issue



                Time Tracking

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