[Twisted-Python] ANN: Twisted 1.1.0, the framework of *your* internet

Hegedus, Matthew S matthew.s.hegedus at lmco.com
Tue Oct 28 10:41:38 EST 2003

Forgive me, I'm a little confused. I've had some trouble trying to implement
a seemingly simple web server using Woven, so the mention of this "nevow"
peaked my curiosity. On www.divmod.org I check out Quotient and it appears
to be nothing but an email app.

Here's what I've got and what I'm trying to accomplish:

  I've already created a twisted server app and client app. The client can
connect to the server, pass client   
  info to the server for management, query the server for all of the info
that it is managing, and the client can 
  manipulate this info(modify some attributes, delete info). 

  Now I want to create a web interface to this server, so that anybody can
access the server's info through a  
  browser. I want the users to have the same capabilities that the twisted
client app provides. For GUI I want 
  text input fields, tables, buttons inside and outside of tables, and maybe
a chunk of browser space devoted to 

  With Woven I can create tables and buttons just fine, but input handling
is baffling me, and I'm suspicious of  
  webConduitGlue which is supposedly necessary for JavaScript to work and
may or may not be related to my input 

Is Twisted and/or Woven and/or Nevow a good technology for tackling this
sort of problem? Or is should I be looking at other technologies (JAVA
applets, JSP, servlets, CGI, ASP)? I'm lacking direction for the moment and
my confidence in Twisted is shaky(or is it just my understanding of
Twisted?). I welcome and appreciate any thoughts from this Twisted
community. Thanks,


-----Original Message-----
From: Donovan Preston [mailto:dp at twistedmatrix.com] 
Sent: Monday, October 27, 2003 4:56 PM
To: twisted-python at twistedmatrix.com
Subject: Re: [Twisted-Python] ANN: Twisted 1.1.0, the framework of *your*

On Oct 27, 2003, at 5:23 PM, darryl wrote:

>>> The question is, does anyone want to focus on learing woven with NEW 
>>> woven in the works?

Woven is certainly very usable in it's current state -- if you want to 
do simple-to-moderate things quickly, it can be very useful. However, 
it's complexity made it difficult to do some of the more ambitious 
things we are trying to do, such as semi-transparent form handling, and 
serverToClient events. But there are a few people who have built (and 
deployed) fairly complex woven applications. The fact that nevow exists 
doesn't detract from that.

nevow was originally a research project -- a weekend's worth of hacking 
whose benefits turned out to be so great that we decided to focus on 
bringing it up to a usable state for Quotient as soon as possible. And 
that's where it is now.

Most of the woven concepts -- template and code abstraction using a 
DOM, reusable partial page renderers (Widgets in old woven, renderer 
callables in nevow), all of the concepts needed to know to use 
twisted.web -- carry over to nevow. The only thing that's really 
changed in nevow is a few names, and the code is VASTLY simplified, 
well tested, and thus far easier to understand, design semantics for, 
and change.

>> An unfortunate last-minute change of direction, but worth it
>> considering
>>  how vastly improved the new code is.
>> It's no longer a part of Twisted, however.  Check out Quotient CVS - 
>> www.divmod.org
> May i ask why it's not part of twisted?
> And if that's the case will Woven be maintained?

nevow will be moved into twisted after a period of 
stabilization/development in Quotient. Since twisted is a large project 
with many external developers using it, and quotient is a smaller 
project that is mostly a small core team of development, we felt it 
made sense to keep it out of twisted proper until the development had 
stabilized. Since nevow has the benefit of being a complete rewrite of 
all the *best* parts of woven, and none of the bad, stabilization has 
been remarkably quick. So expect to see nevow in twisted fairly soon.

In the meantime, woven will continue to be maintained with bugfixes, 
and nevow is fully usable outside of quotient -- even to the point of 
being fully usable without twisted.web (as a cgi, or in zope or 
webware, for example). I should also mention that there will probably 
be a compatibility layer for nevow to render old-style Woven classes 
sometime in the future. It is amazingly simple to add rendering 
functionality to it since it uses components to render the dom (which 
is really just a list of any python objects)

If you are doing any new development, I highly encourage you to take a 
look at nevow, if for no other reason than you can have a hand in 
shaping it's development. I would very much appreciate feedback about 
it, especially now, since the code is very, very short and readable.


Twisted-Python mailing list
Twisted-Python at twistedmatrix.com

More information about the Twisted-Python mailing list