Adding blocks to lesson

Revision as of 02:17, 22 December 2006 by Mark Nielsen (talk | contribs)

Jump to: navigation, search

The lesson module lends itself well to blocks. It already has a three column format same as a course format. Also, via the lesson settings, one can add a left menu, a timer or a link to a media file. All of these are displayed in the left or the right column, but are static.

In order to add greater flexibility to the lesson display and to reduce the number of settings in the lesson settings, which are numerous, block functionality should be added to lesson.

Lesson blocks

Lesson features that would be extracted from lesson and placed into blocks would be the following:

  • Left menu (block name lesson_menu)
  • Media file (block name lesson_media_file)
  • Timer (block name lesson_clock)

The settings for these would be removed from the lesson's settings and be handled by the block configuration. Also these features could be easily expanded. For example:

  • The lesson_menu could be configurable to include any lesson question page or branch table (often requested).
  • The lesson_media_file could be configurable to display the media file via a pop-up or embedded into the lesson page.
  • The lesson_clock could be configurable to a count down timer or as a clock that reports how long a user has been in a lesson (has been requested).

Other blocks

By adding block functionality to lesson, other blocks become available for adding to a lesson. Some blocks would not make sense in a lesson like the admin block. To handle this, lesson would have a global configuration that can disable blocks from being added to a lesson. This will help to reduce confusion for lesson authors.

Sticky blocks

Sticky blocks could be used to force a block to appear on every lesson page. Then non-sticky blocks would only appear on the page to which it was added. This would allow one to add a sticky block like lesson_menu to all pages and then on a specific page add an HTML block with specific content for that page.

The possibility of using sticky blocks is still fuzzy. It could prove to be difficult to design an interface that works well with the current block API.


Adding blocks seems to suit lesson well. By doing so, lesson gains a the following:

  • A more flexible layout.
  • A new powerful tool: blocks. Users can create their own blocks to plug into lesson.
  • The lesson settings will be reduced.


Mark Nielsen 20:12, 21 December 2006 (CST)