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

Post on 12-May-2015

1.522 Views

Category:

Technology

3 Downloads

Preview:

Click to see full reader

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

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

top related