the eggless plone manifesto (or plone the open source cms-as-a-service platform)
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 clientsTRANSCRIPT
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 2003Founder: PretaWebPlone UI Team Leader
(for 2 weeks)Founder: PretaGov
The Locally hosted Plone Cloudfor Gov
UK, AU, +more
Plone is...
Plone is nichePlone is only good for governments/eduPlone is an “enterprise” CMSPlone 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 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
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?
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
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 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
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
PretaGov 2013 - 100% eggless
Centre for genetics educationAboriginal housing officeNursing and midwifery awardsMulticultural Health Communication ServiceJustice HealthVictorian SESNSW 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 usLack of hosting is killing usIt means less but better pluginslower maintenanceWe 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