Modulo:Mooc/Data/Lesson

This module is a basic MOOC item type intended to be a container for multiple learning units. Nevertheless a lesson is a learning unit itself and therefore has own learning goals and resources. In comparison to the default behaviour the children of a lesson get (fully) parsed if it gets rendered.

   TODO add link to lesson template

Identifier: "lesson"

Example: Adds a lesson "Item types" to the MOOC index that contains two learning units

   =lesson|Item types=
   *learningGoals=
   #two types existing ("node and leaf")
   #how to use them
   ==unit|Unit==
   *learningGoals=
   #most basic MOOC unit ("leaf")
   ==unit|Lesson==
   *learningGoals=
   #unit container ("node")
   #is a unit itself, with own goals

Children of a lesson get parsed as if they were units, when the lesson gets loaded. Thus in addition to the header all parameters are available.

Calls the default loading mechanism - extracts parameters - at first.


local inheritance = require("Modulo:Inheritance");
local Item = require("Modulo:Mooc/Data/Item");
local Unit = require("Modulo:Mooc/Data/Unit");

local Lesson = inheritance.extend(Unit);
Lesson.TYPE = Item.Type("lesson");

return Lesson;