1. Introduction
Description: . Introduction
Keywords: albatross

#
1. Introduction

Albatross is a small and flexible toolkit for developing highly stateful web applications. The toolkit is lightweight enough to use for CGI applications. It provides the following:

- Browser based sessions via automatically generated hidden form fields.

- Server side sessions via a session server or file based session store.

- Implicit form population and browser request handling.

- Powerful and extensible templating system which promotes separation of presentation and implementation for improved program maintainability.

  Pagination of sequences and tree browsing are handled implicitly in the templating system.

  Macros allow repeated HTML and special effects HTML to be defined in one location.

  Lookup tables translate internal program values to arbitrary template code.

- Applications can be deployed as either CGI programs or as `mod_python` module with minor changes to program mainline. Custom deployment can be achieved by developing your own `Request` class.

- Highly modular application framework which is flexible and extensible which allows many different application construction models. Many `Application` classes are provided and many more are possible.

- Comprehensive documentation including many installable samples.

A primary design goal of Albatross is that it be small and easy to use and extend. Most of the toolkit is constructed from a collection of mixin classes. You are encouraged to look at the code and to think of new ways to combine the Albatross mixin classes with your own classes.

Object Craft developed Albatross because there was nothing available with the same capabilities which they could use for consulting work. For this reason the toolkit is important to Object Craft and so is actively maintained and developed.