Ophelia 0.1

Thomas Lotze <[email protected]> Sun, 23 Jul 2006 00:54:21 +0200
Newsgroups gmane.comp.web.zope.page-templates
Message-ID <[email protected]>
The first release of Ophelia, 0.1, has just been tagged. From README.txt:

=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D

Ophelia creates XHTML pages from templates written in TAL, the Zope Templ=
ate
Attribute Language. It is designed to reduce code repetition to zero.

At present, Ophelia contains a request handler for the Apache2 web server=
.

Static content
--------------

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, excep=
t
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 uniq=
ue
content. It's crucial to Ophelia that this hierarchy reflects in the file
system organization of your documents; how templates are nested is deduce=
d
from their places in the hierarchy of directories.

Dynamic content
---------------

Ophelia makes the Python language available for including dynamic content=
.
Each template file may include a Python script. Python scripts and templa=
tes
contributing to a page share a common set of variables to modify and use.

Ophelia's content model is very simple and works best if each content obj=
ect
you publish is its own view: the page it is represented on. If you get co=
ntent
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 co=
ntent
object as long as an object's views doesn't depend on the object's type o=
r
even the object itself.

Trying to use Ophelia on a more complex site will lead to an ugly entangl=
ement
of logic and presentation. Don't use Ophelia for sites that are actually =
web
interfaces to applications, content management systems and the like.

=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D

To use Ophelia, you need

- Apache2
- Python 2.3 or better
- mod_python 3.1 or better
- the zope package from Zope3

Ophelia is released under the Zope Public License, version 2.1. You can
access the source code repository at

<https://svn.thomas-lotze.de/repos/public/Ophelia/>,

browse it using ViewCVS at

<http://svn.thomas-lotze.de/svn-public/Ophelia/>,

and download the 0.1 release from

<http://svn.thomas-lotze.de/svn-public/Ophelia/tags/Ophelia-0.1.tar.gz>.

Ophelia is currently used to deliver its author's private web site.

--=20
Thomas