Content Management System block

Jump to: navigation, search

Note: You are currently viewing documentation for Moodle 2.0. Up-to-date documentation for the latest stable version is available here: Content Management System block.

Content Management System (CMS) course format allows you to manage your website from within Moodle. Webpages can be edited within Moodle and organized into hierarchies and menus. They can be made accessible via menu blocks. It was originally developed for Moodle 1.5 .

Download at


The CMS course block format has changed significantly in the version tagged as HEAD in contrib. This version is compatible with 1.9 stable.

Caution: When upgrading from a previous version of CMS block, there are several code changes that will break upgrades. The previous version managed upgrades to the MySQL database differently. To prepare your site for upgrade, you MUST use the following SQL command before running the upgrade scripts in

INSERT INTO mdl_config(name, value) VALUES ('format_cms_version', '2008020402')


Installation of the CMS course format is mostly automatic

  • Copy the three folders blocks, cms, lang into your moodle directory.
  • Folders with the names blocks and lang should already exist there, copying the new folders will only add files to the existing folders.

If you are using a version prior to the one in HEAD of contrib CVS (not reccomended) then you need to perform this extra step

  • Visit your cms admin page which will install the plugin.

If your installation is at for example then you have to point your browser at

That's it. You can now add the cmsnavigation blocks to your courses and set them up by clicking on the edit icon on the block's header. The first thing you will want to do is set up menus and add pages.


  1. [[TOC]] prints a Table of Contents, i.e., the list of all child pages of the current page.
  2. [[INCLUDE url]] includes the page with URL url at this location in the current page.
  3. [[SCRIPT url]] is like [[INCLUDE url]] except that relative links in the included page are interpreted relative to the current page, not the included page.
  4. [[PAGE pagename]] includes the contents of another page in the CMS at the current location. This is useful if one has several pages which share common material.
  5. {#section<sectionnumber>} support section module links within cms pages. If section already contained module links they should appear at the place you chose. You should also see dropdown menus which allows you to add more links into this section ( which you must use if there isn't any data available in that section ). You can add one or more section within one page or spread other sections to other pages.

See Also