[mod_python] mod_python bake-off?

Graham Dumpleton grahamd at dscpl.com.au
Fri Sep 3 14:22:09 EDT 2004


On 03/09/2004, at 9:57 AM, Jorey Bump wrote:

> Michael C. Neel wrote:
>
>> So what do we want?  So far it is an app that runs under mod_python, 
>> and
>> should require a data store.  If we are going to measure preformance,
>> then the data store needs to be defined; otherwise the guy who uses 
>> dbm
>> files is at a loss to the guy who uses MySQL.  I think preformance is
>> important, and also SQL interaction (after all, how many apps are you
>> working on for customers using dbm files as the main data store?).
>> Now, at the risk of getting the thread off topic and into a flame war,
>> I'm going to say that we should state it uses MySQL and also provide 
>> the
>> database as well.  The app shouldn't need any advanced database
>> features, this wouldn't be showing off the framework anyway.  Also, if
>> this gets some steam, someone might be able to convince sourceforge to
>> host the results of the bake off, and they use MySQL.
>
> But some frameworks provide or use an alternative data store 
> (Karrigell, for one).
>  I know I'd be interested in how well these frameworks trade off 
> performance for
> ease of use.

If you try to host all examples on one site, you end up limiting the 
choices
as to what developers can use in their implementation and make it 
difficult
for them to update things. There may also be issues of one 
implementation
interfering with another if there isn't somehow some proper separation 
between
the applications.

I feel, each developer wanting to provide an example, would need to be 
responsible
for organising their own hosting. There should however be one site 
through which
all the different implementations are linked. By each developer 
providing their
own hosting, they then have the freedom of choice as to what tools they 
use.

Regarding the HTML mock ups, look at CSS Zen Garden 
[http://www.csszengarden.com].
This is a site which is intended to show case how CSS can be used to 
make a site
look quite differently purely based on changes in the CSS. Ie., the 
HTML is the
same in each case. If CSS is going to be preferred over tables (which I 
whole
heartedly agree with), then perhaps the HTML should be id tagged with 
CSS in mind.
A very basic CSS could be supplied for layout and although someone is 
highly
encouraged to provide something which presents the same HTML, they 
could customise
the CSS all they like to give the site their own look and feel. If the 
HTML
guidelines were followed, then developers may even be able to swap CSS 
files.

I might also suggest that where you have the "CSS Zen Garden", we 
should call
the comparison of mod_python tools the "ModPython Snake Pit". I think 
this could
well be appropriate as their is very likely to be very little harmony 
and an
awful lot of competition and disagreements in the way of doing things. 
:-)

Now as to an example, maybe the provider of an example should first be 
required
to provide an implementation that follows a prebuilt HTML mockup. Once 
they have
provided this first implementation which can be used as a good 
comparison against
other implementation methods, then they would be free to provide a 
second
independent implementation which uses whatever HTML they like and which 
can
add or remove features. This then gives someone a means of showcasing 
stuff in
a way that may not be possible in the more constrained mockup 
implementation.

Also, although a functional application would be the target, one might 
even say
that a few basic demonstration pages, independent of any actual 
application
also be provided. Ie., demonstration of basic dynamic pages, forms, 
login and
session management etc. The basic examples therefore provide a means of 
comparing
the different techniques without having to wade through a lot of 
application
code. The application example then provides the means of showing how 
that all
comes together within the context of an application. The basic examples 
would
also need to be specified in advance as HTML mockups and descriptions 
of what
needs to be shown. Anyway, while a specific candidate example is 
determined,
this might be a good first step.

Thus in summary:

1. Call the comparision the "ModPython Snake Pit".

2. People host their own examples with them all being linked from one 
site.

3. People provide reference implementation for basic demonstration 
examples
of simple tasks.

4. People provide reference implementation for example application where
same HTML mockup is used, but where CSS modifications are allowed.

5. People free to implement candidate example however they want, ie., 
HTML
can be changed, page linkages can be changed, Javascript used etc etc.

If this seems reasonable, while we think about an example for 3, how 
about
a list of basic examples for 2. To get things going, how about:

1. Basic example of single page with dynamic data that changes on each 
read.
Should show single values, repeating groups of data, optional data that 
is or
is not shown based on time of day.

2. Basic example of an input form.

3. Basic example of a cookie.

4. Basic example of a login form with associated session management 
including
session logout/timeout. There should be data preserved for the session 
between
reads with the data stored in the application and not in the browser.

Any other basic things that people are always asking to do where a 
demonstration
of how it is achieved for all the different tools would be useful?

--
Graham Dumpleton (grahamd at dscpl.com.au)



More information about the Mod_python mailing list