Roadmap
=======

This document is to outline the defining features of Ophelia releases. It is
not about schedules; Ophelia will be released whenever it is ready.

At any time, bug fixes and features needed for particular web sites will go in
whichever x.y.z releases require them, as well as maintainance releases of any
later x.y releases.

Except for the 0.x series, API backwards compatibility within each major
release series will be given.


0.1
---

The state in which Ophelia is able to host www.thomas-lotze.de for the first
time, whatever the feature set and code quality.

0.2
---

A much cleaned-up version of the 0.1 state, with a feed tool added. This
hadn't been a planned release but there were so many changes while preparing
for WSGI integration that releasing them as 0.2 first seemed like the obvious
thing to do.

0.3
---

This version's goal is to implement a number of standards and best practices,
besides further clean-up and the usual feature creep, of course.

- internal usage of WSGI
- zc.buildout based distribution
- usage of Zope interfaces for API specification
- testing framework including some unit and functional doc tests
- more useful tracebacks for errors in scripts and templates

0.3.1
-----

This minor release was planned when it became clear that not everything that
would have been nice to have in 0.3 could be done in time for EuroPython 2007.
Most of that stuff was postponed until 0.3.2 when 0.3.1 was released to get
some bug fixes and minor features out of the door.

0.3.2
-----

- documentation in the standard Python documentation style
- use of the Zope3 component architecture to separate core and tools better
- buildout recipes to hide the Apache details and get rid of buildout_script

0.4
---

- A document adapter that builds pages from, e.g., JPEG files to display the
  image along with comments and some EXIF and other metadata.

- A ReST adapter that allows the template text to be written in restructured
  text. Will need some infrastructure.

- internal caching of processed information, especially when using docutils

- directory listings

1.0
---

The state in which the wishlist has been implemented completely for the first
time and code and documentation are of satisfactory quality.

The wishlist:

- zero-boilerplate creation of web sites inlcuding
  * hand-written XHTML pages
  * pages generated from JPEG, PNG and PDF files
  * overviews such as photo albums

- flexible, little-overhead navigation infrastructure

- straight-forward form submission infrastructure

- interfaces to:
  * WSGI servers
  * Apache/mod_python
  * Twisted Web
  * CLI-based converter to static files

- cataloging, local search infrastructure (xapian)
