SlideShare a Scribd company logo
1 of 63
Download to read offline
/
A History of Web
Alexander Loechel
CC 3.0-BY-SA Wolfgang Sauber
https://commons.wikimedia.org/wiki/File:MNH_-_Mumie_Frau_1.jpg
Keynote Panel Discussion PyCon 2017
https://www.youtube.com/watch?v=iOUrf7WSSLc
What is
?
EVER TEAM
– CITRIX
–
BOX
ACCELLION
SPRINGCM
M-FILES
HYLAND
ALFRESCO
IMANAGE
SYNCPLICITY
EQUILIBRIUM
CANTO
WAVE
RAZUNA
NETX
EXTENSIS
BRIGHT
INTERACTIVE
FOTOWARE
MERLINONE
PICTUREPARK
WEBDAM
WIDEN
WOODWING
RESOURCESPACEBRANDWORKZ
ATLASSIAN
THOUGHTFARMER
VERINT
ATOS
BLUEKIWI
TRACTION
IGLOO
–
MANGO APPS
FACEBOOKSLACK
JIVE
EXO
SITRION
HARMON.IE
NEUDESIC
INTERACT
VMWARETIBCO
ATEX
–
GOSS
–
EPISERVER
SITECORE
COREMEDIA
TYPO3
CCI EUROPE
EZ SYSTEMS
E-SPIRIT
ENONIC
CROWNPEAK
CONTENTFUL
HANNON HILL
HIPPO
GX
ELCOM
UMBRACO
KENTICO
OMNIUPDATE
–
BRIGHTSPOT –
CRAFTER SOFTWARE –
CONTENS –
INGENIUX
DOTNETNUKE
JOOMLA!
MODX
TELERIK
TERMINALFOUR –
MAGNOLIA
UPLAND SOFTWARELIFERAY
BACKBASE
MARKETO
HUBSPOT
VUTURE
ACT-ON
INFUSIONSOFT
APRIMO
ESKO/
MEDIABEACON
NORTH
PLAINS
CELUM
CENSHARE ENTERMEDIA
INTELLIGENCE BANK
BYNDER
AVID
STYLELABS
ADAM
KEY
Digital Workplace & Marketing Technology Vendor Map
Real Story Group’s vendor evaluations and advisory services have helped
thousands of organizations find their way. We can help you too.
—download a sample today:
www.realstorygroup.com/try
Web Content & Experience Management
Digital and Marketing Asset Management
Enterprise Collaboration & Social Software
Campaign & Lead Management Technology
Enterprise Portals
ECM & Cloud File Sharing
Take a test ride
Real Story Group
www.realstorygroup.com/vendormap/
SAP
SDL
SALESFORCE
EMC-DELL
GOOGLE
PLONE
DRUPAL
NUXEO
IBMOPENTEXT
ORACLE
MICROSOFT
ADOBE
WORDPRESS
(https://www.realstorygroup.com/Blog/3193-Updates-to-WCM-Vendor-Reviews)
„Plone soldiers on as the most venerable
Python-based CMS platform …“
Plone 5 - Plone the Product
CMSContent Management System
Plone is NOT a
web framework
Plone is a
Content Integration
Framework
(Enterprise Portal)
Plone / Open Source is
about Community
Brett Cannon, Python Core Dev
„come for the language, 

stay for the community.“
You can take the man out of Plone
But you could not take the Plone out of the man
Source: Laurence Rowe - Plone Open Garden 2015 - Sorrento
A History of Python Web
Why . ?
Brandon Rhodes
Intro to Plone Keynote PyCon 2016
Plone & Python Web History?
But Start at the
Beginning
A Workshop on Python at NIST
-> SPAM 1 -> First PyCon
Attendees
http://legacy.python.org/workshops/1994-11/attendees.pics.html
Keynote Panel Discussion PyCon 2017
https://www.youtube.com/watch?v=iOUrf7WSSLc
A Workshop on Python at NIST

SPAM 1 - First PyCon - Topics
I've assembled a strawman list of topics for discussion. New topics

and comments on the topics listed are certainly welcome.
1. Requirements for a "Safe" Python interpreter
2. A standard GUI module interface definition for Python
3. The requirements for persistent objects in Python
4. A Python engineering graphs package
5. The standard Python WWW interface
6. Embedding Python in a WWW client
7. Technical information management using Python
8. Support for dynamic loading of foreign language modules in Python
9. Replacing make, rcs, and cvs with Python
10.An Electronic Data Interchange library for Python
11.Discussing the formation of a Python Consortium
Bobo
Workshop about CGI at IPC5 - Nov. 1996
• RestrictedPython 

(https://github.com/zopefoundation/RestrictedPython)
• Persistence & persistent

(https://github.com/zopefoundation/Persistence) 

(https://github.com/zopefoundation/persistent)
• ZODB (Z Object Database)

https://github.com/zopefoundation/ZODB)
A few Elements of
Bobo / Zope
1998
Traversal
/site/folder/page
{'site': {'folder': {'page': page_object}}}
Object Publishing
Z Object Publishing Environment
A Workshop on Python at NIST

SPAM 1 - First PyCon - Topics
I've assembled a strawman list of topics for discussion. New topics

and comments on the topics listed are certainly welcome.
1. Requirements for a "Safe" Python interpreter
2. A standard GUI module interface definition for Python
3. The requirements for persistent objects in Python
4. A Python engineering graphs package
5. The standard Python WWW interface
6. Embedding Python in a WWW client
7. Technical information management using Python
8. Support for dynamic loading of foreign language modules in Python
9. Replacing make, rcs, and cvs with Python
10.An Electronic Data Interchange library for Python
11.Discussing the formation of a Python Consortium
Digital Creations, L.C.
later became
Zope Corporation
Employees
• Jim Fulton
• Paul Everitt
• Tres Seaver
• Chris McDonough
• Guido van Rossum
• Barry Warsaw
• Jeremy Hylton
• Fred Drake
• Tim Peters
• ...
Content
Management
Framework
1998
Meet 1999 on IRC
Alex Limi Alan Runyan
CMFPlone
A Workshop on Python at NIST

SPAM 1 - First PyCon - Topics
I've assembled a strawman list of topics for discussion. New topics

and comments on the topics listed are certainly welcome.
1. Requirements for a "Safe" Python interpreter
2. A standard GUI module interface definition for Python
3. The requirements for persistent objects in Python
4. A Python engineering graphs package
5. The standard Python WWW interface
6. Embedding Python in a WWW client
7. Technical information management using Python
8. Support for dynamic loading of foreign language modules in Python
9. Replacing make, rcs, and cvs with Python
10.An Electronic Data Interchange library for Python
11.Discussing the formation of a Python Consortium
First Board of Directors
Python Software Foundation
March 5, 2001 - IPC9
• Greg Stein
• Paul Everitt
Python community - around 2000
„Where Zope leads,
Python follows“
2001
Sprints
First Annual International
Plone Conferences
First spin off conferences in the Python World
Brandon Rhodes
Intro to Plone Keynote PyCon 2016
Plone & Python Web History?
„While Zope 

has become the 

Killer Application 

written in Python, 

Plone was the 

Killer Application 

on top of Zope.“
Zope
Community
Plone
Community
Hanno Schlichting - Zope Release Manager
„Every piece of Zope that
was not adopted by Plone is
literally dead.“
Python 3 Wonderland
Lessons Learned
The Good & The Bad
We have learned from our mistakes, 

and we keep our users and developers in mind
>>> import this
The Zen of Python, by Tim Peters
Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to
break the rules.
…
PEP 20 - 19. Aug. 2004 https://www.python.org/dev/peps/pep-0020/
PEP 1 - 13. Jun 2000 / PEP 8 - 5 July 2001
Philip J. Eby - Python Core Developer - Author PEP 333/3333 - WSGI
„Those who do not study
Zope, are condemned to
reinvent it.“
A Workshop on Python at NIST

SPAM 1 - First PyCon - Topics
I've assembled a strawman list of topics for discussion. New topics

and comments on the topics listed are certainly welcome.
1. Requirements for a "Safe" Python interpreter
2. A standard GUI module interface definition for Python
3. The requirements for persistent objects in Python
4. A Python engineering graphs package
5. The standard Python WWW interface
6. Embedding Python in a WWW client
7. Technical information management using Python
8. Support for dynamic loading of foreign language modules in Python
9. Replacing make, rcs, and cvs with Python
10.An Electronic Data Interchange library for Python
11.Discussing the formation of a Python Consortium
bobo
Principia
ZODB
ZeroDB
NewtDBCMF
Silva
ZMS
Nuxeo
ZCA
ZTK
Grok .
Blue Bream
repoze.bfgmorepath
twisted
aiohttp
Paster
WebOb
Pylons
Ruby on
Rails
plone.server
WSGI
Evolution Tree around Zope/Plone
Zope 3
SubstanceD
Kotti
Plone Roadmap (in short)
Plone 5.x series
• blocks & tiles
• Zope 4
• UI Improvements
• plone.restapi
• JS: webpack
headless guillotina
• plone.restapi
• modern JS
frontend
(angular/react)
• content as a
service
• Plone 5.x
codebase
Plone 6.x series
• aiohttp based
• 100 % restapi
• horizontal scale
• Python 2.7 +
3.4+
• New UI/UX
(„Pastanaga“) for
Core
• No Archetypes
• tiles as default
Paul Everett - Introducing
Jim Fulton @PloneConf2016
Plone Security
„Security is not a state it is a process“
Standing on the shoulders of giants
• Zope Security Architecture
• Fine grained permission system
• RestrictedPython and AccessControl
• Software Design Process
• Skeletons & Code Generators
• Configuration of most aspects
• Permission and Security inheritance
• Most OWASP Vectors did not apply
• Long Security Cycles (5-7 Year per Mayer Version)
John Gall - Systemantics: How Systems Really Work and How They Fail
A complex system that works is invariably

found to have evolved from a simple system

that worked. A complex system designed from
scratch never works and cannot be patched up to
make it work. You have to start over with

a working simple system.
CC3-BY-SA https://en.wikipedia.org/wiki/File:Tokyo_by_night_2011.jpg
„Choose the Right Tool for the Job“
First Conference with an extra Track 

for related Python technologies:
• SQL Alchemy
• repoze / Pyramid
l
October 16 22 2017
Come to the Digital Experience Conference
2017.ploneconf.org

More Related Content

What's hot

OSDC.TW 2014 building popular open source projects
OSDC.TW 2014   building popular open source projectsOSDC.TW 2014   building popular open source projects
OSDC.TW 2014 building popular open source projectsLin Yo-An
 
Joomla - an Overview
Joomla - an OverviewJoomla - an Overview
Joomla - an OverviewMitch Pirtle
 
Getting merged
Getting mergedGetting merged
Getting mergedLin Yo-An
 
Designing Remotely - Dublin UX
Designing Remotely - Dublin UXDesigning Remotely - Dublin UX
Designing Remotely - Dublin UXPatrick Mooney
 
AgilePT'10 - Evolving Software: Five powerful metaphors to explain change
AgilePT'10 - Evolving Software: Five powerful metaphors to explain changeAgilePT'10 - Evolving Software: Five powerful metaphors to explain change
AgilePT'10 - Evolving Software: Five powerful metaphors to explain changeFilipe Correia
 
CloudFoundry-summit-2015-a-look-back
CloudFoundry-summit-2015-a-look-backCloudFoundry-summit-2015-a-look-back
CloudFoundry-summit-2015-a-look-backKrishna-Kumar
 

What's hot (6)

OSDC.TW 2014 building popular open source projects
OSDC.TW 2014   building popular open source projectsOSDC.TW 2014   building popular open source projects
OSDC.TW 2014 building popular open source projects
 
Joomla - an Overview
Joomla - an OverviewJoomla - an Overview
Joomla - an Overview
 
Getting merged
Getting mergedGetting merged
Getting merged
 
Designing Remotely - Dublin UX
Designing Remotely - Dublin UXDesigning Remotely - Dublin UX
Designing Remotely - Dublin UX
 
AgilePT'10 - Evolving Software: Five powerful metaphors to explain change
AgilePT'10 - Evolving Software: Five powerful metaphors to explain changeAgilePT'10 - Evolving Software: Five powerful metaphors to explain change
AgilePT'10 - Evolving Software: Five powerful metaphors to explain change
 
CloudFoundry-summit-2015-a-look-back
CloudFoundry-summit-2015-a-look-backCloudFoundry-summit-2015-a-look-back
CloudFoundry-summit-2015-a-look-back
 

Similar to Plone - A History of Python Web

Py Con 2009 Pumping Iron Into Python
Py Con 2009   Pumping Iron Into PythonPy Con 2009   Pumping Iron Into Python
Py Con 2009 Pumping Iron Into PythonSarah Dutkiewicz
 
Integrating Applications: the Reactive Way
Integrating Applications: the Reactive WayIntegrating Applications: the Reactive Way
Integrating Applications: the Reactive WayNicola Ferraro
 
DWF WP2 Jecel Lowcost
DWF WP2 Jecel LowcostDWF WP2 Jecel Lowcost
DWF WP2 Jecel LowcostRon Burger
 
Codeless pipelines with pulsar and flink
Codeless pipelines with pulsar and flinkCodeless pipelines with pulsar and flink
Codeless pipelines with pulsar and flinkTimothy Spann
 
Raspberry pi course syllabus
Raspberry pi course syllabusRaspberry pi course syllabus
Raspberry pi course syllabusSoftroniics india
 
Open Source .NET
Open Source .NETOpen Source .NET
Open Source .NETOnyxfish
 
Web Services for the Internet of Things
Web Services for the Internet of ThingsWeb Services for the Internet of Things
Web Services for the Internet of ThingsMarkku Laine
 
Python in the browser
Python in the browserPython in the browser
Python in the browserPyCon Italia
 
RaspberryPi + IoT - Lab to switch on and off a light bulb
RaspberryPi + IoT - Lab to switch on and off a light bulbRaspberryPi + IoT - Lab to switch on and off a light bulb
RaspberryPi + IoT - Lab to switch on and off a light bulbJeff Prestes
 
Introduction of eBPF - 時下最夯的Linux Technology
Introduction of eBPF - 時下最夯的Linux Technology Introduction of eBPF - 時下最夯的Linux Technology
Introduction of eBPF - 時下最夯的Linux Technology Jace Liang
 
Python 101 For The Net Developer
Python 101 For The Net DeveloperPython 101 For The Net Developer
Python 101 For The Net DeveloperSarah Dutkiewicz
 
JavaOne 2015 : How I Rediscovered My Coding Mojo by Building an IoT/Robotics ...
JavaOne 2015 : How I Rediscovered My Coding Mojo by Building an IoT/Robotics ...JavaOne 2015 : How I Rediscovered My Coding Mojo by Building an IoT/Robotics ...
JavaOne 2015 : How I Rediscovered My Coding Mojo by Building an IoT/Robotics ...Mark West
 
Python: the secret weapon of Fedora - FLISoL 2015
Python: the secret weapon of Fedora - FLISoL 2015Python: the secret weapon of Fedora - FLISoL 2015
Python: the secret weapon of Fedora - FLISoL 2015Bruno R. Zanuzzo
 
Behold the Power of Python
Behold the Power of PythonBehold the Power of Python
Behold the Power of PythonSarah Dutkiewicz
 
IPTC News Exchange Formats Working Party Autumn 2012
IPTC News Exchange Formats Working Party Autumn 2012IPTC News Exchange Formats Working Party Autumn 2012
IPTC News Exchange Formats Working Party Autumn 2012Stuart Myles
 
Vert.x introduction
Vert.x introductionVert.x introduction
Vert.x introductionGR8Conf
 

Similar to Plone - A History of Python Web (20)

Doing the Impossible
Doing the ImpossibleDoing the Impossible
Doing the Impossible
 
Py Con 2009 Pumping Iron Into Python
Py Con 2009   Pumping Iron Into PythonPy Con 2009   Pumping Iron Into Python
Py Con 2009 Pumping Iron Into Python
 
Integrating Applications: the Reactive Way
Integrating Applications: the Reactive WayIntegrating Applications: the Reactive Way
Integrating Applications: the Reactive Way
 
Python in a real life
Python in a real lifePython in a real life
Python in a real life
 
Mag pi18 Citation "PhotoReportage"
Mag pi18 Citation "PhotoReportage"Mag pi18 Citation "PhotoReportage"
Mag pi18 Citation "PhotoReportage"
 
DWF WP2 Jecel Lowcost
DWF WP2 Jecel LowcostDWF WP2 Jecel Lowcost
DWF WP2 Jecel Lowcost
 
Codeless pipelines with pulsar and flink
Codeless pipelines with pulsar and flinkCodeless pipelines with pulsar and flink
Codeless pipelines with pulsar and flink
 
Raspberry pi course syllabus
Raspberry pi course syllabusRaspberry pi course syllabus
Raspberry pi course syllabus
 
Open Source .NET
Open Source .NETOpen Source .NET
Open Source .NET
 
Web Services for the Internet of Things
Web Services for the Internet of ThingsWeb Services for the Internet of Things
Web Services for the Internet of Things
 
Python in the browser
Python in the browserPython in the browser
Python in the browser
 
RaspberryPi + IoT - Lab to switch on and off a light bulb
RaspberryPi + IoT - Lab to switch on and off a light bulbRaspberryPi + IoT - Lab to switch on and off a light bulb
RaspberryPi + IoT - Lab to switch on and off a light bulb
 
Introduction of eBPF - 時下最夯的Linux Technology
Introduction of eBPF - 時下最夯的Linux Technology Introduction of eBPF - 時下最夯的Linux Technology
Introduction of eBPF - 時下最夯的Linux Technology
 
Kamailio Updates - VUC 588
Kamailio Updates - VUC 588Kamailio Updates - VUC 588
Kamailio Updates - VUC 588
 
Python 101 For The Net Developer
Python 101 For The Net DeveloperPython 101 For The Net Developer
Python 101 For The Net Developer
 
JavaOne 2015 : How I Rediscovered My Coding Mojo by Building an IoT/Robotics ...
JavaOne 2015 : How I Rediscovered My Coding Mojo by Building an IoT/Robotics ...JavaOne 2015 : How I Rediscovered My Coding Mojo by Building an IoT/Robotics ...
JavaOne 2015 : How I Rediscovered My Coding Mojo by Building an IoT/Robotics ...
 
Python: the secret weapon of Fedora - FLISoL 2015
Python: the secret weapon of Fedora - FLISoL 2015Python: the secret weapon of Fedora - FLISoL 2015
Python: the secret weapon of Fedora - FLISoL 2015
 
Behold the Power of Python
Behold the Power of PythonBehold the Power of Python
Behold the Power of Python
 
IPTC News Exchange Formats Working Party Autumn 2012
IPTC News Exchange Formats Working Party Autumn 2012IPTC News Exchange Formats Working Party Autumn 2012
IPTC News Exchange Formats Working Party Autumn 2012
 
Vert.x introduction
Vert.x introductionVert.x introduction
Vert.x introduction
 

More from Alexander Loechel

Lightning Talk: Regulation (EU) 2018/1724 "Single Digital Gateway" & the "You...
Lightning Talk: Regulation (EU) 2018/1724 "Single Digital Gateway" & the "You...Lightning Talk: Regulation (EU) 2018/1724 "Single Digital Gateway" & the "You...
Lightning Talk: Regulation (EU) 2018/1724 "Single Digital Gateway" & the "You...Alexander Loechel
 
We are the Plone Collective. Resistance is futile. Assimilation is inevitable.
We are the Plone Collective. Resistance is futile. Assimilation is inevitable.We are the Plone Collective. Resistance is futile. Assimilation is inevitable.
We are the Plone Collective. Resistance is futile. Assimilation is inevitable.Alexander Loechel
 
Plone.org Improvements - Plone Addon Listing
Plone.org Improvements - Plone Addon ListingPlone.org Improvements - Plone Addon Listing
Plone.org Improvements - Plone Addon ListingAlexander Loechel
 
Sphinx options to make training documentation easier to understand
Sphinx options to make training documentation easier to understandSphinx options to make training documentation easier to understand
Sphinx options to make training documentation easier to understandAlexander Loechel
 
Web Content-Management-Systeme the Past - the Present - the Future
Web Content-Management-Systeme the Past - the Present - the FutureWeb Content-Management-Systeme the Past - the Present - the Future
Web Content-Management-Systeme the Past - the Present - the FutureAlexander Loechel
 
Plone im Kontext des WCMS Marktes
Plone im Kontext des WCMS MarktesPlone im Kontext des WCMS Marktes
Plone im Kontext des WCMS MarktesAlexander Loechel
 
Web Accessibility for Web Developers
Web Accessibility for Web DevelopersWeb Accessibility for Web Developers
Web Accessibility for Web DevelopersAlexander Loechel
 
World Plone Day 2017 - Plone 5.1
World Plone Day 2017 - Plone 5.1World Plone Day 2017 - Plone 5.1
World Plone Day 2017 - Plone 5.1Alexander Loechel
 
Lightning Talk: Security matters @ploneconf 2014
Lightning Talk: Security matters @ploneconf 2014Lightning Talk: Security matters @ploneconf 2014
Lightning Talk: Security matters @ploneconf 2014Alexander Loechel
 

More from Alexander Loechel (10)

Lightning Talk: Regulation (EU) 2018/1724 "Single Digital Gateway" & the "You...
Lightning Talk: Regulation (EU) 2018/1724 "Single Digital Gateway" & the "You...Lightning Talk: Regulation (EU) 2018/1724 "Single Digital Gateway" & the "You...
Lightning Talk: Regulation (EU) 2018/1724 "Single Digital Gateway" & the "You...
 
We are the Plone Collective. Resistance is futile. Assimilation is inevitable.
We are the Plone Collective. Resistance is futile. Assimilation is inevitable.We are the Plone Collective. Resistance is futile. Assimilation is inevitable.
We are the Plone Collective. Resistance is futile. Assimilation is inevitable.
 
Plone.org Improvements - Plone Addon Listing
Plone.org Improvements - Plone Addon ListingPlone.org Improvements - Plone Addon Listing
Plone.org Improvements - Plone Addon Listing
 
Sphinx options to make training documentation easier to understand
Sphinx options to make training documentation easier to understandSphinx options to make training documentation easier to understand
Sphinx options to make training documentation easier to understand
 
Web Content-Management-Systeme the Past - the Present - the Future
Web Content-Management-Systeme the Past - the Present - the FutureWeb Content-Management-Systeme the Past - the Present - the Future
Web Content-Management-Systeme the Past - the Present - the Future
 
Plone im Kontext des WCMS Marktes
Plone im Kontext des WCMS MarktesPlone im Kontext des WCMS Marktes
Plone im Kontext des WCMS Marktes
 
Web Accessibility for Web Developers
Web Accessibility for Web DevelopersWeb Accessibility for Web Developers
Web Accessibility for Web Developers
 
Modern Python Testing
Modern Python TestingModern Python Testing
Modern Python Testing
 
World Plone Day 2017 - Plone 5.1
World Plone Day 2017 - Plone 5.1World Plone Day 2017 - Plone 5.1
World Plone Day 2017 - Plone 5.1
 
Lightning Talk: Security matters @ploneconf 2014
Lightning Talk: Security matters @ploneconf 2014Lightning Talk: Security matters @ploneconf 2014
Lightning Talk: Security matters @ploneconf 2014
 

Recently uploaded

Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonLeveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonApplitools
 
Zer0con 2024 final share short version.pdf
Zer0con 2024 final share short version.pdfZer0con 2024 final share short version.pdf
Zer0con 2024 final share short version.pdfmaor17
 
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...OnePlan Solutions
 
Effectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryErrorEffectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryErrorTier1 app
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxAndreas Kunz
 
2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shardsChristopher Curtin
 
Best Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITBest Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITmanoharjgpsolutions
 
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...Bert Jan Schrijver
 
Patterns for automating API delivery. API conference
Patterns for automating API delivery. API conferencePatterns for automating API delivery. API conference
Patterns for automating API delivery. API conferencessuser9e7c64
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsChristian Birchler
 
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...OnePlan Solutions
 
eSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolseSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolsosttopstonverter
 
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics
 
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingOpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingShane Coughlan
 
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesAmazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesKrzysztofKkol1
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZABSYZ Inc
 
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxThe Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxRTS corp
 
Strategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsStrategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsJean Silva
 
Ronisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited CatalogueRonisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited Catalogueitservices996
 

Recently uploaded (20)

Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonLeveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
 
Zer0con 2024 final share short version.pdf
Zer0con 2024 final share short version.pdfZer0con 2024 final share short version.pdf
Zer0con 2024 final share short version.pdf
 
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
 
Effectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryErrorEffectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryError
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
 
2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards
 
Best Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITBest Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh IT
 
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
 
Patterns for automating API delivery. API conference
Patterns for automating API delivery. API conferencePatterns for automating API delivery. API conference
Patterns for automating API delivery. API conference
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
 
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
 
eSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolseSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration tools
 
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
 
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingOpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
 
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesAmazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZ
 
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxThe Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
 
Strategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsStrategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero results
 
Ronisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited CatalogueRonisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited Catalogue
 

Plone - A History of Python Web

  • 1. / A History of Web Alexander Loechel
  • 2.
  • 3. CC 3.0-BY-SA Wolfgang Sauber https://commons.wikimedia.org/wiki/File:MNH_-_Mumie_Frau_1.jpg
  • 4. Keynote Panel Discussion PyCon 2017 https://www.youtube.com/watch?v=iOUrf7WSSLc
  • 6. EVER TEAM – CITRIX – BOX ACCELLION SPRINGCM M-FILES HYLAND ALFRESCO IMANAGE SYNCPLICITY EQUILIBRIUM CANTO WAVE RAZUNA NETX EXTENSIS BRIGHT INTERACTIVE FOTOWARE MERLINONE PICTUREPARK WEBDAM WIDEN WOODWING RESOURCESPACEBRANDWORKZ ATLASSIAN THOUGHTFARMER VERINT ATOS BLUEKIWI TRACTION IGLOO – MANGO APPS FACEBOOKSLACK JIVE EXO SITRION HARMON.IE NEUDESIC INTERACT VMWARETIBCO ATEX – GOSS – EPISERVER SITECORE COREMEDIA TYPO3 CCI EUROPE EZ SYSTEMS E-SPIRIT ENONIC CROWNPEAK CONTENTFUL HANNON HILL HIPPO GX ELCOM UMBRACO KENTICO OMNIUPDATE – BRIGHTSPOT – CRAFTER SOFTWARE – CONTENS – INGENIUX DOTNETNUKE JOOMLA! MODX TELERIK TERMINALFOUR – MAGNOLIA UPLAND SOFTWARELIFERAY BACKBASE MARKETO HUBSPOT VUTURE ACT-ON INFUSIONSOFT APRIMO ESKO/ MEDIABEACON NORTH PLAINS CELUM CENSHARE ENTERMEDIA INTELLIGENCE BANK BYNDER AVID STYLELABS ADAM KEY Digital Workplace & Marketing Technology Vendor Map Real Story Group’s vendor evaluations and advisory services have helped thousands of organizations find their way. We can help you too. —download a sample today: www.realstorygroup.com/try Web Content & Experience Management Digital and Marketing Asset Management Enterprise Collaboration & Social Software Campaign & Lead Management Technology Enterprise Portals ECM & Cloud File Sharing Take a test ride Real Story Group www.realstorygroup.com/vendormap/ SAP SDL SALESFORCE EMC-DELL GOOGLE PLONE DRUPAL NUXEO IBMOPENTEXT ORACLE MICROSOFT ADOBE WORDPRESS (https://www.realstorygroup.com/Blog/3193-Updates-to-WCM-Vendor-Reviews) „Plone soldiers on as the most venerable Python-based CMS platform …“
  • 7. Plone 5 - Plone the Product
  • 9. Plone is NOT a web framework
  • 10. Plone is a Content Integration Framework (Enterprise Portal)
  • 11. Plone / Open Source is about Community
  • 12. Brett Cannon, Python Core Dev „come for the language, 
 stay for the community.“
  • 13. You can take the man out of Plone But you could not take the Plone out of the man Source: Laurence Rowe - Plone Open Garden 2015 - Sorrento
  • 14. A History of Python Web Why . ?
  • 15. Brandon Rhodes Intro to Plone Keynote PyCon 2016 Plone & Python Web History?
  • 16. But Start at the Beginning
  • 17.
  • 18. A Workshop on Python at NIST -> SPAM 1 -> First PyCon
  • 20. Keynote Panel Discussion PyCon 2017 https://www.youtube.com/watch?v=iOUrf7WSSLc
  • 21. A Workshop on Python at NIST
 SPAM 1 - First PyCon - Topics I've assembled a strawman list of topics for discussion. New topics
 and comments on the topics listed are certainly welcome. 1. Requirements for a "Safe" Python interpreter 2. A standard GUI module interface definition for Python 3. The requirements for persistent objects in Python 4. A Python engineering graphs package 5. The standard Python WWW interface 6. Embedding Python in a WWW client 7. Technical information management using Python 8. Support for dynamic loading of foreign language modules in Python 9. Replacing make, rcs, and cvs with Python 10.An Electronic Data Interchange library for Python 11.Discussing the formation of a Python Consortium
  • 22. Bobo Workshop about CGI at IPC5 - Nov. 1996
  • 23.
  • 24.
  • 25. • RestrictedPython 
 (https://github.com/zopefoundation/RestrictedPython) • Persistence & persistent
 (https://github.com/zopefoundation/Persistence) 
 (https://github.com/zopefoundation/persistent) • ZODB (Z Object Database)
 https://github.com/zopefoundation/ZODB) A few Elements of Bobo / Zope 1998
  • 26. Traversal /site/folder/page {'site': {'folder': {'page': page_object}}} Object Publishing Z Object Publishing Environment
  • 27. A Workshop on Python at NIST
 SPAM 1 - First PyCon - Topics I've assembled a strawman list of topics for discussion. New topics
 and comments on the topics listed are certainly welcome. 1. Requirements for a "Safe" Python interpreter 2. A standard GUI module interface definition for Python 3. The requirements for persistent objects in Python 4. A Python engineering graphs package 5. The standard Python WWW interface 6. Embedding Python in a WWW client 7. Technical information management using Python 8. Support for dynamic loading of foreign language modules in Python 9. Replacing make, rcs, and cvs with Python 10.An Electronic Data Interchange library for Python 11.Discussing the formation of a Python Consortium
  • 28. Digital Creations, L.C. later became Zope Corporation Employees • Jim Fulton • Paul Everitt • Tres Seaver • Chris McDonough • Guido van Rossum • Barry Warsaw • Jeremy Hylton • Fred Drake • Tim Peters • ...
  • 29.
  • 31. Meet 1999 on IRC Alex Limi Alan Runyan CMFPlone
  • 32.
  • 33. A Workshop on Python at NIST
 SPAM 1 - First PyCon - Topics I've assembled a strawman list of topics for discussion. New topics
 and comments on the topics listed are certainly welcome. 1. Requirements for a "Safe" Python interpreter 2. A standard GUI module interface definition for Python 3. The requirements for persistent objects in Python 4. A Python engineering graphs package 5. The standard Python WWW interface 6. Embedding Python in a WWW client 7. Technical information management using Python 8. Support for dynamic loading of foreign language modules in Python 9. Replacing make, rcs, and cvs with Python 10.An Electronic Data Interchange library for Python 11.Discussing the formation of a Python Consortium First Board of Directors Python Software Foundation March 5, 2001 - IPC9 • Greg Stein • Paul Everitt
  • 34. Python community - around 2000 „Where Zope leads, Python follows“
  • 35.
  • 36. 2001
  • 38.
  • 39. First Annual International Plone Conferences First spin off conferences in the Python World
  • 40. Brandon Rhodes Intro to Plone Keynote PyCon 2016 Plone & Python Web History?
  • 41. „While Zope 
 has become the 
 Killer Application 
 written in Python, 
 Plone was the 
 Killer Application 
 on top of Zope.“
  • 43.
  • 44. Hanno Schlichting - Zope Release Manager „Every piece of Zope that was not adopted by Plone is literally dead.“
  • 45.
  • 47. Lessons Learned The Good & The Bad We have learned from our mistakes, 
 and we keep our users and developers in mind
  • 48. >>> import this The Zen of Python, by Tim Peters Beautiful is better than ugly. Explicit is better than implicit. Simple is better than complex. Complex is better than complicated. Flat is better than nested. Sparse is better than dense. Readability counts. Special cases aren't special enough to break the rules. … PEP 20 - 19. Aug. 2004 https://www.python.org/dev/peps/pep-0020/ PEP 1 - 13. Jun 2000 / PEP 8 - 5 July 2001
  • 49. Philip J. Eby - Python Core Developer - Author PEP 333/3333 - WSGI „Those who do not study Zope, are condemned to reinvent it.“
  • 50. A Workshop on Python at NIST
 SPAM 1 - First PyCon - Topics I've assembled a strawman list of topics for discussion. New topics
 and comments on the topics listed are certainly welcome. 1. Requirements for a "Safe" Python interpreter 2. A standard GUI module interface definition for Python 3. The requirements for persistent objects in Python 4. A Python engineering graphs package 5. The standard Python WWW interface 6. Embedding Python in a WWW client 7. Technical information management using Python 8. Support for dynamic loading of foreign language modules in Python 9. Replacing make, rcs, and cvs with Python 10.An Electronic Data Interchange library for Python 11.Discussing the formation of a Python Consortium
  • 52. Plone Roadmap (in short) Plone 5.x series • blocks & tiles • Zope 4 • UI Improvements • plone.restapi • JS: webpack headless guillotina • plone.restapi • modern JS frontend (angular/react) • content as a service • Plone 5.x codebase Plone 6.x series • aiohttp based • 100 % restapi • horizontal scale • Python 2.7 + 3.4+ • New UI/UX („Pastanaga“) for Core • No Archetypes • tiles as default
  • 53. Paul Everett - Introducing Jim Fulton @PloneConf2016
  • 54. Plone Security „Security is not a state it is a process“ Standing on the shoulders of giants • Zope Security Architecture • Fine grained permission system • RestrictedPython and AccessControl • Software Design Process • Skeletons & Code Generators • Configuration of most aspects • Permission and Security inheritance • Most OWASP Vectors did not apply • Long Security Cycles (5-7 Year per Mayer Version)
  • 55. John Gall - Systemantics: How Systems Really Work and How They Fail A complex system that works is invariably
 found to have evolved from a simple system
 that worked. A complex system designed from scratch never works and cannot be patched up to make it work. You have to start over with
 a working simple system. CC3-BY-SA https://en.wikipedia.org/wiki/File:Tokyo_by_night_2011.jpg
  • 56.
  • 57. „Choose the Right Tool for the Job“
  • 58.
  • 59. First Conference with an extra Track 
 for related Python technologies: • SQL Alchemy • repoze / Pyramid
  • 60.
  • 61.
  • 62.
  • 63. l October 16 22 2017 Come to the Digital Experience Conference 2017.ploneconf.org