[Zope] Re: AJAX and Zope

Balazs Ree ree at ree.hu
Fri May 26 00:36:07 EDT 2006


Wed, 24 May 2006 10:41:18 -0400 keltezéssel Jim Washington azt írta:
> 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".

Of course since this is a zope2 newsgroup, I would mention also that this
solution does not work at the moment with Zope2. To port this in an
effective I would wait until Zope versions 2.10 or even 2.11 to get
into production. Porting this to 2.8 or 2.9 would be a bit pointless imo,
but maybe I am wrong since I don't know the WSGI middleware in such
details. Zc.resourcelibrary (with the zope3 tal engine needed) and the
twisted publisher, once they are backported to z2, might even put things
to their place so well that this starts working without any extra effort.

I would separate the question of putting javascript and css resources into
the page from the rest of the AJAX saga. This is quite an independent
issue. I am not aware of any Z2-only solution because most of the
work that I need to do with this is on Plone. Both Plone and Archetypes
have good, settled, well-tested solutions to solve the resource
issue. I would expect that once the above mentioned backporting is done
the existing Plone solutions would move more down to the Z3 level and
utilize mechanisms like zc.resourcelibrary or WSGI. To have this in
production code is a question of say, few years: a bit less, more
optimistically, but right now is a no-option for production code.

Now I would turn to the AJAX question in general. For the
client-server communication I can suggest to use jsonserver: this is
backported to Zope2 by myself and at the moment we are even doing a full
merge of the zope2 and zope3 products version, so it's guaranteed the code
you make for zope2 with it will run seamlessly on zope3 without a need for
a change. Jsonserver offers JSON-RPC which is a protocol similar to
XML-RPC but with quite some nice extras. The homepage at the moment is
http://www.zope.org/Members/jsonserver2 . When the z2-z3 merge is done, I
will also make the examples tutorial available in a better form, too. I
have to add that a lot of other frameworks use the JSON format in itself,
without the RPC part, but the RPC part is such a benefitial extra that
these javascript libs would also start offering the JSON-RPC option
once the server and client libraries get a wider availability.

The other, higher level framework that I think, when finished, will be a
very potent solution, is AZAX. At the moment it is much work in progress.
A usable version will be expected very soon. There is a development info
site on http://azax.ree.hu with not-so-useful information but as our time
allows this will be extended, so you may be interested to tune in. 

And of course there are quite a few other higher level, vell working
solutions to choose from, some of which the previous posters have already
mentioned. Pick your own choice, there is no "the" framework at the
moment. In any case, expect to work with a set of framework most proper
for your purposes.

-- 
Balazs Ree




More information about the Zope mailing list