Note:

If you want to create a new page for developers, you should create it on the Moodle Developer Resource site.

Adding blocks to lesson

From MoodleDocs
Revision as of 13:00, 27 May 2007 by chris collman (talk | contribs) (→‎How to add blocks: how to get icon on Preview?)

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, are static and are block like. In order to add greater flexibility to the lesson and to reduce the number of lesson settings, which are numerous, then 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 features would be removed from lesson and would be handled by the block configuration interface. Also these features, as blocks, could be more easily expanded. For example:

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

Other blocks

Moodle1.9

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

Added in Moodle 1.9. Please note that the global configuration to disable blocks was not implemented.

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 specific lesson pages. This would allow one to add a sticky block like lesson_menu to all pages and add another block like the HTML block that would only appear on a single 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. If a clean implementation of sticky blocks cannot be found, then all blocks would behave like sticky blocks. Meaning, all pages would have the same blocks.


After exploring the code, I found that currently the page API does not support this idea. - Mark Nielsen 18:14, 24 March 2007 (CDT)

How to add blocks

To add blocks to lesson, just go to the "Preview" tab and turn block editing on by clicking on the "Blocks editing on" button in the upper right hand corner. The only quirk is if you answer a question and are on the feedback screen and then push the "Blocks editing on/off" button, you go back to the question that you just answered.

Before you can add blocks, be sure that "Show blocks on module pages" is turned on in the administrative settings area. Hint: search for showblocksonmodpages

Forum thread by Mark Nielson, developer

Need a more user friendly way to find showblocksonmodpages. No icon on preview page --Chris collman 08:00, 27 May 2007 (CDT)

Conclusion

Blocks seem to suit lesson well. Here are a few key points:

  • Lesson would have a more customizable layout.
  • Lesson can take advantage of an existing Moodle feature.
  • Moodle users can create their own blocks to plug into lesson.
  • The number of lesson settings can be reduced.
  • More functionality can be added to existing lesson features.
  • Reduce lesson's code base.

Author

Mark Nielsen