Report from the New Orleans Plone Symposium 2008

It's been a while in the making — but here's my conference report from the New Orleans Plone Symposium 2008. Hopefully it will convey some of the excitement and energy that was present at the event — it was really quite remarkable.

It's hard to sum up in a simple way why the "New Orleans Symposium":http://plone.org/events/regional/nola08/ was so outstanding, but some of the important factors were:

  • The event felt like “the good old days” in the sense that everyone was very excited to be there, everyone got to meet lots of new people, and people were doing amazing — and sometimes surprising — things with Plone.
  • The conference had lots of new people that got a great chance to talk to the Plone luminaries, as well as veterans from Zope and CMF communities. It was definitely a great opportunity to get involved with the Plone community.
  • Again: there was this fantastic sense of community in the air. People were excited, happy, and had lots of fun!
  • There were Plone classes in the two days before the conference, and they received raves from the attendants - several of them said it was the best training class they had been at, ever.
  • We had a very productive sprint (workshop) after the official conference was over, and people did a wide range of interesting and useful work.

Keynote summary

As usual, I rounded up Alan in the morning - or maybe he rounded me up, I think we were both too tired to remember at that point - and delivered our thoughts on the State of Plone, as well as the future. Some highlights:

  • *Plone Handbook for End Users* has been released for Plone 3.x. Free under a Creative Commons license and will shortly be available in hard copy at Amazon.com in the United States. You can find the online book at "plonebook.info":http://plonebook.info/.
  • Upgrade of plone.org is in progress, and we're taking the opportunity to move the setup to be buildout/egg-based, as well as converting the file storage for the downloads to use the new BLOB support in ZODB 3.8. Thanks to Alex Clark and Tarek Ziade for championing this, they are doing a great job!
  • Plone Foundation is ready to launch sponsored listings on "plone.net":http://plone.net - which will help get a predictable source of income, and an easy way to support the Plone Foundation for companies.
  • The maturing of the community and the PloneEdu and PloneGov efforts.
  • The “Plone Reboot” effort for Plone 4 - focusing on simplification and performance - and how the new elements of the stack are making it easier for admins and integrators to work with Plone.
  • Demo of the "new, simplified UI":http://limi.net/articles/simplify-plones-editing-experience/ targeting Plone 4. The complete annotated "slide deck can be downloaded here":http://limi.net/media/Plone%20Symposium%202008%20keynote.pdf (13M)

Talks summary

Since it was impossible to attend all the talks, I'll report on the talks I attended. Feel free to contribute summaries for the other talks in the comments!

Brandon Rhodes: Zope Component Architecture -- This talk was one of the most impressive presentations of a highly technical subject I have seen in a while. Brandon led us through an easy-to-digest explanation of what the component architecture really is, and why it is needed - and why it's superior to a lot of other approaches. Even a UI designer like myself could understand it, and it's a must-see presentation if you want to work with Zope 3 and Plone 3 as a developer. I have asked Brandon nicely to give this talk at the Plone Conference in DC later this year, so hopefully we'll get a repeat of it there - in the meantime, "get the informative slides":http://rhodesmill.org/brandon/2008/nola-plone-symposium-talk/, and look out for the video of the talk. :)

Jon Stahl: Plone/Salesforce.com integration -- Jon expertly lead us through a demo of his integration of Salesforce.com with Plone. Unfortunately I had to leave halfway through this talk, but I'm sure others can give a good summary. In any case, impressive stuff, and a great tool for anyone using Salesforce in their organization!

Kapil Thangavelu: Content Mirroring / Relational Databases -- Kapil showed off a new tool he has written that allows content written to Plone to be mirrored in a relational database. In some ways, it's a lighter/simpler variant of what Enfold does with their Entransit product — it allows you to write a separate front end in whatever language you want (PHP, Java, etc) if your front-end can't run Plone itself. It uses events seamlessly to synchronize data to the relational database whenever you change content in Plone. "Content Mirror is available from Google Code":http://code.google.com/p/contentmirror/.

Tres Seaver: TurPlango — Playing with others using WSGI and Repoze & Chris McDonough: Introduction to WSGI -- The one-two punch of Tres and Chris gave us two talks about "WSGI":http://en.wikipedia.org/wiki/Web_Server_Gateway_Interface and showed off how to make heterogenous applications like Trac, Django and Plone to play nicely together using it - as well as showing how to write simple WGSI applications. A great overview of WSGI and why it matters - and is important to Plone - so go "download the slides":http://blog.repoze.org/nola_symposium_talks.html!

