Personal tools

Contact Us 24/7 > 1 866.SIX FEET

Skip to content. | Skip to navigation

Home > Blog > Plone Theming: Comparing Diazo, Deliverance and Themeeditor


Plone Theming: Comparing Diazo, Deliverance and Themeeditor

written by Chrissy Wainwright on Friday January 21, 2011
Comments | Filed under: , ,

Three years ago this past Monday I started working for Six Feet Up and had my first exposure to Plone. Before that, I'd only had experience with static HTML, so there was a bit of a learning curve to not only learn Plone, but about CMSs in general. Having knowledgeable developers around me definitely helped me to learn Plone, but most people who jump into Plone don't have that advantage. The theming process can be quite overwhelming to a newcomer.  Recently, some products have been developed to help with that learning curve, to make the Plone theming process easier. I took a little bit of time this FedEx day looking into Deliverance, Diazo, and Plone Themeeditor.

Diazo ("Dye-az-oh")

Diazo (formerly known as XDV, see links below) allows you to take some static html pages, and import Plone elements into those pages. The Plone elements can be set to replace parts of the static files, or they can be appended. All of this is managed in a file called rules.xml. The xml can use various types of selectors for determining what elements to change, such as CSS selectors or XPath. Firebug is a very important and useful tool for doing this.

In a Plone 4 instance, I started with collective.examples.diazo so I would have examples to build on. I copied the sample theme into a blank Plone theme (any type product will do). I created a 'static' folder in the theme, and had to register it in the zcml as a resource directory (requires instance restart or reload). Then, with the XDV settings in Site Setup, I pointed everything to my copied theme in `static`. Viewing the site at the specified domain (set in the XDV settings) now showed me the static pages, with a few Plone elements.

My Thoughts
Since I am used to normal Plone theming, this very much felt like a hack to me.  But I can see where it could be very handy:

  •  for someone who is new to Plone and who needs a theme ASAP
  •  with designs that need a lot of default Plone elements moved around
  •  in applying an existing HTML template and CSS to a Plone site.

Laurence Rowe's talk at Plone Conference 2010
collective.examples.diazo on
Diazo Theming Rules Reference


Diazo and Deliverance are very similar, so many of my notes for Diazo above also apply here. Deliverance came first, Diazo emerged from it, and they continue to exist as two separate products.

A couple advantages to Deliverance over Diazo, as mentioned by Nate Aune in his Plone Conference 2010 talk are:

  •  Deliverance has a debugging console
  •  HTML and CSS are available to be edited through the web.

Nate Aune's talk at Plone Conference 2010 about Deliverance
Deliverance on PyPi
Deliverance Documentation

Plone Themeeditor

Plone Themeeditor is a product that allows you to make template and stylesheet customizations through the web, in Site Setup. This product is currently an alpha, so it still has some work to be done. But it has great potential.

Themeeditor worked the same as editing a site in the ZMI, in the custom folder and portal_view_customizations, but provides a nicer interface for it. One caveat is that it uses the names of Plone templates, and splits them up into templates, portlets, and viewlets, so you have to know what you're looking for in order to customize it. You also need to know TAL to edit the templates.

I was initially very skeptical of Themeeditor because of all the changes done through the web. But, then, I learned that you can export your customizations, and it uses paster to package the customizations into a Plone theme. That feature definitely makes the product something worth watching.

So the only issue I had with what I saw of the product is that there is no easy way to create a new CSS file. Instead, changes are to be made to an existing CSS files for small styling updates. The problem with this is it can cause extra difficulties when upgrading a site if the original CSS file has been updated, the same problem caused by customizing templates. If you're making minor CSS tweaks, put them in ploneCustom.css, or a custom CSS file to avoid such issues.

David Bain's talk at Plone Conference 2010 on Themeeditor
Themeeditor on Pypi


I can see where these products can be very useful, and they definitely have their place. My recommendation is that if you are going to continue theming and working with Plone, you should learn the full process of doing it. This will help you to better understand the system.

If you need help learning how to theme Plone, be sure to contact Six Feet Up or attend the upcoming Plone Symposium East at Penn State in May. I will likely be presenting in some way.

What experience have you had with these products? I would be curious to hear from someone who was not familiar with the Plone theming process.

Posted by Kevin Gill on Jan 22, 2011 12:48 AM
I am not a Plone expert. I developed a site called I used XDV with a free theme. The process was quick and relatively painless. I did have to determine which css/js from plone to include by trial and error. However, I ended up with two views on my site, for visitors and with the standard skin for editors. This was confusing for the content creators, especially when creating the collage for the front page. The week before last, I returned to Plone after a break and created on Plone4. I used the sunburst theme and theme editor. Initially I was just changing the logo. This was a dream. It worked quickly and easily and gave me confidence in my ability to change the design. My only gripe is that I couldn't add images via themeeditor. So the images I needed were added to the site as content and not exported. But excellent experience. Happy with that, I ported an old site to plone. I created a file system theme for it. This was definitely more complex than themeeditor. However, it allowed my to add/remove viewlets easily which was an advantage over themeeditor. My conclusions based on these simple themes are: I won't use XDV again. Both TTW themeing and FileSystem themeing were easier than I expected. In future, I will start the theme initially via themeeditor, and migrate it to a file system product as the complexity grows or just to manage it.
Posted by Ethan Jucovy on Jan 22, 2011 04:42 AM
Hi Chrissy, Your link for "Deliverance on PyPI" is incorrect - plone.recipe.deliverance is an unmaintained installer that people say doesn't work any more. The link for Deliverance on PyPI is: And the documentation is available here: -Ethan (deliverance release manager)
Posted by Andre Nogueira on Jan 24, 2011 06:07 AM
Accessibility is one of the greatest strengths of Plone. Diazo can kill this. In a few days we will release a product with another way to create a simple theme.
Posted by David Bain on Feb 17, 2011 03:10 PM
Chrissy, Just to clarify, I am not the creator of Themeeditor, it was started by David Glick with significant contributions by Nathan Van Gheem and others. With lots of pointers from David Glick I extended the feature set of Themeeditor but it would be unfair to not mention the others. In my opinion, the biggest thing on the Themeeditor todo list is a better way to deal with images. I appreciate the positive feedback.
Posted by Chrissy Wainwright on Feb 18, 2011 04:00 AM
Hi David, thanks for the clarification. I should have done more research before putting that in there. It has been fixed, and apologies to David and Nathan :)
Add comment

You can add a comment by filling out the form below. Plain text formatting.


Next Steps

Select a type of support:

Contact our sales team

First name:
Last name:
Phone Number:
Fight spam:
What is + ?
Call Us 1 866.SIX FEET