[Twisted-web] Good ROM tool ?

Andrea Arcangeli andrea at cpushare.com
Tue Jan 17 14:08:52 MST 2006

On Tue, Jan 17, 2006 at 08:54:05PM +0100, Valentino Volonghi wrote:
> Also Nevow development is not lead by Divmod. There are quite a few people
> developing it in various ways. Divmod is one of them and they are also hosting

The only ones not inside divmod that comes to mind are Matt and you. Two
people doesn't define as critical mass (following the Lucid example).

> Divmod in their repository. If we are to drop formless that's because it is
> not as good as _we_ (developers) wanted it to be.

This is the problem: since there are nearly no users, only the developers

> Changes between web2 and Nevow are quite big. If you think the only change is
> that one then you are not using web2 at all.

I've klive running on top of web2 already, I see the *whole* difference,
the deferreds are the most painful thing since Cheetah doesn't
understand them, so I've to s.write() by hand after every query is
complete, and I can use templates only for the tables (which is after
all the only place where I need the templates). I could use templates
for the normal pages too, but then I'd need to use #block #end. Perhaps
I can teach Cheetah how to handle the stream + deferreds. That would be
more than enough for me to be really confortable, but even current
Cheetah is ok, since the only place where I the templates makes my life
easier is the rendering of the tables.

> And diffs are not useful to understand if code is broken. Tests are.

Disagree, diffs auditing is by far the most important thing for me when
moving to a new api. Test are useful too, since they verify that web2
had no regression after the change.

> that you say Nevow/Formless is fragile and yet you move to a more fragile API
> betting that soon it will stabilize. web2 changed API quite a lot in the last
> month (for example by removing the context).

Removing the context is a trivial change, compared to change of the html
rendering of all forms. KLive homepage already runs under web2, all the
time was wasted in the changes of the html rendering, almost zero time
to rename ctx to req.

> Then your main concern with Nevow is formless, but klive has no forms at all
> as you say and has no authentication. So basically your app will and does work
> at least for quite some time in the foreseeable future without modifications,
> but you are rewriting it from scratch.

I'm porting it, it's not a rewrite from scratch. I'm starting with KLive
exactly because it nearly doesn't use nevow except for the rendering
that I'm going to replace with Cheetah. No need of reinventing
wheels with nevow for the rendering of the tables when Cheetah has large

This way I learn the web2 API, then I can start rewriting the forms and
port CPUShare to web2 as well. The only thing I have to rewrite from
scratch are the forms, and there's no way around it. Once I start
touching that code, for sure I won't take risks anymore.

One thing I'm interested about is to have a guard in web2, that's a
piece of code I'd rather contribute to web2 than to keep local.

> Just a note at the end: Remember that I warned you against using formless
> because it wasn't the right tool for the job (and I've been warning tons of
> people wanting to use formless).

I take the blame for using formless, I'm sure not blaming anyone else.


More information about the Twisted-web mailing list