Plone: the open source
CMS-as-a-service
platform.
An eGov case study
Dylan Jay
@djay75
pretagov.com
Who am I? - Dylan Jay - djay75
Selling Plone since 2003
Founder: PretaWeb
Plone UI Team Leader
(for 2 weeks)
Founder: PretaGov
The Locally hosted
Plone Cloud
for Gov
UK, AU, +more
Plone is...
Plone is niche
Plone is only good for governments/edu
Plone is an “enterprise” CMS
Plone is only good for intranets
Plone is not currently “hyped”
Plone usage hasn’t really changed
*couldn’t find graph*
“Wordpress powers the internet”
Getting started with Wordpress
● Wordpress.com - free - 1h
● bluehost, rackspace cloud etc - $ - 1h
● any LAMP host with cPanel - $ - 1h
● any LAMP host - $ - 2h
● download on own server - $$ - 1d
● any VM host - $ - 1d
● work with WP web designer - $$ - 2w
● themeforest.com (11,305 site
templates/themes)
Getting started with Plone
● Work with a Plone company $$$ - 4w-4m
● any VM host - $$ - 2d
● download on own server - $$ - 2d
● ploud.com - free - 1h
● custom theme designed from Plone
company $$$
Why wordpress? Blame the cloud
“a model for enabling ubiquitous, convenient,
on-demand network access to a shared pool of
configurable computing resources (e.g.
networks, servers, storage, applications, and
services) that can be rapidly provisioned and
released with minimal management effort or
service provider interaction” [NIST Special Publication 800-145: NIST
Definition of Cloud Computing (PDF)].
Closer look at this “cloud”
Shared Hosting
Push code, but single shared server
X-as-a-service
many servers - you just worry about X.
Infrastructure-as-a-service (IaaS)
virtual machines, storage e.g. Ec2, S2
Software-as-a-service (SaaS)
configure online, use app. No “programming”.
Platform-as-a-service (PaaS)
Develop locally, Push code e.g. AppEngine
CMS - SaaS, PaaS or CMSaaS?
CMS is software, not a platform to build apps
but CMS is also a platform to build content sites
Wordpress.com - more SaaS - configurable
“Custom design upgrade” = CSS
Drupal Gardens - more SaaS- configurable
Bluehost, dreamhost = Shared Hosting
Rackspace Cloud = installer = not maintained.
Does CMS-as-a-service exist?
Plone - cloud by default
1 Zope = many Plone sites
ZEO = 1 Plone, many servers
Dexterity = SaaS - zip upload? - not code.
Diazo = PaaS-ish - zip upload - code-ish
Plomino = PaaS - zip upload
LAMP vs Zope RAM unloading
CMS Code Site Code DB CMS Code
Shared
LAMP yes yes yes no
Zope sep.
DB
no no no yes
Zope shared
DB
no no yes yes
Zope shared
DB, TTW
code
no yes yes yes
What does this mean?
Plone can oversell more than Wordpress
Start your own plone cluster today!!!
plone.cpanel
Plone’s new root start page?
Through-the-web
1999 - My first zope app
TTW Code: Back to the future?
Cons
● No version control
● Can’t use normal development tools
● Worked different than file-system code
● RestrictedPython
but...
Pros
● Converted many many people to
zope/python/web
Dulwich project
pure python git repo
- supports “git smart HTTP protocol”
- Multiple Backends
FileObjectStore or MemoryObjectStore
https://github.com/jelmer/dulwich
plone.gitpush - How it will work
1. Branch theme in p.a.theming
2. cd src/mytheme/static
3. git pull http://localhost:8080/Plone/++theme++mytheme/@@git themev3
4. Develop site using IDE etc
5. git push http://localhost:8080/Plone/++theme++mytheme/@@git
6. Theme switched & recompiled in production
https://github.com/collective/plone.gitpush
Work in progress
- git smart http - done
- MemoryObjectStore -> ZODB - todo
1. no site specific code deployed
in eggs
2. no site specific code deployed in eggs
3. diazo in eggs and git but deployed via zip
4. need an app: try plomino
5. template code using listingviews or
themingplugins or similiar
6. only write eggs that are “generic” building
blocks - customised via diazo
7. help develop plone.gitpush
Eggless Plone Manifesto
PretaGov 2013 - 100% eggless
Centre for genetics education
Aboriginal housing office
Nursing and midwifery awards
Multicultural Health Communication Service
Justice Health
Victorian SES
NSW Swimming Pool Registry
...
Case Study: NSW Pool register
Tight Legislative deadlines
So far [redacted] pools registered by
the public
[graph redacted]
Over 25 Forms and Pages
To be used by 150 councils
Forms able to be maintained by gov
Theme to be maintained by gov
Code can be updated quickly
Acceptance test driven development
Egg code we did deploy
● plomino2pdf - diazo code creates certificates
● Plomino updates - still under development
● pretaweb.plominolib - some hashing code
● collective.pfg.signup - Custom user signup
form framework with approval
Victorian SES
● Diazo for themes (intranet + extranet)
● collective.listingviews (news view + listing)
● Plomino - Caravan Park Emergency
Management Plan online tool
New dexterity view? Listingviews
Complex Sites - eggless
Achievement unlocked
Why eggless is great for gov
● Given Governments love the cloud -
outsource reliability/responsibility
○ Try without consultation
● and gov love fixed price contracts
● but code change
● however public servants hate asking for new
money
● require more moneybgov maintenance of
online code/forms/html/css is the solution
eggless == innovation
Teach a man a cloud based
application builder…
he will use his local knowledge of demand and
supply in the local fish industry to create a
thriving new fish related business.
Why eggless is great for plone
Plone complexity is killing us
Lack of hosting is killing us
It means less but better plugins
lower maintenance
We can grow plone by making it fun, cheap and
fast to build
Yes, it’s about the great
community… but
It should be a great community whose software
you can recommend to a taxi driver.
Let’s get eggless!
http:/www.pretagov.com

