HTMLDocument

Current release:

Historic releases:

Bug reports:
maik (dot) jablonski (at) gmail (dot) com

HTML Document - use the ZMI as CMS

[ Screenshot ]

The Zope Management Interface (ZMI) is a very powerful Content-Management-System, believe it or not. Compared with other CMS-solutions, the ZMI is rock-stable, easy to use and very fast! I love it!

But something is missing: A simple HTML Document which allows editing HTML-content without any background in DTML or ZPT, so you can click on "View" and see the HTML-content rendered in your page-layout. Additionally HTML Document supports WYSIWYG-editing with Epoz out of the box, which is one of the most lacking features for average users to edit content.

HTML Document takes the body of the stored HTML-content and renders it automagically with a template, so you'll can define your page-layout in DTML / ZPT and publish your HTML-content with these templates, without mixing any template-code into your content.

Usually HTML Document tries to acquire the famous standard_html_header & standard_html_footer and renders its own content in between. If a single template (DTML or ZPT) called standard_html_template can be acquired, HTML Document uses this template to render its content. A simple standard_html_template written in ZPT looks like the following:

  <html>
   <head><title tal:content="here/title">The title</title></head>
   <body>
    <h1 tal:content="here/title">Title</title>
    <span tal:replace="structure here">Content of HTML Document</span>
    <hr />
   </body>
  </html>

The same standard_html_template written in DTML would like like:

  <html>
   <head><title><dtml-var title></title></head>
   <body>
    <h1><dtml-var title></h1>
    <dtml-var "_.this()">
    <hr />
   </body>
  </html>

If you want to get the "html as it is" stored in the HTML Document (without rendering the header / footer or standard_template), add an acquireable boolean property with name=htmlasis and set it on. Then HTML Documents will deliver the content as it is with all html-headers.

If you create a HTML Document, a standard text is used as initial content. If you want to overwrite this standard text, simply create a HTML Document in the root of your Zope with id=standard_html_document and enter your default content into it. From now on all newly added HTML Documents will use this content.

Please note: HTML Document changes the PUT_Factory, so all HTML-content uploaded via FTP / Webdav is stored as a HTML Document and not as a DTML Document. This should be useful in most cases...

HTML Document was designed to be as stable as possible regarding Zope-upgrades (I use it for several years now). As long as Zope 2 supports the DTML Document (which is the parent class for HTML Document), HTML Document should work in Zope without any problems. I'll promise...:)

Please send questions or problems regarding HTML Document to: maik.jablonski@uni-bielefeld.de

 

CHANGES

HTMLDocument - Changes

Version 1.0.3 (2005/06/25)

- added a getBody-method for extracting the body by scripts or templates
on your demand.


Version 1.0.2 (2005/02/28)

- moved security-declarations for document_src and PrincipiaSearchSource
to 'View'-permission.


Version 1.0.1 (2005/01/23)

- fixed bug: HTMLDocument did show only a rendered page when a user
without a manager-role tried to edit a HTMLDocument in ZMI. Added
missing security-stuff and a new permission ("Change HTML Documents").

- whitespace-cleanup


Version 1.0

- released to the public