[Twisted-web] Athena DOM manipulation

Phil Mayers p.mayers at imperial.ac.uk
Mon Sep 4 17:59:22 CDT 2006


Is it possible for an athena LivePage to add new LiveElements? To remove 
them?

The application is a web-based database editor which due to operational 
requirements has suddenly had a ballooning in the number of fields per 
HTML page, and the round-tripping of the form submits plus rendering of 
the extremely large HTML in one large block is actually now causing 
operational difficulties.

Something like:

+-(main)-------------------+
| field1: ______           |
| field2: ______           |
| checkbox: [__]           |
|                          |
+-(subitems)---------------+
| key | name | dom |       |
+-----+------+-----+-------+
|     |      |     | [del] | << this is a 3-textbox row for each subitem
+-----+------+-----+-------+
| [Add new subitem?]       | << this is a
+--------------------------+


...with maybe ~60 and climbing rows of subitems. I can handle the 
initial loading of the page taking a bit of time, but a user might want 
to add, change or delete ~10-25 rows of subitems each time they visit 
the page, and the round-tripping is genuinely detrimental.

Can you do something like returning a LiveElement from a callRemote? Or 
can you somehow create (in a supported fashion) a server-side 
LiveElement, return the ID/html/whatever from the callRemote'ed method, 
and then run the client-side widget creation JavaScript, supplying the ID?

Is this just plain a bad idea? Should I somehow make the entire list of 
subitems a single widget (less attractive, because the in-built client 
and server-side demuxing of the LiveElement -> row is attractive)



More information about the Twisted-web mailing list