[albatross-users] Albatross 0.06 released

Dave Cole djc at object-craft.com.au
Fri Mar 15 22:41:33 EST 2002


Albatross is a small toolkit for developing highly stateful web
applications.

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
  for:
  - Conditional processing.
  - Macro definition and expansion.
  - Sequence iteration and pagination.
  - Tree browsing.
  - Lookup tables to translate Python values to arbitrary template
    text.
- 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
    mainline.
- 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
homepage.

The toolkit homepage:

        http://www.object-craft.com.au/projects/albatross/

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
  lines.

* 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:
  
        def handler(req): 
            return app.run(Request(req)) 

  instead of this:

        from mod_python import apache 
          :
        def handler(req): 
            app.run(Request(req)) 
            return apache.OK 

* New redirect() execution context method for doing browser
  redirection.

* Session saving can be disabled via the new set_save_session()
  method.

* 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.

- Dave

-- 
http://www.object-craft.com.au




More information about the Albatross-users mailing list