Joel Burton: Kinetic Style Sheets (KSS) and Plone -- Joel gives a great talk on the KSS framework for AJAX in Plone 3.x, and this is really the best introduction I have seen so far for this. Joel makes it really easy, and his previous appearance at the Symposium East is even available on plone.tv — so if you haven't seen it yet, drop everything and "go watch it now":http://plone.tv/media/1099397678/view!

Sprint summary

Both old and upcoming Plone Rock Stars convened on the Friday after the symposium to work on Plone improvements. A short summary of what each team did follows:

“Improved Installer Experience” team -- With the new buildout-based Unified Installer, we have the chance to make sure things are consistent across all the different platforms Plone runs on (Windows, Mac OS X, Linux/UNIX). The team identified troublesome inconsistencies and improvements to make the first experience with Plone even more enjoyable. "15 issues were identified as solvable for Plone 3.2":http://dev.plone.org/plone/report/19, as well the issues submitted as "PLIP 229 and 230":http://plone.org/products/plone/releases/3.2. In addition, Sidnei managed to finish the first version of the Windows installer with full buildout support!  A "beta of the buildout-based Windows installer is available":http://launchpad.net/plone/3.1/3.1.2/+download/Plone-3.1.2-buildout.exe for those of you who want to help test it. (Steve McMahon, Sidnei da Silva, Ian Anderson, Joel Burton, Alexander Limi)

“Move all Plone templates to views” team -- The team investigated how to convert all the Plone templates on Plone trunk to use Zope 3 view technology, and various other optimization techniques (removing path expressions, etc) to make Plone go faster. The team got quite far along with this, but there are still some roadblocks that will take an additional day or two to figure out, specifically with how Archetypes widgets use the TAL machinery. (Alan Runyan and two people I can't recall the names of - please "contact me":/author/limi since I want to get in contact with you about this.)

“GetPaid tax support” team -- This team worked on refactoring the GetPaid e-commerce module to support tax handling, especially with focus on the more complex US system of sales tax where every state has a different policy. There's a "separate report available on this":http://www.plonegetpaid.com/updates/archive/2008/06/12/tax-infrastructure-implemented.

“plone.org marketing” team -- While people are working on a visual redesign of plone.org separately, this team focused on reorganizing the content to make it friendlier to non-developers and make it easier to present a good marketing message about what Plone is - and what problems it solves. Mock-ups were created, and this effort is tracked at the "OpenPlans site":http://www.openplans.org/projects/plone-marketing (Jon Stahl, Nate Aune and Alexander Limi during the last round of content refactoring :)

“GloWorm” -- Eric Steele worked on the template introspection tool for Plone, which allows you to put Plone in an introspector mode, and then simply click on an area of the site to identify which template controls it, as well as editing it directly and managing the viewlets and viewlet managers. The major accomplishment during the sprint was that you can now move viewlets between viewlet managers in a simple way. There's a "new release of GloWorm":http://pypi.python.org/pypi/plone.app.gloworm available if you want to help test and contribute to the development.

Documentation team -- Looked into automating screen captures for the end-user manual. Looked into using Windmill for this, Firefox would be another option.

“Auth/WSGI” team -- Tres Seaver worked on tidying up single sign-on in WSGI, allowing outside applications to auth against Zope. Also created a PAS plugin for Zope. Chris and Jens refactored LDAPUserFolder to use community-maintained Python modules. (Tres Seaver, Chris McDonough, Jens Vagelpohl)

“Industry-specific working groups” team -- Chris Calloway lead this group, and had help from four remote sprinters (Mike Halm, Christian Johansen, Cris Ewing, Chris Calloway). They track their work in the "PloneKit project on OpenPlans":http://www.openplans.org/projects/plonekit

Thanks to the conference sponsors: "Diamond Data Systems":http://www.diamonddata.com/, "Six Feet Up":http://www.sixfeetup.com/ and "Gocept Consulting":http://www.gocept.com/. If you have additional links to slides or attended any of the talks that I didn't - and want to write up a summary - let us know in the comments! Here are the talks that I'd like to see summaries of / links to slides for:

  • Caching and Plone (Calvin Hendryx-Parker)
  • Xapian and Search Integration (Sidnei da Silva)
  • University of North Carolina Health Care - Case Study (Frank Dimauro & Walter Martin)
  • Naval Oceanographic Portal (Paul Williams)
  • Social Sourcing (Chris Johnson)
  • PloneFormGen / Form Generation in Plone ("slides":http://www.zugod.org/archives/form%20talk.pdf/view) (Steve McMahon)
  • Graphics with Plone (Jeff Pittman)
  • Airports Council International - Case Study (Will Huthnance & Patrick Hunlock)
  • Nurturing an Open Source Community (Nate Aune)

**Alexander Limi**