Background Info and Collected Notes on Deliverance
Deliverance: Plone Themeing without the Learning Curve
Natre Aune presented Deliverance at the Plone Symposium East 2009 at Penn State
Deliverance: Plone Themeing without the Learning Curve
Nate Aune, Jazkarta
Agenda
http://plone.org/events/regional/plone-symposium-east-2009/nate-aune-deliverance
Slides
http://www.slideshare.net/Jazkarta/deliverance-plone-theming-without-the-learning-curve-from-plone-symposium-east-2009
There are two branches
Deliverance is a standalone proxy with a rules file that maps between elements. Uses DOM or XPATH notation
xdv is a Martin Aspeli project to implement as a Plone product using XSLT
Currently in use at
repoze.org
plone.tv
plone.org
topp.openplans.org The Open Planning Project
Nate gave a demo using designs obtained from:
Open Source Web Designs (OSWD)
Deliverance Configuration Documentation
(http://deliverance.openplans.org/configuration.html)
The site will be at http://localhost:8000 and you can login at http://localhost:8000/.deliverance/loginOnce you have logged in you can look at http://localhost:8000/?deliv_log to see a log of everything Deliverance is doing (at the bottom of the page).
I prefer to explicitly declare all rules, so I do This
<rule suppress-standard="1">
followed by (these are done automatically if standard is not suppressed)
<replace content="children:/html/head/title" theme="children:/html/head/title" nocontent="ignore" /> <append content="elements:/html/head/link" theme="children:/html/head" nocontent="ignore" /> <append content="elements:/html/head/script" theme="children:/html/head" nocontent="ignore" /> <append content="elements:/html/head/style" theme="children:/html/head" nocontent="ignore" />
followed by (I want to move all the meta tags over cause they are good for SEO. in plone you need to toggle the Dublin core stuff on, Just enable property exposeDCMetaTags in portal_properties/site_properties. And then they will be rendered in HTML code.)
<append content="elements:/html/head/meta" theme="children:/html/head" nocontent="ignore" />
The /@@site-controlpanel (Site Setup > Site) allows for the inclusion of Javascript tracking code in the footer of all pages for Google Analytics and similar services. However, the footer before the </body> is not always the best place for this code. If you want to move it you need to easily find it, so wrap it in a <div> element such as <div id="analytics"></div> so you can put it where you want.
STRANGE BEHAVIOR
If the <div id="whatever"> contains <script> then it doesn't move other content. Only the script. Hard to test. Experienced it in wrapping the analytics code.
Optimize Download Speed
in ZMI
portal_kss, portal_css and portal_javascripts, disable debug mode. This will allow CacheFu to set cachable headers
Link Handling
(http://www.coactivate.org/projects/deliverance/specification)
Deliverance changes relative links in the theme and any Xincluded content to absolute links pointing to their original locations. Links are found in any attribute named "src" or "href" and the "url contained in an @import url(...)<base href> usage in the content are preserved, <base href> usage in the theme are eliminated, but observed when rewriting relative urls.