Simple fs-based CMS for the Kupu website ======================================== Now that the OSCOM website is dead (not sure about the future currently) I decided that we need a new website, and we need it fast. Since our users are techies by definition, I figured it would make sense to do something filesystem based instead of TTW (although a TTW interface may be added later if desired). Subversion ---------- For my own website I experimented a bit with the Subversion revision control system, and found out that it was a great tool to abuse for version control and staging of a web site. The contents of the web site are stored in an SVN repository, and an SVN hook (post-commit) can take care of updating the live website. Versioning features are integrated into Subversion, and the fact that one can edit locally and only check in changes when they seem okay gives (in our situation) enough room to do quick checks, etc. Note that this 'staging' is relatively primitive, there is no workflow where different people can review stuff before it's set live (although obviously a scheme with an automatically updated repository as staging server, and a live server that is controlled by a privileged user, shouldn't be hard to set up), but for our situation, where all authors are techies that don't want/need those formalities, this suffices. Basis ----- The site will run on top of an Apache 2.x server with mod_python installed and enabled. Some special mod_python handlers will be written to serve the content: a simple handler to merge HTML snippets with layout, and some scripts to serve special content from subdirectories (see below). Templates --------- For templating a simple templating system is used (currently Templess, something I wrote myself, but if desired it should be easy to change), which is used to merge HTML content snippets with templates and dynamic elements. Clients point their browser to a snippet, the system takes care of 'surrounding' that snippet with navigation, layout and design. This makes that the snippets can easily be edited using plain text or HTML editors of the user's choice. On my own website I experimented with using ReStructured Text (ReST) instead of HTML snippets to provide the content, this should also be an option to examine for the Kupu website. Special functionality --------------------- The Kupu website is relatively simple: it provides some documentation and other text, some screenshots and download pages. The screenshots and download pages can be automated, basically lists of resp. images and links to tarballs should be generated from content in directories, but even that should be relatively easy. Both 'applications' will get a subdirectory with special mod_python handlers that will take care of generating the lists and adding layout/navigation.