Albatross 1.32 released

A

Andrew McNamara

OVERVIEW

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 4500 lines of Python (according to pycount) 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 as CGI, FastCGI, mod_python or
a pure python HTTP server by changing less than 10 lines of code.

The toolkit application functionality is defined by a collection of
fine grained mixin classes. Nine different application types and six
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,
FastCGI, mod_python, or BaseHTTPServer Request class. It should be
possible to develop a Request class for Medusa or Twisted to allow
applications to be deployed on those platforms with minimal changes.

Albatross comes with over 170 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/

The Albatross mailing list subscription and archives:

http://object-craft.com.au/cgi-bin/mailman/listinfo/albatross-users

BUGFIXES SINCE 1.30:

* To obtain a reference to the current frame, _caller_globals was raising
and catching an exception, then extracting the tb_frame member of
sys.exc_traceback. sys.exc_traceback was deprecated in python 1.5
as it is not thread-safe. It now appears to be unreliable in 2.4,
so _caller_globals has been changed to use sys._getframe().

* If ctx.set_page() was called from within the start page, then the wrong
page methods (page_enter, page_display, etc) would be called (those
of the initial page, rather than the page requested via set_page).

* Fixes to handling of missing RandomPage page modules.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Similar Threads


Members online

No members online now.

Forum statistics

Threads
473,744
Messages
2,569,484
Members
44,903
Latest member
orderPeak8CBDGummies

Latest Threads

Top