My week of Plone sprinting with friends and robots

  • 0

I'm a bit late, but yes, I had a great time at last week's Plone sprints. At first I flew to Amsterdam Stroopwafel Sprint for the weekend, and then continued by train to Cologne Cathedral Sprint 2014 for the week. Met old friends, got new ones, eat well and code a quite lot. Special thanks go to Sven for both organizing the Amsterdam sprint and hosting me there, Clean Clothes Campaign for providing the sprint facilities, Timo for organizing the Cologne sprint, GFU Cyrus AG for hosting the sprint and, of course, my employer, University of Jyväskylä, for allowing me to attend the sprints.

There's already a lot of sprint reports out there: Paul has summarized the Amsterdam sprint while Ramon, Bo, Johannes and Victor have all reported a good part the huge amount of work done at the Cologne sprint.

My week can be summarized shortly with two small subprojects: papyrus and plone.themepreview:

Papyrus

http://3.bp.blogspot.com/-kocLIybCGqI/UwTvaicOIZI/AAAAAAAAAi8/7ybDMRwBWjk/s1600/working-copy_checkin.png

For the Sunday at Stroopwafel Sprint I paired with Giacomo to combine his work for making our end user and developer documentation translatable using Transifex with mine for translating also the screenshots. We ended up with a special buildout named papyrus.

So, Papyrus is a buildout for translating Plone-specific documentation into multiple languages. It's simple a buildout and a makefile to:

  • Build Sphinx-documentation with embedded Robot Framework-scripted Selenium-powered screenshots in multiple languages.
  • Extract translatable strings to gettext-POT-files for both translating Sphinx-documentation and embedded screenshots.
  • Push translatable files to Transifex and pull the translations form to build the local documentation.

Papyrus is a buildout for now, but it could be refactored into a recipe later. Anyway, it's designed to be separate tool bundle from the actual documentation to make it reusable by any Plone-related documentation later.

Currently, there's an example Travis-CI-configuration to build the current collective.usermanual in English and Italian. Unfortunately, there's not much translated yet, so there's sure a lot of work left for the next documentation sprints.

plone.themepreview

http://1.bp.blogspot.com/-LNzNAwryB9Y/UwTwws0XWkI/AAAAAAAAAjI/g40X3iGyJEE/s1600/document-edit3.png

During Cathedral Sprint 2014 I spent a lot of time to help the other sprinters with various Robot Framework and acceptance testing, but also made a small contribution for Theme and QA teams by recycling Timo's old theme screenshot suite into a reusable Sphinx-documentation called plone.themepreview.

plone.themepreview is a pre-written, Robot Framework and Selenium -powered, Sphinx-documentation with a lot of scripted screenshots for a Plone site with some client specific configuration – usually just a custom theme.

In other words, plone.themepreview comes with a Sphinx-scripts, which should should be able to launch a Plone sandbox with your theme and make a preview out of it to make it easier to evaluate if all the normal Plone use-cases have been covered by your brand new theme.

The README links to a couple of example configurations for using themepreview with Travis-CI. I guess, you all have seen plonetheme.sunburst, but how about diazotheme.bootstrap or plonetheme.onegov?

Of course, the current set of screenshots is not perfect, but if you think so, please, contribute! Just fork the project, do a pull request, and Travis-CI tell me if the changes are safe to merge. And if you have any questions, just file new issues!

Probably, also plone.themepreview could somehow be turned into a recipe at the end, but for now it seems to be easiest to just clone it and its build with theme specific configuration.

Happy theming!