[ZPT] ANN: Ophelia 0.2 - Create web sites from TAL templates
thomas at thomas-lotze.de
Sun Feb 4 17:32:09 EST 2007
Ophelia 0.2 was released today.
Ophelia creates XHTML pages from templates written in TAL, the Zope Tag
Attribute Language. It is designed to reduce code repetition to zero. At
present, Ophelia contains a request handler for the Apache2 web server.
Ophelia is released under the Zope Public License, version 2.1.
To use Ophelia 0.2, you need:
- Python 2.4 or better
- mod_python 3.1 or better
- the zope.tal package from Zope3 and anything it depends upon WSGI
support is planned for a future version, possibly 0.3.
The package is available from the Python package index as a source
distribution and as eggs for both Python 2.4 and 2.5:
You can access the source code repository at
<https://svn.thomas-lotze.de/repos/public/Ophelia/>, browse it using
<http://svn.thomas-lotze.de/svn-public/Ophelia/>, or visit Ophelia's web
page, containing a commented live usage example, at
>From the documentation:
What kind of sites is Ophelia good for?
Consider Ophelia as SSI on drugs. It's not fundamentally different, just a
lot friendlier and more capable.
Use Ophelia for sites where you basically write your HTML yourself, except
that you need write the recurring stuff only once. Reducing repetition to
zero comes at a price: your site must follow a pattern for Ophelia to
combine your templates the right way.
Consider your site's layout to be hierarchical: there's a common look to
all your pages, sections have certain characteristics, and each page has
unique content. It's crucial to Ophelia that this hierarchy reflect in the
file system organization of your documents; how templates combine is
deduced from their places in the hierarchy of directories.
Ophelia makes the Python language available for including dynamic content.
Each template file may include a Python script. Python scripts and
templates contributing to a page share a common set of variables to modify
Ophelia's content model is very simple and works best if each content
object you publish is its own view: the page it is represented on. If you
get content from external resources anyway (e.g. a database or a version
control repository), it's still OK to use Ophelia even with multiple views
per content object as long as an object's views don't depend on the
object's type or even the object itself.
Trying to use Ophelia on a more complex site will lead to an ugly
entanglement of logic and presentation. Don't use Ophelia for sites that
are actually web interfaces to applications, content management systems
and the like.
More information about the ZPT