When Plone is not the right fit
Carlos de la Guardia
Plone is great
● But sometimes, it’s just not what you need.
● Plone is a CMS. Are you sure there is a CM in your S?
● Lots o features, but for CMS “I don’t need that, or
that, or that.”
● Is it a right fit for the customer? “That’s nice, but can
we add this, and this, and that?”
● “Can we do this just like framework X?”
Shoehorning your project into Plone is not good
● For you:
– fighting the framework.
– complex development.
● For your customer:
– substandard features.
– bad usability.
● For Plone:
– Bad reputation.
Some common situations
● Move a static website into Plone.
● Need simple app to get data from Plone.
● Need completely new app that interacts with Plone.
● Need completely independent app.
Move a static website into Plone
● Is it possible to just host it using Apache or
● If not, a simple way is to add it as a directory
● If a small site, can just add Plone pages and
● For larger sites, consider using transmogrifier.
Need simple application to get data from Plone
● To get the data:
– Write special json code from Plone views.
– Please, no web scrapping.
● To create the application:
– Lightweight web app using Python or other language
(if you must).
– JS only app.
– A combination of both.
Need new application that integrates with Plone
● Similar to previous case, but warrants a deeper analysis of the
● Explore best tool for the job. How much flexibility is needed?
● How to “talk” to plone? Per request communication can be costly.
● Sync data with celery tasks or other queuing mechanisms.
● Consider shared catalog using solr or elastic search.
● For a great case study, don’t miss David Glick’s talk about
integrating Plone with Pyramid and several other pieces, at 14:50
Need completely independent application
● You are not forced to use Plone for everything.
We won’t take it as an affront.
● Many options. First question is: how many
decisions can be made for you before you start?
● Make a short list and try to compare
features/flexibility/time to learn.
● Try things out when possible.
What to use instead of Plone
● Depends on type of application.
● Plenty more options.
Why Pyramid might be a good fit for Plone
● It’s part of the family!
● Zope Page Templates (Chameleon).
● Similar concepts:
– Interfaces (ZCA).
● Works very well as a lightweight backend for ReactJS or
● Much more flexible than Django, more robust than