Z Object Publishing Environment

Search | Download | Documentation | Resources | Members




Join Zope.org
Log in

Developer Home
Get Involved!
The Fishbowl

 Zope Exits

Zope Newbies

page served by app2

Proposals Table of Contents Last edited on Jan 20, 2001 5:57 pm

DocumentsAndTemplates Proposal

Note - this document is still a work in progress. Please do not make inline comments in the proposal - use the DocumentsAndTemplatesDiscussion to make comments.


Amos Latteier (amos@digicool.com) Note: I don't have time to manage this project, just time to suggest it ;-) A champion for this project will need to be found before it can move forward.


Zope lacks a concept of document and template. It only has DTML Documents and DTML Templates which are almost indistinguishable and don't support the idea of seperation of content and presentation. It should be clear to newbies how to create web pages and how to change their look and feel. Zope should get this central and important task right. Also right now web pages are incredibly inflexible -

  • there is no easy way to change a document's template

  • there is no concept of document format (e.g. structuredText)

  • you can't query a document's structure,

  • there is no standard document meta-data

  • no concept of filters,

  • no easy way to make documents that don't use DTML

  • no built-in caching

  • no built-in HTTP header management, etc.

Proposed Solution

I propose that Zope differentiate between documents and templates. Documents should contain content, and templates should render documents. Hopefully this distinction will allow a much clearer and more flexible way of building web pages in Zope.

Risk Factors

Here are some possible problems.
  • If we do away with DTMLDocumentx and DTMLMethodx it will be hard to update old Zopes.

  • We could end up making things too complex. Right now you just have to edit one object to create a web page.

  • Performance could be bad if we allow too complex and multi- layered of a document rendering process. Hopefully caching could help this.


This project should not solve all the associated problems. Right now there are already projects to handle STXNG, caching, page filters, and more. The main thing that this project needs to handle are:

  • Usuability issues. How can we make creating and editing web pages comprehensible and poweful.

  • Architectural issues. How can we insure that web pages are flexible, powerful and high performance enough.


I see two phases.
  1. Figure out what we want in terms of features and usuability.

  2. Develop software to meet those needs.

For the first phase I think we need
  • A list of use cases

  • A list of requirements

  • A list of what's wrong with the current system

For the second phase we need
  • An architecture for page rendering

  • An API for documents and templates

  • An implementation of documents and possibly templates (it may be that DTMLMethodx is an acceptable template object)

  • Updated online help docs, updated tutorial, updated book material to cover the new objects and new system for building pages.

  • If we do away with DTMLDocumentsx we need some migration path. Perhaps DTMLDocumentsx are split into a Document and a DTML Method.

View source DocumentsAndTemplates
Advanced Actions / History
Visitor: Anonymous User
Jump to:
... by pagename prefix or search term.
For a plain search:
Privacy policy       Printable Page       Feedback about Zope.org