"matt" <[EMAIL PROTECTED]> wrote in message news:<[EMAIL PROTECTED]>...
> Hi all-
> 
> I'm trying to port an ajax spell-checker
> (http://www.broken-notebook.com/spell_checker/index.php) to use with
> the moin moin wiki and have been somewhat successful.  (By successful I
> mean I can spell check using the php backend and my python port running
> as cgi-bin).

That looks like an interesting application/component.

> My question is this:  moinmoin runs on many python web backends
> (cgi-bin/mod-python/twisted/standalone).  My spell-checker backend runs
> as cgi (disclaimer: I've done a bit of php and java(struts) web app
> programming, but the last python related web programming I did was Zope
> about 5 years ago (does that even count ? ;) )) because that was the
> easiest for me to get up to speed on.  What is the best way to write
> cross-backend python web apps?  Is there any abstraction I can use?

Although a kind of Web "middleware" standard called WSGI [1] has been
proposed to somehow alleviate these kinds of problems, I'd recommend
using WebStack [2] to implement a "cross-backend" solution which will
run on CGI, mod_python, Twisted, BaseHTTPServer and other
technologies.

> With cgi-bin, I use the python "cgi" module, which gives me easy access
> to form variables, but I'd like to be able to deploy in the other
> backends as well.  What's the best way to do this?  Or is a rewrite
> required for each one?

Some might argue that writing directly to WSGI would allow you to
re-use your CGI-based code moderately easily whilst having some
backend portability. I'd argue that WebStack's API is slightly more
high-level and that the WebStack distribution should provide you with
everything you need to deploy your application on the backends you've
chosen (plus others). Either way, you certainly don't need to rewrite
your application for every different environment any more.

Paul

[1] http://www.python.org/peps/pep-0333.html
[2] http://www.python.org/pypi/WebStack
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to