Web templating/db tool with best designer/coder separation?

Dave Cole djc at object-craft.com.au
Sun Jun 23 05:31:42 EDT 2002


>>>>> "Tim" == Tim Churches <tchur at optushome.com.au> writes:

Tim> Bengt Richter wrote:
>>  E.g., if you were hoping for an improvement over current practice,
>> which do you consider to be the tool(s) to beat, and what would the
>> killer improvement(s) be? TIA.

If there was a clear definition of what was required in this area I
suspect that there would be less attempts at building toolkits.

Albatross is a design that evolved from my experience in building a
collection of small but data rich intranet applications.  I discovered
that I was doing the same things over and over.  It does not show from
the release history of Albatross, but the toolkit was several years in
the making.

Tim> Albatross by Object Craft (see http://www.object-craft.com.au )
Tim> does an excellent job of separating the presentation layer from
Tim> the underlying logic - my understanding is that such separation
Tim> was one of its main design goals. However, it does not take a
Tim> pedantic position on this - it still allows Python code to be
Tim> embedded in HTML templates - such practice is discouraged, but
Tim> Albatross provides mechanisms to allow you to do it if you
Tim> insist. But more usefully, Albatross provides tags which allow
Tim> conditional processing (if-elif-else) and most usefully,
Tim> iteration, to be placed in the HTML template. So your Python
Tim> business logic code can assemble a Python sequence of, say,
Tim> database query results, but it is the HTML template which
Tim> iterates through that list to create the final HTML which is sent
Tim> to the user's browser. Such a feature is essential, because
Tim> otherwise the business logic Python code ends up needing to
Tim> creating HTML output itself, which is then merely substituted
Tim> into the HTMl template. Thus, the Albatross model is really more
Tim> like: "all HTML-related stuff, including conditional processing
Tim> and iteration, is looked after in the HTML templates, and all
Tim> business logic stuff, divorced from the manner in which it will
Tim> be presented, is handled by Python modules." Of course, this is
Tim> just the well-known model-view-controller approach, but Albatross
Tim> implements this very nicely, IMO.  See
Tim> http://www.object-craft.com.au/projects/albatross/albatross/fig-presimpexec.html
Tim> for more information about this (and to get an idea of the depth
Tim> of the Albatross documentation).

I think the biggest area which requires improvement in Albatross is
still the documentation.

Tim> I suspect that the Object Craft guys would welcome help with
Tim> further development of Albatross. What the world really needs are
Tim> more Pythonic Web applications, rather than more Pythonic Web
Tim> application frameworks.

People who have tried Albatross could really help us by writing
beginner level instructions and by pointing out where the existing
documentation is misleading.  We are all too close to the code to see
clearly.

- Dave

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



More information about the Python-list mailing list