WCV - Web Content Viewer

Info | HTML | PDF | Text
Changelog
  • Revision 15 by kore at Tue, 17 Jul 2007 12:26:04 +0200

    - Spelling

  • Revision 13 by kore at Mon, 16 Jul 2007 14:42:48 +0200

    - Added simple basic design document to describe WCVs structure

Web Content Viewer design document

Content structure

The content management happens outside of the scope of the WCV. It may be managaed using SVN or another VCS. Therefore WCV is not a Content Management System.

WCV uses a directory, referenced in the configuration, and displays the content it contains.

Index handlers

For each directory in the content repository the available index handlers check if they can handle the content with a fallback to the standard directory handler, which just displays the contained files and reissues the indexer check for all sub directories.

An index handler may use custom index files - should normally be prefixed by a ., because this won't interfere with the default directory handler - databases, PHP files or somehting completely different.

File handlers

The default directory handler and perhaps also other handlers may request a file handler for a file to display. The file handler choses the right content and metadata handler for the file.

Meta data handlers

The meta data handlers abstract meta data like authors, modification dates, and content versions. The default file meta data handler just requests the information from the filesystem, but there may be extensions like a svn meta data handler, handlers for other VCSs or content data bases.

Content handler

Each content may be handled by the default binary content handler which gives no additional information on the content, then just the mime type and the binary file content.

This very basic content handler is extended for content types with more available semantic information, like text files representing articles, or RST and XML files with a complete markup. The hirachic extension structure enables the different output decorators to use the maximum information which they have an implementation for.

Output handler

Each output handler should be able to handle binary files with the very basic file system meta data. It may call an internal factory to check for more sophisticated output handlers to make more information available for the user.

Caching

All above described output variants only come in place if no static cached files could be found by the webserver. If the processing of the described rules results in some content which could be cosidered as static, it will be copied to the web root, so that the webserver will handle the next request for this content without calling some application logic processor like PHP.