Plone pwns
Upcoming SlideShare
Loading in...5

Plone pwns



Plone: Why it is better than your CMS. When to use a CMS vs a framewo. What makes a good CMS.

Plone: Why it is better than your CMS. When to use a CMS vs a framewo. What makes a good CMS.



Total Views
Views on SlideShare
Embed Views



3 Embeds 193 77 61 55



Upload Details

Uploaded via as OpenOffice

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment
  • note, plone is one of the only single software solutions that crosses three areas of functionality
  • If plone is so good, why not more popular? Public sites vs intranets. Hosting.
  • Not owned by one company, trade mark controlled by the Plone Foundation. Plone can never be bought out or shut down so users can never be stranded. STA - 1 million uniques a month

Plone pwns Plone pwns Presentation Transcript

  • Sydney Python Meetup Feb
  • Why its better than your CMS
  • How sites are built
  • Backend Developer (plugins)
  • Themer
  • Integrator
  • Content Editor
  • Administrator
  • Simple Blog Simple CMS e.g. wordpressYour Team Off the shelf
  • CMS ShopClient Team Your Team Off the shelf
  • Intranet/ECMSYour Team Off the shelf
  • CMSaaS (e.g. SaaS providerYou team
  • Startup/App e.g. Django/pyramidYour Team Off the shelf
  • Dylans Law of Frameworks“The bigger the framework, the bigger thelearning curve, the greater the inflexibility... but the bigger the chance you can usesomeone else code”
  • Plone is easy to use
  • DEMOhttp://ploud.net
  • Plone vs. …
  • Who uses Plone?
  • Intranets
  • Plone is Fast
  • Chameleon
  • Easy to cache
  • Is it secure?
  • Plone Security Record (3Y)
  • @LulzSec VS.
  • LulzSec targeted Hacked...DDoS Wordpress sub-site
  • Easy Theming
  • Diazo
  • Diazoe.g. <replace css:theme="#content” css:content=”#plone-content">
  • Easy Codefrom five import grokfrom Products.CMFDefault.interfaces importIDocumentclass HelloWorld(grok.View): grok.context(IDocument) grok.requires(zope2.View)
  • True Open Development
  • How do I get a Plone site?
  • Self Host
  • Commercial Service Providers
  • SaaS
  • Why Python?
  • Python …Fast to writeEasy to maintainRuns on anythingCan be optimised with CConnects to anythingSecurePopular…
  • Where’s the database?
  • Zope Object Databasestorage = FileStorage.FileStorage(’db.fs) new User instance # Createdb = DB(storage) newuser = User()conn = # Add whatever attributes you want to track class User(Persistent): = amk pass newuser.first_name = Andrew ; newuser.last_name = Ku ...dbroot = conn.root() # Add object to the BTree, keyed on the ID# Ensure that a userdb key is present userdb[] = newuser# in the rootif not dbroot.has_key(userdb): # Commit the change from BTrees.OOBTree import OOBTree transaction.commit() dbroot[userdb] = OOBTree()userdb = dbroot[userdb]
  • ZODB makes complex structures easy
  • What’s the future of Plone?
  • CMSUI & Deco
  • How do I get support?
  • Dylan Jay