Nate Aune: Deliverance - a compelling way to theme Plone sites
By Nate Aune, Jazkarta, USA
This talk will be a case study of how we used Deliverance to streamline the process of theming a Plone site. The customer requirement was to use an existing HTML/CSS design but replace the backend CMS with Plone. We were able to complete the theming part of the project in a fraction of the time that it would have taken had we replicated the theme as a Plone product.
Deliverance moves elements from your content into place holders in the theme. And you don't even have to touch the theme to do this.
The knowledge you need for this is html, css, firebug and an editor. The web designer does not need to learn templating in yet another CMS.
Who is using deliverance?
- http://plone.org/
- http://plone.tv/
- Harvard School of engineering
- http://ploneconf2009.org (temporary: http://temp.ploneconf2009.org/)
Our customer, HaiVision, wanted to move to Plone, but use their current design, and wanted to be able change the html and css themselves, and within two weeks. Deliverance to the rescue!
Seven steps to heaven:
Check out and run the Deliverance demo buildout:
svn co http://svn.plone.org/svn/collective/deliverancedemo/trunk delidemo
Prepare your HTML/CSS files.
Stick the static files in a static folder in your buildout.
Identify css selectors in the plone site. Firebug is fantastic for this, so http://www.getfirebug.com
and identify the css selectors in the static theme where you want to put them.
Create a rules file. Note: you must place drop rules before replace rules.
Setup an apache vhost. You must add ProxyPreserveHost there.
See the slides for details once they are up.
Performance:
- Deliverance respects caching headers.
- Pages load fast, because javascript and images that are not used in the theme are not loaded.
- Deliverance itself has a small memory footprint and hardly takes any server resources.
collective.dvsites: wsgi middleware that maps domains to different rules files:
[sites] domains = *.mysite.com %(here)s/mainrules.xml another.mysite.com %(here)s/another.xml
Banjo: jQuery-powered rules generation front-end. Sprint this weekend? jQuery help needed, python programmers wanted, and user interface gurus please.
Thanks to: Paul Everitt, Ian Bicking, Aaron Vanderlip, Jordan Baker, Eric Steele, Fred van Dijk, Reinout van Rees.
More info: http://deliverance.openplans.org
Example buildout: the plone conference website: http://svn.plone.org/svn/collective/ploneconf/buildout/ploneconf/trunk