Jump to content

Module:Mooc/Data/Lesson

From Wikiversity

Lesson

[edit source]

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("Module:Inheritance");
local Item = require("Module:Mooc/Data/Item");
local Unit = require("Module:Mooc/Data/Unit");

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

return Lesson;