­Day One of the ZopeSkel BBQ Sprint went swimmingly well. It started early with Cris Ewing arriving at dawn after a night on the floor of Reagan airport. Joel Burton had arrived the prior evening and all were quickly ensconced in the borrowed Chapel Hill mansion housing the visiting sprinters, but not before a quick Waffle House stop for a triple plate of smothered, covered, chunked, diced, peppered, capped, and topped.

Clockwise from left, Cris Ewing, Joel Burton, Rob Lineberger, Chris Rossi, Josh Johnson. Not pictured: Chris Calloway. We were soon joined by Josh Johnson and Chris Rossi. Joel conducted the morning briefing, outlining the topics:

  • More obvious label, description, and failure messages
  • A verbose/interactive mode
  • Fewer questions
  • A .zopeskel file to store frequently answers to questions per user
  • More documentation
  • Refactor/rename templates? (Now or never!)
  • Post-run “next step” help
  • Kill diagnostic output in post-run step
  • More local commands
  • New package? New repo? New options?
  • Decide if Cheetah/Markdown/elementtree are necessary install requirements
  • Fix broken ZopeSkel 2.12 release (no easy_install on Python 2.4) install requirements
  • Decide on the proposed “Button” zopeskel wrapper product
  • More meaningful tests

Some over-arching questions helped to prioritize these goals for the sprint:

What expectations are being set for ZopeSkel? Is it the direction for Plone 3 for product and theme development for Plone integrators and themers? What is being communicated to the Plone community by ZopeSkel and how?

In Joel’s words, “ZopeSkel must work, or else the entire Plone stack is [expletive deleted].” The list of topics was overwhelming for the size and time span of the sprint. Prioritization became a matter of what was important to the sprinters to work on first.

Cris Ewing expressed early preference for working on refining the template questions and had already done some work towards that through the sprint email list. Chris Calloway took on getting to the bottom of easy_install problems related to ZopeSkel install requirements on Python 2.4. Josh Johnson started investigating the factoring of templates and PasteScript dependencies. Chris Rossi immediately started a new namespace, zopeskel.webgui, to house a local serving of zopeskel templates ala paster.joelburton.com. Joel commited to working with Cris on refining the questions and help information ZopeSkel presents to Plone themers and integrators.

Throughout the day Joel and Cris added additional properties for title, modes, extended help, page, and widget for each template question as well as revising question descriptions, adding more tests, and adding the .zopeskel file. The new modes property helps decide whether a question is for expert or verbose mode or both. A new capability allows entering a question mark in response to a template question, which results in the display of extended help text.

The release of ZopeSkel 2.13 was the big win for the day. This new release fixes easy_install of ZopeSkel on Python 2.4. ZopeSkel has a dependency trail which looks like:

ZopeSkel -> Cheetah -> Markdown -> elementtree

The Cheetah setuptools dependency on Markdown resulted from the latest (2.2.2) release of Cheetah. Markdown had previously been included in Cheetah in its contrib subdirectory. Cheetah 2.2.2 now properly lets easy_install grab Markdown. Markdown uses elementtree, which is included in Python 2.5+, but not Python 2.4 for which elementtree is an add-on package through easy_install. In response to complaints from the Cheetah community, Markdown 2.02 was released to fix the issue by inclusion of the following in its setup.py:

if sys.version[:3] < '2.5':
    data['install_requires'] = ['elementtree']

However, the release failed to fix the problem for easy_install Markdown:

   File "Markdown-2.0.2/markdown/__init__.py", line 112, in message
    raise MarkdownException, text
markdown.MarkdownException: Failed to import ElementTree

As Cheetah continued to be affected, so did Zopeskel. A ZopeSkel 2.12 release attempted to fix the problem by including elementtree as a dependency within ZopeSkel. However, under Python 2.4, the fix resulted in the same easy_install Traceback as seen with Markdown.

The sprinters agreed the correct place to fix the problem is upstream in Markdown. But rather than wait to help the users asking questions about installing ZopeSkel in the #plone IRC channel, the sprinters decided temporarily pinning Cheetah to the previous version (2.2.1) would fix the problem for the time being. Once a follow up effort solves the issue with Markdown, Cheetah can again be unpinned in ZopeSkel.

Thanks to Matthew Wilkes for managing the release of ZopeSkel 2.13.

After a a no-fun day of accomplishment (and lunch at the wonderful Mint), it was time for some BBQ. We went to The Pit in Raleigh, the new venue for the talents of legendary pitmaster Ed Mitchell, formerly of the number one BBQ joint in the state, Mitchell’s of Wilson. Unfortunately, Ed’s patented method of sandpit BBQ did not survive the transition to the big city. The sides (fried green tomatoes, collards, fried okra, cheese corn bread, mint juleps) were every bit yummy, though, which just goes to prove BBQ rule #459 once again: you can’t have both good BBQ and good sides without a deal with the devil.

Filed October 3rd, 2009 under Uncategorized
  1. Wow, nice work, y’all! Hope the no-fun continues!

    Comment by Jon Stahl on October 3, 2009 at 10:52 pm

  2. Thanks for the report, keep up the good work!

    Comment by claytron on October 3, 2009 at 11:50 pm

  3. I just wanted to say that you guys are doing awesome, very important work. Keep it up! :)

    Comment by Martin Aspeli on October 4, 2009 at 12:59 am

  4. A little late with the feedback, but thanks guys - looks like nice progress was made!

    Comment by Ken Wasetis on October 12, 2009 at 8:03 pm

Leave a comment

To comment on this blog you will need to log in or create an account first.