bathcamp #32 - cms smackdown! - plone
DESCRIPTION
A bit of a different format for BathCamp in June. We’ll be cage fighting.No.Actually, it’s a sort of follow on from our previous BathCamp – a comparison of as many CMS systems as we can get people to talk about.Obviously any comparison of CMS system is heavily caveated with an “it depends…” but nonetheless we think it’ll be interesting to hear from people talking about the good, the bad and the ugly of the systems they use.The format of the talks will be “5 things I love about this CMS and 5 things I hate”, followed by time for questions and general CMS-like banter.We’ve got the following lined up:WordPressDrupalExpression EnginePlonePyroCMSPerchUmbracoDefactoTRANSCRIPT
BathCamp CMS Smackdown!
Matt HamiltonPresident, Plone Foundation
5 Things I Love about Plone
Love #1
The Community
Love #2
Buildout
Deployment, versioning, build, etc
[buildout]extensions = mr.developerparts = productdistros instance zopepy
# Change the number here to change the version of Plone being usedextends = http://dist.plone.org/release/4.2b2/versions.cfgversions = versionssources = sources
# Add additional egg download sources here. dist.plone.org contains archives# of Plone packages.find-links = http://dist.plone.org/release/4.2b2 http://dist.plone.org/thirdparty
# Add additional eggs hereeggs = PIL collective.cookiecontrol
# Reference any eggs you are developing here, one per line# e.g.: develop = src/my.packagedevelop = src/collective.cookiecontrol
Love #3
The ZODB
ZODB
• Released in late 90’s -- yeah we’ve been doing NoSQL since before your CMS was a glint in your creators eye
• Transparent object persistence
• Full ACID-compatible transaction support
• Pluggable storages
ZODB
myobject.foo = ‘bar’
Love #4
Diazo
Theme any site (not even just Plone) without touching it. Really.
The next bit was a live demo, I’ve captured a few screenshots for this version of the presentation on
Slideshare
<rules xmlns="http://namespaces.plone.org/diazo" xmlns:css="http://namespaces.plone.org/diazo/css" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<theme href="http://bathcamp.org/" />
<replace css:theme-children="#content" css:content-children="#content" />
</rules>
rules.xml
<rules xmlns="http://namespaces.plone.org/diazo" xmlns:css="http://namespaces.plone.org/diazo/css" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<theme href="http://bathcamp.org/" />
<replace css:theme-children="#content" css:content-children="#content" />
<replace css:theme-children="#em_widget-4" css:content-children="#portletwrapper-706c6f6\e652e7269676874636f6c756d6e0a636f6e746578740a2f506c6f6e650a6576656e7473" />
</rules>
rules2.xml
Love #5
Python
Python
"When����������� ������������������ I����������� ������������������ used����������� ������������������ to����������� ������������������ program����������� ������������������ in����������� ������������������ Java����������� ������������������ I����������� ������������������ used����������� ������������������ to����������� ������������������ first����������� ������������������ think����������� ������������������ how����������� ������������������ to����������� ������������������ solve����������� ������������������ the����������� ������������������ problem,����������� ������������������ then����������� ������������������ I����������� ������������������ had����������� ������������������ to����������� ������������������ think����������� ������������������ how����������� ������������������ to����������� ������������������ code����������� ������������������ that����������� ������������������ in����������� ������������������ Java.����������� ������������������
With����������� ������������������ Python����������� ������������������ I����������� ������������������ think����������� ������������������ how����������� ������������������ to����������� ������������������ solve����������� ������������������ the����������� ������������������ problem,����������� ������������������ then����������� ������������������ just����������� ������������������ write����������� ������������������ it"
Matt Sital-Singh, Netsight Developer
5 Things I Hate about Plone
Hate #1
Legacy Code
Legacy Code
• When you’ve been around over a decade, you accumulate a lot of code. The world moves on
• Major refactoring going on Zope 4 = -20% code
Legacy Code
Hate #2
Old Documentation
Hate #3
Everything in the Catalog
Everything in Catalog
• Seemed a good idea at the time
• Solr etc didn’t exist back then
Hate #4
Quality & Evolution not obvious
Hate #5
Democratic nature can mean slow fruition of ideas
Democratic
• No one company
• Means you don’t get lead down one route
• Means consensus can take a while