[Twisted-web] Good ROM tool ?

Valentino Volonghi aka Dialtone dialtone at divmod.com
Tue Jan 17 12:54:05 MST 2006


On Tue, Jan 17, 2006 at 07:58:56PM +0100, Andrea Arcangeli wrote:
> Formless and most of the nevow api is fragile since it has been declared
> obsoleted already (web2 seems to replace a good part of it already), and
> yet I already get obsolete warnings in formless code (even despite your
> intention is to drop it). All this even ignoring the epsilon pointless
> dependency and atop that don't matter much to me.

Notice that formless is a pretty special case. And the change from formless to
something else (forms) is _VERY_ simple and removes quite a lot of
limitations, although output customization is still missing. The intention is
to rewrite formless on top of forms and in a better way.

There is no pointless epsilon dependency because Nevow doesn't depend on
epsilon.

> I've fallen in the trap once with formless, some people likely fallen in
> the atop trap (thankfully I avoided it so it's only a web GUI breakage
> for me), I can't take risks anymore, I've to take the obvious route
> since I can't affor the cost of forking off a project, nor the risk of
> keeping porting at every new breakage of the divmod APIs.

So, instead of rewriting one little portion of the application (the forms) to
use something else you rewrite the entire application in something completely
different (and in heavy development like web2 is).

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
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.

Don't blame always Divmod.

> Plus nevow has lots of inefficiencies inside (I posted the profiling a
> few times, most of the time is spent in the interfaces code), so going
> to something lighter and faster without interfaces bloat has some
> advantage too, even if it means writing more code. I'll let you know if
> performance changes are visible.

Part of the reasons why we want to remove the context is to avoid some of
those inefficiencies. This being said: you are using the king of interface
bloat also called Formless and you are also complaining about it being changed
(and we changed it because of interface bloat). Again: you are complaining
about a change in the direction that you like best - avoiding interfaces as
much as possible for things that they are not meant to.

> Changes like from rend.notFound to Null (like the porting from nevow
> to web2 of some of my code) are not a problem for me. The problem for me
> is having to rewrite from scratch stuff, without any change of a
> readable diff. If the diff is readable, it's quick as well to verify
> there are no bugs introduced.

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.

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

> That's what happened with formless (and atop), so I can't let it happen
> anymore, even if that means living at a lower layer and generating the
> html by hand or with Cheetah (like if i was running on top of cherrpy
> instead of twisted). I'll still try to use twisted async model with
> Cheetah. Since I don't depend on nevow for the html generation anymore,
> I can as well plug my code right on top of web2. (in the short term of
> course I'll keep using nevow on twisted.web, going on top of web2 is the
> mid term plan, first I'll port klive to it that is easier since there
> are no forms at all and no guard too) Hopefully after web2 will start to
> stabilize, its API will live long.

If you think web2 will stabilize shortly you are making a bet. web2 has been
under development for quite some time (at least as much forms has been) and
the API has been changed during the development.
Please notice that I'm not criticizing your move away from Nevow or
twisted.web since I personally don't care that much. I'm criticizing the fact
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).

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 think there are some contraddictions and you are overreacting.

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).

-- 
Valentino Volonghi aka Dialtone
Now Running MacOSX 10.4
Blog: http://vvolonghi.blogspot.com
http://weever.berlios.de
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 186 bytes
Desc: not available
Url : http://twistedmatrix.com/pipermail/twisted-web/attachments/20060117/81f46195/attachment.pgp


More information about the Twisted-web mailing list