Deliverance and Diazo - Easy Theming For Everyone

Embed Size (px)

DESCRIPTION

A talk about Deliverance and Diazo makes theming easier for Plone, and everybody else.

Citation preview

  • 1. Deliverance and Diazo Easy Theming for Everyone (not just Plonistas) Roch Compaan [email_address] http://twitter.com/rochecompaan Upfront Systems http://upfrontsystems.co.za

2. In the beginning theming Plone was hard! 3. And led to various disorders 4. 5. 6. Theming Plone Disorders

  • Portlet Depression

7. Viewlet Mania 8. Layer Delirium 9. Skin-o-rexia 10. Resource Disassociation 11. Battered Buildout Syndrome 12. All disorders installable with the DSM Generic Setup Profile 13. Today, theming Plone is as easy as pie. "Easy as Pie" is a song by country singer Billy "Crash" Craddock. It was released on the 1976 album Easy as Pie. The song became a #1 hit on the country charts and was also a crossover hit. A live version was also released on 1977's Live! and 2009's Live -N- Kickin'. en.wikipedia.org/wiki/Easy_as_Pie_(song) PS: I've never listened to this song, I hope it's not too corny ... 14. Why is it easier? Embed content inside theme without touching the theme or content 15. 16. What is Deliverance?

  • Theming proxy

17. Uses simple rules and CSS selectors to embed content from your CMS into HTML theme 18. Keeps presentation separate from content 19. Extended in Python 20. Read more at: http://packages.python.org/Deliverance/ 21. What is Diazo?

  • Same philosophy as Deliverance (originally a Deliverance fork)

22. Compiles simple rules to XSLT 23. Can be extended using inline XSL 24. Read more at:http://diazo.org 25. Deliverance Pros & Cons

  • Pros
  • Browser-based debugging console

26. Through the web editing of files (HTML, CSS, rules.xml) 27. Can be extended in Python Cons

  • Project lacks momentum and support

28. Diazo Pros & Cons

  • Pros
  • Formally adopted as theming technology for Plone

29. More deployment options

  • No need to run separate server when using collective.xdv

Very easy to transform HTML snippets with inline XSL Cons

  • Still no debugging help

30. Need to learn XSL and XPATH for advanced use 31. Need to understand WSGI Pipeline for extension in Python 32. Case Study:Mobile frontend for Connexions (mobile.cnx.org) 33. What is Connexions?

  • Major Repository for Open Educational Resources (OER)

34. Serves almost 2 million visitors a month 35. 18440 reasuable modules woven into 1131 collections 36. Hosts all Siyavula content covering Grade R to 12 (http://cnx.org/lenses/siyavula) 37. Powered by Plone 38. Why a mobile front end? 39. 10% Percentage of population with fixed-line internet access in South Africa 40. 84% Mobile penetration in South Africa 41. The Kindle of Africa 42. What is the Connexions mobile frontend?

  • Stripped down version ofhttp://cnx.org

43. Very conservative subset of XHTML tags 44. Transformed tables to lists were possible 45. Convert MathML to images 46. Resize images for mobile screen size 47. Custom transform for Mxit 48. 49. First implementation was in Diazo 50. Diazo feedback

  • Inline XSL is very cool makes it very easy to change the markup egtabletolist

51. Debugging is very painful difficult to debug why rules don't work 52. No easy way to do more complex transforms like the conversion of MathML to images 53. Code available at: https://software.cnx.rice.edu/svn/devsets/mobile-frontend/buildout/xdv 54. Coolest Diazo feature: Inline XSL 55. Next we tried Deliverance 56. Deliverance Feedback

  • Easy to find broken rules with debugging console

57. Advanced transforms possible using pure Python and pyref syntax 58. Code available at: https://software.cnx.rice.edu/svn/devsets/mobile-frontend/buildout/deliverance 59. With Deliverance you can have your Python

  • Invoke with:

60. Transform table to listin Pythonusinglxml : 61. Demo 62. Questions? 63. Attribution

  • http://www.flickr.com/photos/twopinkpossums/3652883147

64. http://www.flickr.com/photos/sully_aka__wstera2/1407282637 65. http://www.slideshare.net/stevevosloo/open-innov-africa-summit-sv-notes 66. http://www.slideshare.net/Jazkarta/deliverance-talk-at-plone-meetup