SlideShare ist ein Scribd-Unternehmen logo
1 von 12
When Plone is not the right fit
Carlos de la Guardia
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
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
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
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
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
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
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
What to use instead of Plone
● Depends on type of application.
● Django.
● Pyramid.
● Flask?
● Plenty more options.
10
Shameless plug
Free ebook.
http://www.oreilly.com/web-platform/free/python-
web-frameworks.csp
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
Thank You!
Questions?
carlos@jazkarta.com
@cguardia

Weitere ähnliche Inhalte

Mehr von Carlos de la Guardia

Mehr von Carlos de la Guardia (10)

Pyramid as a base for higher level frameworks
Pyramid as a base for higher level frameworksPyramid as a base for higher level frameworks
Pyramid as a base for higher level frameworks
 
Pyramid patterns
Pyramid patternsPyramid patterns
Pyramid patterns
 
Pyramid tutorial
Pyramid tutorialPyramid tutorial
Pyramid tutorial
 
Pyramid faq
Pyramid faqPyramid faq
Pyramid faq
 
ZODB Tips and Tricks
ZODB Tips and TricksZODB Tips and Tricks
ZODB Tips and Tricks
 
Python intro for Plone users
Python intro for Plone usersPython intro for Plone users
Python intro for Plone users
 
Pyramid deployment
Pyramid deploymentPyramid deployment
Pyramid deployment
 
A winning combination: Plone as CMS and your favorite Python web framework as...
A winning combination: Plone as CMS and your favorite Python web framework as...A winning combination: Plone as CMS and your favorite Python web framework as...
A winning combination: Plone as CMS and your favorite Python web framework as...
 
World Plone Day 2008 Mexico
World Plone Day 2008 MexicoWorld Plone Day 2008 Mexico
World Plone Day 2008 Mexico
 
Turning Plone into a dynamic site factory
Turning Plone into a dynamic site factoryTurning Plone into a dynamic site factory
Turning Plone into a dynamic site factory
 

Kürzlich hochgeladen

UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)Dr SOUNDIRARAJ N
 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024hassan khalil
 
computer application and construction management
computer application and construction managementcomputer application and construction management
computer application and construction managementMariconPadriquez1
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerAnamika Sarkar
 
Work Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvWork Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvLewisJB
 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxwendy cai
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionDr.Costas Sachpazis
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxJoão Esperancinha
 
An introduction to Semiconductor and its types.pptx
An introduction to Semiconductor and its types.pptxAn introduction to Semiconductor and its types.pptx
An introduction to Semiconductor and its types.pptxPurva Nikam
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024Mark Billinghurst
 
Arduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptArduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptSAURABHKUMAR892774
 
Risk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfRisk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfROCENODodongVILLACER
 
Introduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxIntroduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxk795866
 
Churning of Butter, Factors affecting .
Churning of Butter, Factors affecting  .Churning of Butter, Factors affecting  .
Churning of Butter, Factors affecting .Satyam Kumar
 
Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.eptoze12
 

Kürzlich hochgeladen (20)

UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024
 
computer application and construction management
computer application and construction managementcomputer application and construction management
computer application and construction management
 
POWER SYSTEMS-1 Complete notes examples
POWER SYSTEMS-1 Complete notes  examplesPOWER SYSTEMS-1 Complete notes  examples
POWER SYSTEMS-1 Complete notes examples
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
 
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
 
Work Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvWork Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvv
 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptx
 
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptxExploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
 
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
 
An introduction to Semiconductor and its types.pptx
An introduction to Semiconductor and its types.pptxAn introduction to Semiconductor and its types.pptx
An introduction to Semiconductor and its types.pptx
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024
 
Arduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptArduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.ppt
 
Risk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfRisk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdf
 
young call girls in Green Park🔝 9953056974 🔝 escort Service
young call girls in Green Park🔝 9953056974 🔝 escort Serviceyoung call girls in Green Park🔝 9953056974 🔝 escort Service
young call girls in Green Park🔝 9953056974 🔝 escort Service
 
Introduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxIntroduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptx
 
Churning of Butter, Factors affecting .
Churning of Butter, Factors affecting  .Churning of Butter, Factors affecting  .
Churning of Butter, Factors affecting .
 
Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.
 

When Plone is not the right fit

  • 1. When Plone is not the right fit Carlos de la Guardia
  • 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 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 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 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 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 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 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 What to use instead of Plone ● Depends on type of application. ● Django. ● Pyramid. ● Flask? ● Plenty more options.
  • 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.