Re: Copying Nevow features into Twisted Web (was Re: Status of divmod-dev list?)

Werner Thie <[email protected]>
Newsgroups gmane.comp.python.twisted.web
Organization Thie & Co Projects
Message-ID <[email protected]>
On 12/20/10 4:19 PM, Colin Alston wrote:
> On Mon, Dec 20, 2010 at 5:01 PM, Werner Thie <[email protected]
> <mailto:[email protected]>> wrote:
>
>     Hi Colin
>
>     off list just for my information, what version of nevow/athena do
>     have you have included in enamel. The latest fixes I sent back to
>     the divmod list solved bugs server and client side when detaching
>     Live Elements from a page, which I do habitually very often.
>
>
> Enamel works on pretty much any version, but doesn't work with
> contextless Page and other stuff.
>
> The motivator for it's creation was to increase dev speed with people
> who were slightly useless, and to act as a wrapper to make code trees
> that could survive Freeze.
>
>
>     What do you see as important areas where nevow/athena should be
>     improved?
>
>
> Primarily there is a great deal of bootstrapping. Just create a simple
> web-app (without something like Methanal or Mantissa, which I can't even
> understand) that does Athena and see how much code you're rewriting
> every time, it's quite insane.
My boilerplate (me working with guys mostly doing PHP and MySQL) let's me
start up a new project in less than an hour. Doing this for a living I 
see the problem not really in starting up projects fast, but in 
finishing them fast, because only finished projects are paying...

> Also if you're not using Twisted plugins (which there are many reasons
> not to want to, like using shared state reactors with multiple TCP
> services, or again Freeze) the pain goes up double.
I use only a single plugin in nevow letting me bootstrap easily and 
providing
a clean mechanism to switch automagically between source/compressed 
deployment version. All the deployment is handled via SVN.

> Essentially boiling Athena down to a page mixin class with standard js
> bootstraps, and/or separate fragment mixin and making all pages derive
> the necessary Athena object triggers or even putting that into flatten.
Might be that there's need for a 'kiddy' version, letting the average
interested user who does not have the time to look into a framework and
its concepts and wants to whip up a page in less than 30 seconds.

> You can see what I do here to try simplify things for the way I work,
> essentially I just stick an elements class dict in and map fragments to
> automatically created renderers and stuff works magically.
> http://open.thusa.net/enamel/browser/trunk/enamel/pages.py#L126
I see the basic idea, no objection, but why Fragments and not Elements?

> There's also issues with the current model, like your root resource
> can't be an Athena page very easily.
I don't understand this point, I usually work root only, with not a 
standard page change, but doing everything by attaching/detaching live 
elements (see http;//www.thieprojects.ch for work in progress for a 
simple Desktop like RIA)

Werner
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.