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
The eggless Plone manifesto (or Plone the open source cms-as-a-service platform)
1. Plone: the open source
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
3.
4. Plone is...
Plone is niche
Plone is only good for governments/edu
Plone is an “enterprise” CMS
Plone is only good for intranets
8. 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)
9. 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 $$$
10. 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)].
11. 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
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 - 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
14. 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
15. What does this mean?
Plone can oversell more than Wordpress
Start your own plone cluster today!!!
18. TTW Code: Back to the future?
Cons
● No version control
● Can’t use normal development tools
● Worked different than file-system code
● RestrictedPython
20. Dulwich project
pure python git repo
- supports “git smart HTTP protocol”
- Multiple Backends
FileObjectStore or MemoryObjectStore
https://github.com/jelmer/dulwich
21. 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
22. 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
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
...
33. 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
34. Victorian SES
● Diazo for themes (intranet + extranet)
● collective.listingviews (news view + listing)
● Plomino - Caravan Park Emergency
Management Plan online tool
37. 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
39. 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.
40. 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
41. 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