I’m using CityDesk software from FogCreek to maintain this site. It’s a simple but powerful content management system for small to medium sized sites. I was one of the beta testers for the software and have found that it does almost everything I want.
A couple of problems I’ve found are:
- CityDesk uses the Microsoft DHTML edit control for editing articles (CityDesk’s terminology). Unfortunately, the editor will make mistakes in the HTML code created. Most significantly, it will remove quotes from attributes (e.g.,
height=60) and it will change tags to upper-case (e.g.,
<P>Hello, world!</P>. Both of these problems prevent support for XHTML.
- CityDesk stores all of the web site files in a single data file (*.cty, MS Access database format). For the Pictures portion of my site, I’m a little leary of putting so many large files into this database. I haven’t had any problems with it, so maybe it’s just a conceptual roadblock I have. It’s not a big problem; I just include the Pictures index file in CityDesk and manage the remaining files externally.
To be fair, I should also mention some of the things that CityDesk is really good at:
- Because it uses a template system, you can easily change the look and feel of your site and republish. It does a good job of separating your data (basically, the articles) from the presentation (the templates).
- There is also good support for weblogs or writing articles with headlines, teasers, sidebars, etc.
- A built-in scripting language works with the templates to help create dynamically-generated websites.
- The resulting output from CityDesk is a series of static HTML pages, suitable for posting to any web host. You do not need a script-enabled web host or control of the host yourself. In one sense, using CityDesk gives you the best of both worlds: a dynamically-generated site that simplifies maintenance and statically-served web pages that make visitors happy.
With the current limitations of CityDesk, I’ve chosen to use HTML 4.0 Strict mode in conjunction with CSS. This provides a good level of separation between content and presentation. Ultimately, I’d like to be able to make the whole site XHTML compliant.
In addition to making the site easier to update visually, using CSS allows the site to degrade gracefully for older browsers that don’t fully support it. This also holds true for accessing the site from mobile devices, such as a Palm handheld.
At some point I hope to publish a more extensive list of resources. In the meantime, here are a couple of quickies.