Vincent Pretre (Zest Software): jquery.pyproxy
Lightning talk during the Dutch Plone User Day 2010 in the Euromast, Rotterdam. Also, cheap way of pointing Dutch readers to the Dutch summary of the whole day.
Vincent Pretre is lead developer at Zest Software for http://prettigpersoneel.nl, a hosted service for Human Resource Management for small to medium sized companies. The site uses Products.plonehrm, collective.sendaspdf and: jquery.pyproxy.
The idea is to replace KSS with jQuery for Ajax requests. Modify the DOM with python. We wanted it to be easy to use on client (browser) and server side. Keep jQuery syntax as close as possible. It should also be as extensible as jQuery, so existing plugins should work. It can be used as jQuery plugin.
pyproxy binds a call to an event. There is also pyproxy_call. In python: @jquery defines a view as callable by jquery.pyproxy. JQueryProxy: an object used to modify the DOM. extend_grammar: defines plugins syntax.
Current limitations: you cannot do a chained call, cannot save a query, cannot have functions as parameters (so no callbacks).
It is stable: used on production for months. Works with Plone and Django (can be extended to other frameworks), works with Firefox, Chrome, IE, WebKit.
See the slides.