[Zope] AJAX and Zope
Jim Washington
jwashin at vt.edu
Wed May 24 10:41:18 EDT 2006
Lennart Regebro wrote:
> On 5/24/06, Pascal Peregrina <Pperegrina at lastminute.com> wrote:
>> By Zope objects I meant:
>>
>> You've got a page template for example, and you include such an "AJAX
>> enabled object", basically rendering an HTML fragment, and the
>> resulting page will include the page template code + the fragment
>> (similar to a macro call), but will also include the needed
>> javascript code to handle the asynchronous communication.
>
> That is a macro call. There is no difference. It just that the macro
> includes the HTML needed to suck in the JS library you use.
I have been working on a simple WSGI middleware filter that handles js
library insertion pretty well, without complicated macros that assure
that a javascript library gets included only once.
It works by creating a WSGI environ variable for desired includes.
Individual widgets ask a utility to register their need for a particular
javascript or css resource into that environ variable.
After Zope is finished generating the page, the middleware inserts the
appropriate <script> and/or <style> tags into <head> before delivery to
the client.
The current implementation works in Zope 3. I have not experimented
with Zope 2 on this, but it seems that with Zope 2's new
WSGI-friendliness and Five, it is likely not too far from something
usable in Zope 2. The Zope 3 implementation needs zope.paste and
paste.deploy. The middleware app itself should work for anything WSGI.
Code (Due credit: the Zope 3 infrastructure for this borrows heavily
from zc.resourcelibrary) and instructions are at
http://zif.hill-street.net/headincludes Development status: "works for me".
This is just a small piece of the AJAX puzzle for Zope, as I see it.
-Jim Washington
More information about the Zope
mailing list