Creating a standard website in Zope requires use of either the standard_html_header and standard_html_footer. Or, you can embed the html in your documents or methods. From a usibility standpoint both practices are somewhat difficult to maintain.
The solution to this problem would be to have the ability to wrap Zope objects with a template. There is a product that gives you this functionality called zopefish. However, it is a product and not part of the standard Zope install.
Let me elaborate on this template idea. You usually have four types of contibutors to building a website. A Designer who only works with graphics and html. A writer who writes good content but doesn't get all the other "stuff". The programmer who makes the website perform some sort of funtionality. And last, the all-knowing webmaster/sysadmin who can do pretty much everything.
So lets be the designer for a bit. He or she lives in html and graphics. Has little to do with programming logic and wants the entire site to look a certain way. He or she doesn't design from a header and footer standpoint and messign up his html with dtml makes the designer angry. With a templating mechanism the designer only designs the site with a simple dtml-var body tag where the content will go. He chenges one object and the entire site gets the change. Everything else the other contributers do, flows through the template and takes on the look the designer intended. Everyone is happy.
Now lets take on the role of the the writer. We log into the site and have the ability to create pages, edit pages, do a little html if they would like. Most of all, write great content. The writer doesn't get design or programming and just wants to get his ideas on the web. He or she is able to write very little, if any dtml and everything that is written flows through the template created by the designer and automatically takes on the look the designer intended. Everyone is happy once again.
Stepping into the shoes of the programmer. He has this idea for a section of the site where it lets readers subscribe to the weekly e-news letter. So he creates a little program in Zope that does everything to let someone sign up. Since there is the templating mechanism everything he writes takes on the look of the template. It is simple, he never worries about how to integrate it into the current site. It all flows through the template and takes on the look the designer intended. Everyone is happy.
Last we have the sysop who controls who, when and where all of these things take place. We can do everything all of the other contributers can and more. We have the power to delete, edit, or censor.
The greatest part of this mechanism is that all products created by anyone are easily customizable. No product is tied into a particular interface. It is flexible and extendable. Changes are easily made, changes are global. As an extendable content management system Zope needs this type of functionality.