Features - Introduction

From the textual content to the web page

Tabular data

ICM stores the textual content into tabular data.


The content must be retrieved through queries, which are best known as channels.

Consider for example a table containing news. Some news are marked (through a table column) as "headline" or as "archive". In the front page of your web site you want to visualize the current news, so you can create a channel "headlines" that extract just the "current" news from the table. For the archived news you build a dedicated web site and a dedicated channel "archivednews".


Pages display the content of one or more channels. For example the home page of your site may contain headlines as long as an overview list of your products.
This is achieved by assigning channels to a page, i.e. in this case by assigning the "headlines" and a "products" channel to the home page.

How pages are rendered

Once you have assigned channels to a page, you have to assign a template to it. This is because to render a page, ICM performs the following steps (considering that a page has been requested):

  1. Extracts the channels data for every channel associated to the page. (I.e. executes the queries to get the data).
  2. Builds an XML representation of the page content. This XML file contains everything ICM knows about the page, from its content to its metadata (path, name, lasto modification date and so on).
  3. Using the XML and a page template, a template engine is asked to render the web page. ICM currently supports XLST, PHP and (upcoming) JSP and a custom template engine.

How pages are put online

Pages may be put online with one of the following patterns:

The pages are requested directly to ICM that generates and delivers them on the fly.
The pages are generated by ICM and sent per FTP, WebDAV, or other protocols to a remote web server.

SourceForge.net Logo