Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

When Plone is not the right fit


Published on

Which approach to take as a plone developer when faced with new projects connected with existing Plone sites.

Published in: Engineering

When Plone is not the right fit

  1. 1. When Plone is not the right fit Carlos de la Guardia
  2. 2. 2 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?”
  3. 3. 3 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.
  4. 4. 4 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.
  5. 5. 5 Move a static website into Plone ● Is it possible to just host it using Apache or Nginx? ● If not, a simple way is to add it as a directory resource. ● If a small site, can just add Plone pages and copy/paste. ● For larger sites, consider using transmogrifier.
  6. 6. 6 Need simple application to get data from Plone ● To get the data: – Plone.restapi. – 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.
  7. 7. 7 Need new application that integrates with Plone ● Similar to previous case, but warrants a deeper analysis of the requirements. ● 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 today!
  8. 8. 8 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.
  9. 9. 9 What to use instead of Plone ● Depends on type of application. ● Django. ● Pyramid. ● Flask? ● Plenty more options.
  10. 10. 10 Shameless plug Free ebook. web-frameworks.csp
  11. 11. 11 Why Pyramid might be a good fit for Plone developers ● It’s part of the family! ● Zope Page Templates (Chameleon). ● Similar concepts: – Context. – Traversal. – Interfaces (ZCA). ● Works very well as a lightweight backend for ReactJS or Angular apps. ● Much more flexible than Django, more robust than Flask.
  12. 12. 12 Thank You! Questions? @cguardia