Web ontent management is a challenge that any company with a website consciously deals with. We can divide the physical management of content into four levels.
Level 1 content management: static files
The most basic strategy is to compose static HTML files and transfer these to a webserver capable of serving such files to clients connceting to the website. It is possible to apply stiles to the pages, for example with the help of cascading style sheets (CSS).
Level 2 content management: templates
The next level of content management is if you want to reuse the design of your website by dynamically including content into a frame of finished design, or a template. The content is typically contained in some text file the dynamc page engine can read. Examples of technology capable of this are Server-Side Includes (SSI), CGI, PHP, ASP and JSP. HTML also has a command called “frames” although professional web designers and developers frown upon the use of this deprecated function.
Level 3 content management: dynamic content
The next level of complexity arrives as we want to add even more re-use to the templates, having a template dynamically selecting content source based on a dynamic parameter. This is not possible with SSI as you have to provide each seperate content page with its own physical HTML file [confirm this]. This means two files for any page on your website, one with content, another with design. Many find this to be too cumbersome and end up putting both files inside one, thereby mixing content and design. If a dynamic parameter is possible, one can have the template select and read the content file conditionally, thereby removing the need for its own HTML file.
Level 4 content management: content repository
Now the next step is to remove the content files to replace them with something more scalable. Why does one want to do this? Native files have many disadvantages: they are not versionable, backup-routines require mirrored copies, search is not easy, binary files (like picture and video) can not be wrapped with metadata, there is no fitting access control and the possibilities for collaboration is limited. Instead the content is put inside some kind of repository, most likely a database. Management of the content is thereafter handled by middle-ware which allows the aforementioned lacks of filesystem objects.
A system developer will now see that we have attained the three-level architecture of the Model-View-Control (MVC) pattern. The model consists of the content in the database, the view is provided by our templates and control is implemented in the middle-ware. The MVC is a pattern that offers a healthy seperation of concerns in the CMS.
It is possible to invent further levels of content management, but any complex WCMS will apply some variation of level 4.
Level 1 content management: static files
The most basic strategy is to compose static HTML files and transfer these to a webserver capable of serving such files to clients connceting to the website. It is possible to apply stiles to the pages, for example with the help of cascading style sheets (CSS).
Level 2 content management: templates
The next level of content management is if you want to reuse the design of your website by dynamically including content into a frame of finished design, or a template. The content is typically contained in some text file the dynamc page engine can read. Examples of technology capable of this are Server-Side Includes (SSI), CGI, PHP, ASP and JSP. HTML also has a command called “frames” although professional web designers and developers frown upon the use of this deprecated function.
Level 3 content management: dynamic content
The next level of complexity arrives as we want to add even more re-use to the templates, having a template dynamically selecting content source based on a dynamic parameter. This is not possible with SSI as you have to provide each seperate content page with its own physical HTML file [confirm this]. This means two files for any page on your website, one with content, another with design. Many find this to be too cumbersome and end up putting both files inside one, thereby mixing content and design. If a dynamic parameter is possible, one can have the template select and read the content file conditionally, thereby removing the need for its own HTML file.
Level 4 content management: content repository
Now the next step is to remove the content files to replace them with something more scalable. Why does one want to do this? Native files have many disadvantages: they are not versionable, backup-routines require mirrored copies, search is not easy, binary files (like picture and video) can not be wrapped with metadata, there is no fitting access control and the possibilities for collaboration is limited. Instead the content is put inside some kind of repository, most likely a database. Management of the content is thereafter handled by middle-ware which allows the aforementioned lacks of filesystem objects.
A system developer will now see that we have attained the three-level architecture of the Model-View-Control (MVC) pattern. The model consists of the content in the database, the view is provided by our templates and control is implemented in the middle-ware. The MVC is a pattern that offers a healthy seperation of concerns in the CMS.
It is possible to invent further levels of content management, but any complex WCMS will apply some variation of level 4.
Comments
Post a Comment