/
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

Plone - A History of Python Web

  • 1.
    / A History ofWeb Alexander Loechel
  • 3.
    CC 3.0-BY-SA WolfgangSauber https://commons.wikimedia.org/wiki/File:MNH_-_Mumie_Frau_1.jpg
  • 4.
    Keynote Panel DiscussionPyCon 2017 https://www.youtube.com/watch?v=iOUrf7WSSLc
  • 5.
  • 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 – MANGOAPPS 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
  • 8.
  • 9.
    Plone is NOTa web framework
  • 10.
    Plone is a ContentIntegration Framework (Enterprise Portal)
  • 11.
    Plone / OpenSource is about Community
  • 12.
    Brett Cannon, PythonCore Dev „come for the language, 
 stay for the community.“
  • 13.
    You can takethe 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 ofPython Web Why . ?
  • 15.
    Brandon Rhodes Intro toPlone Keynote PyCon 2016 Plone & Python Web History?
  • 16.
    But Start atthe Beginning
  • 18.
    A Workshop onPython at NIST -> SPAM 1 -> First PyCon
  • 19.
  • 20.
    Keynote Panel DiscussionPyCon 2017 https://www.youtube.com/watch?v=iOUrf7WSSLc
  • 21.
    A Workshop onPython 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 CGIat IPC5 - Nov. 1996
  • 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 onPython 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. laterbecame Zope Corporation Employees • Jim Fulton • Paul Everitt • Tres Seaver • Chris McDonough • Guido van Rossum • Barry Warsaw • Jeremy Hylton • Fred Drake • Tim Peters • ...
  • 30.
  • 31.
    Meet 1999 onIRC Alex Limi Alan Runyan CMFPlone
  • 33.
    A Workshop onPython 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“
  • 36.
  • 37.
  • 39.
    First Annual International PloneConferences First spin off conferences in the Python World
  • 40.
    Brandon Rhodes Intro toPlone Keynote PyCon 2016 Plone & Python Web History?
  • 41.
    „While Zope 
 hasbecome the 
 Killer Application 
 written in Python, 
 Plone was the 
 Killer Application 
 on top of Zope.“
  • 42.
  • 44.
    Hanno Schlichting -Zope Release Manager „Every piece of Zope that was not adopted by Plone is literally dead.“
  • 46.
  • 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 TheZen 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 onPython 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
  • 51.
  • 52.
    Plone Roadmap (inshort) 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 isnot 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
  • 57.
    „Choose the RightTool for the Job“
  • 59.
    First Conference withan extra Track 
 for related Python technologies: • SQL Alchemy • repoze / Pyramid
  • 63.
    l October 16 222017 Come to the Digital Experience Conference 2017.ploneconf.org