Albatross 0.06 released
djc at object-craft.com.au
Fri Mar 15 12:27:16 CET 2002
Albatross is a small toolkit for developing highly stateful web
The toolkit has been designed to take a lot of the pain out of
constructing intranet applications although you can also use Albatross
for deploying publicly accessed web applications.
In slightly more than 3000 lines of Python you get the following:
- An extensible HTML templating system similar to DTML including tags
- Conditional processing.
- Macro definition and expansion.
- Sequence iteration and pagination.
- Tree browsing.
- Lookup tables to translate Python values to arbitrary template
- Application classes which offer the following features:
- Optional server side or browser side sessions.
- The ability to place Python code for each page in a dynamically
loaded module, or to place all page processing code in a single
- The ability to deploy applications either as CGI or via mod_python
by changing less than 10 lines of code.
The toolkit application functionality is defined by a collection of
fine grained mixin classes. Eight different application types and
four different execution contexts are prepackaged, you are able to
define your own drop in replacements for any of the mixins to alter
any aspect of the toolkit semantics.
Application deployment is controlled by your choice of either cgi or
mod_python Request class. It should be possible to develop a Request
class for FastCGI or Medusa to allow applications to be deployed on
those platforms with minimal changes.
Albatross comes with over 130 pages of documentation. HTML, PDF and
PostScript formatted documentation is available from the toolkit
The toolkit homepage:
Important changes since last release:
* The template parser has been enhanced to handle attribute values
enclosed with either single or double quotes. The enclosing quote
character can be used in the attribute string if it is escaped by a
backslash ('\'). Attribute values can be broken over multiple
* All pickles sent to browser are now MD5 signed to detect and prevent
modification. New pickle security techniques can be defined by
defining a replacement for the PickleSignMixin class.
* The new RandomPageModuleMixin class now allows you to build
applications which use the request URL to determine which page
module will be used to process the browser request.
* A set of classes for implementing file based server side sessions
has been added.
* The simple session server can now be run as a daemon under Unix.
* Program mainline for mod_python deployment has been simplified. You
now hook into mod_python like this:
instead of this:
from mod_python import apache
* New redirect() execution context method for doing browser
* Session saving can be disabled via the new set_save_session()
* The samples have been completely reorganised and documentation updated
to make them less confusing. An installation program has been
provided to reduce the pain of running the samples.
* Many documentation improvements.
More information about the Python-list