Web Content Management System
This site, as well as PTTW are managed by a suite of Python classes I call the WCMS. This system has gotten more complex than my meager project management skills allowed for, so I’ve spent most of my time adding commentary and documenting the code.
I found that changing the design of my content was difficult because I had to update the design on every page on my site, and that is a major pain. I wanted an easier way and learning about XML led me along this path. I now write all of my pages using XML and let Python parsers translate the file into HTML where I can design it using CSS and redesigns are much easier now.
Overview
To use WCMS I set aside one folder that contains everything about the web site. This folder needs to have a text file named ‹cms.ini,' a folder where your XML will be input from, a folder to output the HTML, and a folder to store various parsers. I also keep a drag and drop applet created in Python called PageUpdater and an applet called SiteUpdater . I also find that a drag and drop applet called xmlform is helpful in checking that my XML source is good.
WCMS uses two basic classes: The WebContentManager class and the WCMSBaseParser class. Everything is based off of these two clases. The WebContentManager provides basic tools for processing everying in the project folder, and WCMSBaseParser provides basic tools for processing the individual files.
These pages discuss each aspect of WCMS:
To show how easy it is to build off of these tools, I’ve written a page describing 10 minutes of work that allowed me to get a list of every XML tag I use in the source code of my web site. Take a look at my TagLister tutorial .