Data-Drive Sites with Midgard
By Brian Jepson
Do you remember those rash promises made by vendors of Web database application tools? Were you told, "Because your Web site is dynamic, you'll have complete separation of content and presentation," or "You can have a designer work on the HTML, and a programmer will work on the core application logic"?
More promises were made and broken, but let's look exclusively at these two, because they are repeated most often. The reason these promises fall flat is that they assume that the database incorporates not only content, but also application logic. While this is theoretically possible with database servers that support stored procedures, few products today offer the ability to write stored procedures that create output in any way that is helpful for someone who wants to focus on design. But many would argue that stored procedures are best used for database maintenance, encapsulation of multitable updates, triggers, and other activities that are decidedly not related to the front-end user interface.
No matter how our industry tries to streamline the process, our designers and programmers still edit the same piece of code (often without version control). Middleware application servers such as Domino and ColdFusion initially appeared to solve this problem. Recently, some Open Source software has emerged that also tries to separate content from presentation. Of these, Zope (www.zope.org) and Midgard (www.midgard-project.o