Lighting Talks Thursday

published Oct 29, 2009

Thursday's lightning talks at the Plone conference 2009

Lightning talks

Johannes Raggam: activity model runtime engine for python

Based on UML2 activity model. Token based, runtime marker, can hold data. Action node delegates execution to external implementation.

Use cases: business process support, document workflow support, model based testing, industrial automation, visual programming, web form flow wizards.

Usable prototype, see

Antonio De Marinis and Alin Voinea: EEA Faceted Navigation

Combining different facets, metadata. Very user friendly, you don't have to be a programmer to use it.

Example: Code:

Patrick Gerken: Using buildbot with Plone

Despite some problems, buildbot still rocks. Always use virtualenv. Use the correct python version.

Look at collective.buildbot:

Make your project compatible with buildbot. You need a test script. Pin zope.testing to the newer 3.6.0. Put your code in the src/ directory. Don't forget to configure zope fake eggs in your buildout config. Add your dependencies in and your GS profile.

Always test only one package. Don't use mr.developer. Pin all versions of your eggs.

Jakob: making money while talking to your customers

When your customers call you, can you bill them? You want to buy beer. So get them to sign a support contract. But you don't want them to call you as you want to have time to drunk beer. So give them training.


Trigger a pdb in a running zope via a USR1 signal. See

Nate and Peter: SSL does not protect you

You can buy very cheap SSL certificates for your site. The end users does not see the difference between a good and bad certificate. So you think you are talking to a bank but you are talking to a guy drinking a cocktail in Fiji. We are a startup that wants to improve that. See

Dylan Jay: collective.hostout

How to host a Plone site for 20 dollars in 20 minutes. We want a big blue button that does the entire deployment for you. VPSs are really cheap now so get one with root access. Add a part with collective.hostout to your buildout.


Gives you one command to deploy your buildout.

Calvin Hendryx-Parker: Plone Tune-Ups

Easy way for everyone to contribute. We did 20 tune-ups the past year. Closed lots of Plone tickets. Pledge some hours as company. We do this every three weeks.


Henning Rietz: Plone-Driven Plone Development (PD2)

The model is Plone content. We don't like to write boiler plate code, writing zcml or xml, migration pain, learning curve for new developers. We love Plone, model driven development, ArchGenXML.

Our model lives in the zeo server, every developer has a zeo client. Makes your design patterns explicit. Prepares you for major changes, like going from Archetypes to Dexterity.

Thierry Benita: External Editor

Use your current editor, whatever it is, to edit content in Plone. Also works with Gimp. Can also hook in with versioning.

Jens Klein: cornerstone.soup

Isolated container for queryable records. Content that is not really CMSish, like votes, data from a poll, orders in a web shop. Stored generic records. Add a catalog factory and a few utilities, stir and cook. Enjoy your soup.


Ricardo Alves: LDAP storage for Archetypes

You can use LDAP in Plone as an authentication backend, see Products.PloneLDAP. You can use it to store content, for example address book, members as content. Problem: not transaction aware. So: Products.ldapconnection. Much like old-style SQL connection objects. Supports client-side transaction support, partially. Also archetypes.ldapstorage. Future: new z2 components, more testing, improve storage implementation.

See and

Matt: Real world Deliverance-style theming

"Lipstick on a pig." Challenge: legacy .net portal. Looked dated. Too long urls. HTML was not valid. It was a closed box, so we could not change the code. Combine that with Plone and another system in one über-portal. Set up a WSGI pipeline: source.portalv, htmlcleaner (using lxml), linkrewrite (rules to make snes of urls), xslt, navmerger (bring the Plone).

Denis Mishunov: collective.caroussel

Show content in a caroussel. Accepts any content type, not just images. Based on jQuery.