BathCamp CMS Smackdown!




      Matt Hamilton
    President, Plone Foundation
5 Things I Love about
        Plone
Love               #1


   The Community
Love                                        #2


              Buildout
       Deployment, versioning, build, etc
[buildout]
extensions = mr.developer
parts =
    productdistros
    instance
    zopepy

# Change the number here to change the version of Plone being used
extends =
    http://dist.plone.org/release/4.2b2/versions.cfg
versions = versions
sources = 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 here
eggs =
    PIL
    collective.cookiecontrol

# Reference any eggs you are developing here, one per line
# e.g.: develop = src/my.package
develop =
   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.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" />

</rules>
rules2.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
e652e7269676874636f6c756d6e0a636f6e746578740a2f506c6f6e650a657665
6e7473" />

</rules>
Love            #5


       Python
Python
"When
 I
 used
 to
 program
 in
 Java
 I
 used
 to
 first
 
think
 how
 to
 solve
 the

BathCamp #32 - CMS Smackdown! - Plone

  • 1.
    BathCamp CMS Smackdown! Matt Hamilton President, Plone Foundation
  • 2.
    5 Things ILove about Plone
  • 3.
    Love #1 The Community
  • 17.
    Love #2 Buildout Deployment, versioning, build, etc
  • 18.
    [buildout] extensions = mr.developer parts= productdistros instance zopepy # Change the number here to change the version of Plone being used extends = http://dist.plone.org/release/4.2b2/versions.cfg versions = versions sources = 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 here eggs = PIL collective.cookiecontrol # Reference any eggs you are developing here, one per line # e.g.: develop = src/my.package develop = src/collective.cookiecontrol
  • 19.
    Love #3 The ZODB
  • 20.
    ZODB • Released inlate 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
  • 21.
  • 22.
    Love #4 Diazo Theme any site (not even just Plone) without touching it. Really.
  • 23.
    The next bitwas a live demo, I’ve captured a few screenshots for this version of the presentation on Slideshare
  • 24.
    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" /> </rules>
  • 27.
    rules2.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 e652e7269676874636f6c756d6e0a636f6e746578740a2f506c6f6e650a657665 6e7473" /> </rules>
  • 33.
    Love #5 Python
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.
  • 57.
  • 58.
  • 59.
  • 60.
  • 61.
  • 62.
  • 63.
  • 64.
  • 65.
  • 66.
  • 67.
  • 68.
  • 69.
  • 70.
  • 71.
  • 72.
  • 73.
  • 74.
     it Matt Sital-Singh, Netsight Developer
  • 75.
    5 Things IHate about Plone
  • 76.
    Hate #1 Legacy Code
  • 77.
    Legacy Code • Whenyou’ve been around over a decade, you accumulate a lot of code. The world moves on • Major refactoring going on Zope 4 = -20% code
  • 78.
  • 79.
    Hate #2 Old Documentation
  • 81.
    Hate #3 Everything in the Catalog
  • 82.
    Everything in Catalog •Seemed a good idea at the time • Solr etc didn’t exist back then
  • 83.
    Hate #4 Quality Evolution not obvious
  • 87.
    Hate #5 Democratic nature can mean slow fruition of ideas
  • 88.
    Democratic • No onecompany • Means you don’t get lead down one route • Means consensus can take a while
  • 89.