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

41
Plone: the open source CMS-as-a-service platform. An eGov case study Dylan Jay @djay75 pretagov.com

description

How we can grow plone by making it fun, cheap and fast to build by going eggless - online code editing. Case study of how we do this for our government clients

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

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

Plone: the open source CMS-as-a-service

platform.An eGov case study

Dylan Jay@djay75

pretagov.com

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

Who am I? - Dylan Jay - djay75

Selling Plone since 2003Founder: PretaWebPlone UI Team Leader

(for 2 weeks)Founder: PretaGov

The Locally hosted Plone Cloudfor Gov

UK, AU, +more

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

Plone is...

Plone is nichePlone is only good for governments/eduPlone is an “enterprise” CMSPlone is only good for intranets

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

Plone is not currently “hyped”

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

Plone usage hasn’t really changed

*couldn’t find graph*

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

“Wordpress powers the internet”

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

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)

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

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 $$$

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

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)].

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

Closer look at this “cloud”

Shared HostingPush code, but single shared server

X-as-a-servicemany 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

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

CMS - SaaS, PaaS or CMSaaS?

CMS is software, not a platform to build appsbut CMS is also a platform to build content sitesWordpress.com - more SaaS - configurable

“Custom design upgrade” = CSSDrupal Gardens - more SaaS- configurableBluehost, dreamhost = Shared HostingRackspace Cloud = installer = not maintained.Does CMS-as-a-service exist?

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

Plone - cloud by default

1 Zope = many Plone sitesZEO = 1 Plone, many serversDexterity = SaaS - zip upload? - not code.Diazo = PaaS-ish - zip upload - code-ishPlomino = PaaS - zip upload

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

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

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

What does this mean?

Plone can oversell more than Wordpress

Start your own plone cluster today!!!

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

plone.cpanel

Plone’s new root start page?

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

Through-the-web

1999 - My first zope app

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

TTW Code: Back to the future?

Cons● No version control● Can’t use normal development tools● Worked different than file-system code● RestrictedPython

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

but...

Pros ● Converted many many people to

zope/python/web

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

Dulwich project

pure python git repo- supports “git smart HTTP protocol”- Multiple Backends

FileObjectStore or MemoryObjectStore

https://github.com/jelmer/dulwich

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

plone.gitpush - How it will work1. Branch theme in p.a.theming2. cd src/mytheme/static3. git pull http://localhost:8080/Plone/++theme++mytheme/@@git themev34. Develop site using IDE etc5. git push http://localhost:8080/Plone/++theme++mytheme/@@git6. Theme switched & recompiled in production

https://github.com/collective/plone.gitpush

Work in progress- git smart http - done- MemoryObjectStore -> ZODB - todo

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

1. no site specific code deployed in eggs

2. no site specific code deployed in eggs3. diazo in eggs and git but deployed via zip4. need an app: try plomino5. template code using listingviews or

themingplugins or similiar6. only write eggs that are “generic” building

blocks - customised via diazo7. help develop plone.gitpush

Eggless Plone Manifesto

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

PretaGov 2013 - 100% eggless

Centre for genetics educationAboriginal housing officeNursing and midwifery awardsMulticultural Health Communication ServiceJustice HealthVictorian SESNSW Swimming Pool Registry...

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

Case Study: NSW Pool register

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

Tight Legislative deadlines

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

So far [redacted] pools registered by the public

[graph redacted]

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

Over 25 Forms and Pages

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

To be used by 150 councils

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

Forms able to be maintained by gov

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

Theme to be maintained by gov

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

Code can be updated quickly

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

Acceptance test driven development

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

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

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

Victorian SES

● Diazo for themes (intranet + extranet)● collective.listingviews (news view + listing)● Plomino - Caravan Park Emergency

Management Plan online tool

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

New dexterity view? Listingviews

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

Complex Sites - eggless

Achievement unlocked

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

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

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

eggless == innovation

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

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.

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

Why eggless is great for plone

Plone complexity is killing usLack of hosting is killing usIt means less but better pluginslower maintenanceWe can grow plone by making it fun, cheap and fast to build

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

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