+ All Categories
Home > Technology > BathCamp #32 - CMS Smackdown! - Plone

BathCamp #32 - CMS Smackdown! - Plone

Date post: 08-May-2015
Category:
Upload: matt-hamilton
View: 2,537 times
Download: 0 times
Share this document with a friend
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 EnginePlonePyroCMSPerchUmbracoDefacto
49
BathCamp CMS Smackdown! Matt Hamilton President, Plone Foundation
Transcript
Page 1: BathCamp #32 - CMS Smackdown! - Plone

BathCamp CMS Smackdown!

Matt HamiltonPresident, Plone Foundation

Page 2: BathCamp #32 - CMS Smackdown! - Plone

5 Things I Love about Plone

Page 3: BathCamp #32 - CMS Smackdown! - Plone

Love #1

The Community

Page 4: BathCamp #32 - CMS Smackdown! - Plone
Page 5: BathCamp #32 - CMS Smackdown! - Plone
Page 6: BathCamp #32 - CMS Smackdown! - Plone
Page 7: BathCamp #32 - CMS Smackdown! - Plone
Page 8: BathCamp #32 - CMS Smackdown! - Plone
Page 9: BathCamp #32 - CMS Smackdown! - Plone
Page 10: BathCamp #32 - CMS Smackdown! - Plone
Page 11: BathCamp #32 - CMS Smackdown! - Plone
Page 12: BathCamp #32 - CMS Smackdown! - Plone
Page 13: BathCamp #32 - CMS Smackdown! - Plone
Page 14: BathCamp #32 - CMS Smackdown! - Plone
Page 15: BathCamp #32 - CMS Smackdown! - Plone
Page 16: BathCamp #32 - CMS Smackdown! - Plone
Page 17: BathCamp #32 - CMS Smackdown! - Plone

Love #2

Buildout

Deployment, versioning, build, etc

Page 18: BathCamp #32 - CMS Smackdown! - Plone

[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

Page 19: BathCamp #32 - CMS Smackdown! - Plone

Love #3

The ZODB

Page 20: BathCamp #32 - CMS Smackdown! - Plone

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

Page 21: BathCamp #32 - CMS Smackdown! - Plone

ZODB

myobject.foo = ‘bar’

Page 22: BathCamp #32 - CMS Smackdown! - Plone

Love #4

Diazo

Theme any site (not even just Plone) without touching it. Really.

Page 23: BathCamp #32 - CMS Smackdown! - Plone

The next bit was a live demo, I’ve captured a few screenshots for this version of the presentation on

Slideshare

Page 24: BathCamp #32 - CMS Smackdown! - Plone

<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

Page 25: BathCamp #32 - CMS Smackdown! - Plone
Page 26: BathCamp #32 - CMS Smackdown! - Plone
Page 27: BathCamp #32 - CMS Smackdown! - Plone

<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

Page 28: BathCamp #32 - CMS Smackdown! - Plone
Page 29: BathCamp #32 - CMS Smackdown! - Plone
Page 30: BathCamp #32 - CMS Smackdown! - Plone
Page 31: BathCamp #32 - CMS Smackdown! - Plone
Page 32: BathCamp #32 - CMS Smackdown! - Plone
Page 33: BathCamp #32 - CMS Smackdown! - Plone

Love #5

Python

Page 34: BathCamp #32 - CMS Smackdown! - Plone

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

Page 35: BathCamp #32 - CMS Smackdown! - Plone

5 Things I Hate about Plone

Page 36: BathCamp #32 - CMS Smackdown! - Plone

Hate #1

Legacy Code

Page 37: BathCamp #32 - CMS Smackdown! - Plone

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

Page 38: BathCamp #32 - CMS Smackdown! - Plone

Legacy Code

Page 39: BathCamp #32 - CMS Smackdown! - Plone

Hate #2

Old Documentation

Page 40: BathCamp #32 - CMS Smackdown! - Plone
Page 41: BathCamp #32 - CMS Smackdown! - Plone

Hate #3

Everything in the Catalog

Page 42: BathCamp #32 - CMS Smackdown! - Plone

Everything in Catalog

• Seemed a good idea at the time

• Solr etc didn’t exist back then

Page 43: BathCamp #32 - CMS Smackdown! - Plone

Hate #4

Quality & Evolution not obvious

Page 44: BathCamp #32 - CMS Smackdown! - Plone
Page 45: BathCamp #32 - CMS Smackdown! - Plone
Page 46: BathCamp #32 - CMS Smackdown! - Plone
Page 47: BathCamp #32 - CMS Smackdown! - Plone

Hate #5

Democratic nature can mean slow fruition of ideas

Page 48: BathCamp #32 - CMS Smackdown! - Plone

Democratic

• No one company

• Means you don’t get lead down one route

• Means consensus can take a while

Page 49: BathCamp #32 - CMS Smackdown! - Plone

http://plone.org@plone


Recommended