The eggless Plone manifesto (or Plone the open source cms-as-a-service platform)

  • 1.
    Plone: the opensource CMS-as-a-service platform. An eGov case study Dylan Jay @djay75 pretagov.com
  • 2.
    Who am I?- Dylan Jay - djay75 Selling Plone since 2003 Founder: PretaWeb Plone UI Team Leader (for 2 weeks) Founder: PretaGov The Locally hosted Plone Cloud for Gov UK, AU, +more
  • 4.
    Plone is... Plone isniche Plone is only good for governments/edu Plone is an “enterprise” CMS Plone is only good for intranets
  • 5.
    Plone is notcurrently “hyped”
  • 6.
    Plone usage hasn’treally changed *couldn’t find graph*
  • 7.
  • 8.
    Getting started withWordpress ● Wordpress.com - free - 1h ● bluehost, rackspace cloud etc - $ - 1h ● any LAMP host with cPanel - $ - 1h ● any LAMP host - $ - 2h ● download on own server - $$ - 1d ● any VM host - $ - 1d ● work with WP web designer - $$ - 2w ● themeforest.com (11,305 site templates/themes)
  • 9.
    Getting started withPlone ● Work with a Plone company $$$ - 4w-4m ● any VM host - $$ - 2d ● download on own server - $$ - 2d ● ploud.com - free - 1h ● custom theme designed from Plone company $$$
  • 10.
    Why wordpress? Blamethe cloud “a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g. networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction” [NIST Special Publication 800-145: NIST Definition of Cloud Computing (PDF)].
  • 11.
    Closer look atthis “cloud” Shared Hosting Push code, but single shared server X-as-a-service many servers - you just worry about X. Infrastructure-as-a-service (IaaS) virtual machines, storage e.g. Ec2, S2 Software-as-a-service (SaaS) configure online, use app. No “programming”. Platform-as-a-service (PaaS) Develop locally, Push code e.g. AppEngine
  • 12.
    CMS - SaaS,PaaS or CMSaaS? CMS is software, not a platform to build apps but CMS is also a platform to build content sites Wordpress.com - more SaaS - configurable “Custom design upgrade” = CSS Drupal Gardens - more SaaS- configurable Bluehost, dreamhost = Shared Hosting Rackspace Cloud = installer = not maintained. Does CMS-as-a-service exist?
  • 13.
    Plone - cloudby default 1 Zope = many Plone sites ZEO = 1 Plone, many servers Dexterity = SaaS - zip upload? - not code. Diazo = PaaS-ish - zip upload - code-ish Plomino = PaaS - zip upload
  • 14.
    LAMP vs ZopeRAM unloading CMS Code Site Code DB CMS Code Shared LAMP yes yes yes no Zope sep. DB no no no yes Zope shared DB no no yes yes Zope shared DB, TTW code no yes yes yes
  • 15.
    What does thismean? Plone can oversell more than Wordpress Start your own plone cluster today!!!
  • 16.
  • 17.
  • 18.
    TTW Code: Backto the future? Cons ● No version control ● Can’t use normal development tools ● Worked different than file-system code ● RestrictedPython
  • 19.
    but... Pros ● Converted manymany people to zope/python/web
  • 20.
    Dulwich project pure pythongit repo - supports “git smart HTTP protocol” - Multiple Backends FileObjectStore or MemoryObjectStore https://github.com/jelmer/dulwich
  • 21.
    plone.gitpush - Howit will work 1. Branch theme in p.a.theming 2. cd src/mytheme/static 3. git pull http://localhost:8080/Plone/++theme++mytheme/@@git themev3 4. Develop site using IDE etc 5. git push http://localhost:8080/Plone/++theme++mytheme/@@git 6. Theme switched & recompiled in production https://github.com/collective/plone.gitpush Work in progress - git smart http - done - MemoryObjectStore -> ZODB - todo
  • 22.
    1. no sitespecific code deployed in eggs 2. no site specific code deployed in eggs 3. diazo in eggs and git but deployed via zip 4. need an app: try plomino 5. template code using listingviews or themingplugins or similiar 6. only write eggs that are “generic” building blocks - customised via diazo 7. help develop plone.gitpush Eggless Plone Manifesto
  • 23.
    PretaGov 2013 -100% eggless Centre for genetics education Aboriginal housing office Nursing and midwifery awards Multicultural Health Communication Service Justice Health Victorian SES NSW Swimming Pool Registry ...
  • 24.
    Case Study: NSWPool register
  • 25.
  • 26.
    So far [redacted]pools registered by the public [graph redacted]
  • 27.
    Over 25 Formsand Pages
  • 28.
    To be usedby 150 councils
  • 29.
    Forms able tobe maintained by gov
  • 30.
    Theme to bemaintained by gov
  • 31.
    Code can beupdated quickly
  • 32.
  • 33.
    Egg code wedid deploy ● plomino2pdf - diazo code creates certificates ● Plomino updates - still under development ● pretaweb.plominolib - some hashing code ● collective.pfg.signup - Custom user signup form framework with approval
  • 34.
    Victorian SES ● Diazofor themes (intranet + extranet) ● collective.listingviews (news view + listing) ● Plomino - Caravan Park Emergency Management Plan online tool
  • 35.
    New dexterity view?Listingviews
  • 36.
    Complex Sites -eggless Achievement unlocked
  • 37.
    Why eggless isgreat for gov ● Given Governments love the cloud - outsource reliability/responsibility ○ Try without consultation ● and gov love fixed price contracts ● but code change ● however public servants hate asking for new money ● require more moneybgov maintenance of online code/forms/html/css is the solution
  • 38.
  • 39.
    Teach a mana cloud based application builder… he will use his local knowledge of demand and supply in the local fish industry to create a thriving new fish related business.
  • 40.
    Why eggless isgreat for plone Plone complexity is killing us Lack of hosting is killing us It means less but better plugins lower maintenance We can grow plone by making it fun, cheap and fast to build
  • 41.
    Yes, it’s aboutthe great community… but It should be a great community whose software you can recommend to a taxi driver. Let’s get eggless! http:/www.pretagov.com