Using Content Management to Assemble Static Content as well as Dynamic Content
Posted: Thu Sep 20, 2007 11:21 pm
My experience with content management systems goes back to the late 1990's with the Vignette Content Management (nee StoryServer) product. In working with that system and reflecting on 30 years or so computer programming experience ("objects--like my head--may appear larger that they really are," let's just say I made it around the block at least once), I came to the conclusion that there really should be two modes of operation for a content management system:
The point of all this is to advocate for a way to not just cache dynamically created pages, but to actually generate most, if not all, static content (and even templates) for a site when requested from within the content management system.
Some examples of where this may be useful:
Well, that is a lot of rambling, but you get the idea. Of course, it is a reasonable question as to whether a system like that can still be "made simple."
- The traditional mechanism used in CMSMS, the original StoryServer, and most, if not all, content management or other web publishing systems.
- The methods used in source code management and build systems.
The point of all this is to advocate for a way to not just cache dynamically created pages, but to actually generate most, if not all, static content (and even templates) for a site when requested from within the content management system.
Some examples of where this may be useful:
- CSS--especially if you want to maintain style sheets for multiple media types. You can do some dynamic assembly using CSS mechanisms but it would generally be better to produce simple CSS files after assembling them from single instances of common rules as well as those specific to a media type with the results written to simple flat files.
- Internationalization--if you have many otherwise "static" pages that are dynamically assembled from some "localized" string repository (e.g. message catalogs) using templates, it is far more efficient to generate the "static" pages during a "build" or "publish" operation than on each request for a particular page. (Of course, it seems to me that good internationalization is dependent on at least semi-localized templates and CSS in addition to message catalogs. Then again, I am a very parochial American who is trying to talk outside baseball...)
- The current performance of the Menu Manager module would not really be as much of an issue if Iyou could generate your "static" pages and dynamic page templates before they "go live." Of course, this isn't that much help if you cannot handle all "dynamic" menu behavior in Javascript...
Well, that is a lot of rambling, but you get the idea. Of course, it is a reasonable question as to whether a system like that can still be "made simple."