[Twisted-Python] Woven: can't get view notification to work
Donovan Preston
dp at twistedmatrix.com
Wed Dec 10 12:23:56 EST 2003
On Dec 10, 2003, at 5:20 AM, Gavrie Philipson wrote:
> lmx(node).p().text(str(mydict))
Change this to lmx(self) and it works. It's the widget that knows the
correct place in the current DOM to make changes, not the template node
that was passed in (node).
A major difficulty with the livepage and view notification architecture
in woven is object identity -- you must have a reference to a DOM node
which is actually in the DOM in order for your mutation changes to
actually show up when the DOM is turned into a string. This is
partially because woven tries really hard to allow you to re-render
only those portions of the page that have changed, as you are
attempting to do here by using notify. Since woven needs to be able to
rerender portions of the page, it also needs to keep around copies of
the original DOM -- the "template" DOM -- so it can pass it to your
function again upon rerendering.
Anyway, Widgets also add an extra level of complexity over the w3c DOM
in woven. This is the main reason I went with rendering functions, not
rendering objects, in Nevow. (The render function can of course be a
method bound to an object).
Neither LivePage nor partial-page rendering are implemented in Nevow
yet, precisely because they are advanced features that are difficult to
get right, and I wanted to make sure the basic rendering features were
correct first. Since Nevow rendering hasn't had any surprising bugs for
over a month, I think it's time to start implementing LivePage and
partial-page rendering in Nevow. I'm planning on doing a lot of
documentation and implementation work around christmastime, when I
should have more time to focus on it.
dp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: text/enriched
Size: 1751 bytes
Desc: not available
Url : http://twistedmatrix.com/pipermail/twisted-python/attachments/20031210/ed09ee58/attachment.bin
More information about the Twisted-Python
mailing list