473,385 Members | 1,813 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,385 software developers and data experts.

Albatross 1.35 released

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 180 pages of documentation. HTML and PDF
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/m...lbatross-users

CHANGES SINCE 1.33:
==================-

Note that release 1.34 was an internal release.

New Features
------------

* A drop-in replacement for the fcgiapp module, called fcgiappnew has
been added. This version implements the FastCGI protocol itself, rather
than relying on an external module to implement the protocol. This
new module addresses several minor problems with fcgi.py, and should
be faster, although it should not be used in critical applications
until it has received wider testing.

Functional Changes
------------------

* When extension tags (alx-*) are registered, their name is now checked
against the template parsing regexp to ensure they can subsequently
be matched.

Bug Fixes
---------

* The AnyTag functionality was given knowledge of HTML tags for which
the close tag is forbidden, so it can avoid generating XHTML empty tag
(which could cause the page to fail HTML validation).

* When the disabledbool attribute was used on input tags, the disabled
state was not being passed through to the input registry within the
NameRecorderMixin.

* If a client closed it's connection to the session server while the
server had data pending for the client, a subsequent del_write_file
would generate an exception, killing the session server.

--
Andrew McNamara, Senior Developer, Object Craft
http://www.object-craft.com.au/
Jun 20 '06 #1
0 848

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

0
by: Dave Cole | last post by:
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...
0
by: Andrew McNamara | last post by:
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...
0
by: Michael Sparks | last post by:
Kamaelia 0.1.2 has been released! What is it? =========== Kamaelia is a collection of Axon components designed for network protocol experimentation in a single threaded, select based...
0
by: Andrew McNamara | last post by:
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...
0
by: Andrew McNamara | last post by:
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...
22
by: Marc G. Fournier | last post by:
After almost 12 months of intense development, and testing, we are proud to announce the availability of PostgreSQL v7.4. An overview of the major changes in v7.4 include: IN/NOT IN subqueries...
18
by: techie | last post by:
I have a VC++ client that creates a COM object that is implemented in C#. The problem is the COM object doesn't get released, so I get a memory leak. I have no problems creating the COM object...
2
by: VinDotNet | last post by:
Here's the Scenario I am facing: I've got a winform managed c++ client which connects to my managed COM+ server application (by making createinstance, then typecasting the object to an interface,...
4
by: Devrim GUNDUZ | last post by:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi, For RPM users, (S)RPMS for 7.4.4 was just built. We have (S)RPMS for: * Red Hat Linux 9 * Fedora Core 1
0
by: taylorcarr | last post by:
A Canon printer is a smart device known for being advanced, efficient, and reliable. It is designed for home, office, and hybrid workspace use and can also be used for a variety of purposes. However,...
0
by: aa123db | last post by:
Variable and constants Use var or let for variables and const fror constants. Var foo ='bar'; Let foo ='bar';const baz ='bar'; Functions function $name$ ($parameters$) { } ...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.