I am developing a web content publishing tool which is based upon the following principles and goals:
- It is important to be able to give clients the ability to update portions of their web sites. Most web sites do not require the sophistication and cost of full-blown content management solutions.
- It should be easy to add content management to an existing web site, even if it uses dynamic elements: must work with Velocity, PHP, etc.
- The system should utilize revision control, so changes may be easily reversed on a page-by-page basis, or site-wide.
- Revision control should be a standard package, not some new home-built systen.
- Web servers are optimized for serving static content; the content management system should therefore allow the modification of static content (HTML pages, templates) in order to yield high performance.
- Wherever possible, the system should be able of isolating users from the HTML.
- The system should scale to be usable on reasonably large sites.
- Actual use of the content management system is very low compared to use of the site that it maintains (therefore a CGI implementation is acceptable).
- The system should be able to work even if the target web site is in an environment that precludes running code on that server (although it does require some server to run on, and needs the remote server to be available for updates via ftp or equivalent).
I invite any comments or feedback on these ideas.