LayoutBlocksModulesTheme1

Trying to differentiate these various things

Created by: Meredith Lesly, Last modification: 03 Mar 2005 (19:07 UTC)
From my limited knowledge, a CMS has:

Modules

These provide functionality, such as forums, blogs, image galleries, and generate content.

Site/Area structure

General layout of the site (or portions of the site). For example (stealing from ThemeStructureIdea2):
  • Portal - 3 column layout
  • Classic - 2 column (I presume that means menu and main content
This creates the main areas on the pages, without any connection to modules, content, or appearance.

Blocks

These are boxes within a column, with their content populated by a module

Skins

These control the appearance of the content.

Content

The contents of the page.

They all use CSS to enable the layout and/or appearance of the page, but the stylesheets and classes that are necessary for each should be kept separate. Most of the stylesheets come with the system, so that the user can:
  • select "Portal" and magically have a 3 column layout to populate with blocks.
  • use a provided interface to populate the columns with boxes
  • use a provided interface link a box with a module
  • use a provided interface to choose a skin
  • possibly use a provided interface to override portions of the skin.

AFAIK, that's the general concept behind content management systems: making sure that an end user doesn't have to do any grotty stuff (while allowing him or her to do so, of course).

There are some (I hope) obvious implications of thinking of things this way, such as a system of stylesheets/style classes, rather than lumping everything into one or two stylesheets.

I'm not sure where the current system of "Themes" fits in to any of this, btw.