[PEAK] peak.web in October
Phillip J. Eby
pje at telecommunity.com
Tue Oct 5 11:12:34 EDT 2004
As some of you may have noticed from last week's flurry of checkins, I'm
finally doing the peak.web refactoring I've been talking about off and on
for the last several months. At this point, the plan is to complete at
least these peak.web "Tier 1" features this month:
* Overhauled traversal system to be fast, flexible, and extensible (DONE)
* Add a "views" subsystem that allows you to declare how traversals will
be interpreted for arbitrary objects in arbitrary subparts of a site,
without creating a decorator class (DONE)
* Overhaul PWT to use the new this:/content: attribute mechanism
(Started; the needed XML parser is in a draft status)
* Design and implement an XML dialect for site configuration, similar in
functionality to Zope 3's ZCML, but with the capability of structuring a
site or application's URL layout and "local" as well as "global"
configuration. (Not started, but will use the same draft XML parser)
* Create view registration mechanisms for both .ini files and .xml files
* Implementation that can be plugged into any WSGI (PEP 333) compatible
web server
* All of PEAK's internal web gateways (CGI, FastCGI, and local_server)
will offer a WSGI interface for running other applications
* PEAK will be distributed with a WSGI reference library
* Miscellaneous cleanups and minor features, such as adding the ability
to set a rule for extracting a skin name from a request.
When the above items are completed, we will finally have a peak.web worthy
of the 0.5a4 version number. ;) Specifically, it will be well-suited to
creating simple applications whose contents have uniform security
requirements for all visitors (i.e. no logins required) and no complex
behavior (like form processing or workflow). It will be especially useful
for creating static sites from a data repository of some type, which is
good because the first three applications I intend to create all fit that
profile: a blogging tool, a Python documentation tool, and a bookmark
indexer that creates Yahoo-like or DMoz-like web pages.
Of course, it will be *possible* to create more sophisticated apps, but
until the Tier 2 features (authentication, forms, layout, widgets) and Tier
3 features (sessions, i18n, preferences, pagelets) start showing up, it
won't be nearly as easy. And, at this point I'm not making any projections
or commitments with respect to tiers 2 and 3, because I don't have an
immediate need for them in my current non-position. :)
Anyway, once the peak.web features are complete, I'll probably be busy for
a while with the three apps I mentioned. The documentation tool at least
will probably be added to PEAK itself, and used to help document PEAK. The
other two apps may get added to the examples directory.
At present, the main open issue in Tier 1 is the design of the site
configuration language. I'd like to align it with ZCML in terms of
expressiveness and features, but there are features I want that ZCML didn't
have the last time I looked. So, I'm going to have to read up on that a
bit. I'm probably also going to post a rambling requirements-and-design
document here soon, to work out the details.
More information about the PEAK
mailing list