SlideShare ist ein Scribd-Unternehmen logo
1 von 16
Downloaden Sie, um offline zu lesen
2011: Year of the Fish
    catching up with zope and friends
Zope is a 4 Letter Word

   Documentation === Source
   Slow
   ZODB
   TTW
   No Hosting
Apples to Apples
                            Zope 2
                                     Zope    Plone 3    Silva
zope.component
   (adapters
                                     2+3
    utilities)
                                            Zope 2.12+ Plone 4
                            Zope 3
  zope.event       ZCA               ZTK    Bluebream
                                              Grok
 zope.interface              BFG     TG
                  Twisted
RTFM? now you can!

      ZCA
                     Plone
      ZTK
                     Pyramid
      Zope 2
                     Repoze (XXX?)
      Bluebream
                     Zeo
      Grok
Configuration
             BFG   Zope 2   Bluebream   Grok
  ZCML        X      X          X        O

Imperative    X      O         O         X

Convention   O       X         O         O
Decorators    X      O         O         O
Routing
                         BFG            Zope 2       Bluebream           Grok
  URL Dispatch        think django       nope           not here
                                                                         different
                                                                        dimension
                                   zcml views, path zcml views, path   zcml views +
    Traversal       grok influenced
                                     traversing       traversing          code
                     can be worked
Object Publishing     out, explicit
                                        default         default          default

                    as complex as you
    Hybrid              wanna get        nada             nety             gtfo


        Acquisition is on the way out!
Databases
                        BFG                 Zope 2             Bluebream                Grok
  Persistence          manual              default-ish            default-ish         default-ish

                                                                                    zope.schema +
                  app models, database   zope.schema, highly   zope.schema, highly
Models/Schema          dependent           integrated forms      integrated forms
                                                                                   grok.Model (think
                                                                                      Archetypes)
                  optional, moderate     tightly integrated,   tightly integrated, tightly integrated,
    ZODB              integration              default               default             default
                  optional, moderate
  Non-ZODB            integration
                                     loose integration         loose integration relational what?


       Supporting multiple DB’s does not imply persistence or tight integration!!!
Pyramid “Model”
Contributing
                  BFG         Zope 2       Z3/BB             Grok

Source Control     SVN         SVN            SVN            SVN


Commiters *          21         56             47              14


                 Decreasing                 Substantial
   Trend          Commits
                               Stable
                                        Increasing Commits
                                                             Stable
OOB Complexity
       Request        Architecture
C     Response       ZCA/Interfaces
                                        Index/Catalog
                                        Authentication
                                                           Widgets/Form Libs
                                                          Tight DB Integration
                                                                                 Workflow/Publishing
                                                                                      MultiSite
O
                                                                                        Plone
M                                                                     Django
                              Twisted
P
L
                                                         Zope 2
E                                         Bluebream
X
                                                  Grok
I                webpy
T                                                        TG
     WebOb               BFG
Y
                                      Features
5 Reasons to Try “Zope” (again)
   Never query with user=username again
   “Automagic” persistence/transaction handling
   ZCA: Learn once, apply over and over again
   Internationalization
   Buildout
   Historical Bonus: Acquisition (get it before it’s gone!)
5 Reasons To Skip Zope (again)

   Lack of talent/interest
   No time for “Z” learning curve
   100% certain you will have a HUMUNGO user base
   Crippled by limited hosting options
   Buildout
5 Reasons to Try ZODB

   Rock solid and dependable
   Objects in python are objects in the db
   Keep blobs where they belong (for free!)
   Pluggable indexing/catalog strategies
   Avoid schema nazis
5 Reasons to Skip ZODB

   Your app is all about reporting
   Data isn’t suited for pickles/not hierarchical
   High write conflicts
   Low RAM/bad disks/cheap hardware
   Replication not quite there
The beat goes on...

   Templating
   WSGI
   Convention vs Configuration
   Internationalization
   Paid/Libre Support
Plone 4 with Dexterity


   Demo if time

Weitere ähnliche Inhalte

Ähnlich wie 2011: Year of the fish

What is new and cool j2se & java
What is new and cool j2se & javaWhat is new and cool j2se & java
What is new and cool j2se & javaEugene Bogaart
 
Grails @ Java User Group Silicon Valley
Grails @ Java User Group Silicon ValleyGrails @ Java User Group Silicon Valley
Grails @ Java User Group Silicon ValleySven Haiges
 
Turmeric SOA Cloud Mashups
Turmeric SOA Cloud MashupsTurmeric SOA Cloud Mashups
Turmeric SOA Cloud Mashupskingargyle
 
State Of Zope Linuxtag 2008
State Of Zope Linuxtag 2008State Of Zope Linuxtag 2008
State Of Zope Linuxtag 2008Andreas Jung
 
Casing3d opengl
Casing3d openglCasing3d opengl
Casing3d openglgowell
 
Dimitry Solovyov - The imminent threat of functional programming
Dimitry Solovyov - The imminent threat of functional programmingDimitry Solovyov - The imminent threat of functional programming
Dimitry Solovyov - The imminent threat of functional programmingDmitry Buzdin
 
I Know Kung Fu - Juggling Java Bytecode
I Know Kung Fu - Juggling Java BytecodeI Know Kung Fu - Juggling Java Bytecode
I Know Kung Fu - Juggling Java BytecodeAlexander Shopov
 
Scalable Website C12009 1
Scalable Website C12009 1Scalable Website C12009 1
Scalable Website C12009 1girixkumar
 
Repoze Bfg - presented by Rok Garbas at the Python Barcelona Meetup October 2...
Repoze Bfg - presented by Rok Garbas at the Python Barcelona Meetup October 2...Repoze Bfg - presented by Rok Garbas at the Python Barcelona Meetup October 2...
Repoze Bfg - presented by Rok Garbas at the Python Barcelona Meetup October 2...maikroeder
 
Raphael Amorim - Scrating React Fiber
Raphael Amorim - Scrating React FiberRaphael Amorim - Scrating React Fiber
Raphael Amorim - Scrating React FiberReact Conf Brasil
 
pgpool: Features and Development
pgpool: Features and Developmentpgpool: Features and Development
pgpool: Features and Developmentelliando dias
 
Behind the Scenes at LiveJournal: Scaling Storytime
Behind the Scenes at LiveJournal: Scaling StorytimeBehind the Scenes at LiveJournal: Scaling Storytime
Behind the Scenes at LiveJournal: Scaling StorytimeSergeyChernyshev
 
What Zope Did Wrong (PyCon 2008)
What Zope Did Wrong (PyCon 2008)What Zope Did Wrong (PyCon 2008)
What Zope Did Wrong (PyCon 2008)Lennart Regebro
 
RMI and CORBA Why both are valuable tools
RMI and CORBA Why both are valuable toolsRMI and CORBA Why both are valuable tools
RMI and CORBA Why both are valuable toolselliando dias
 
Zope is dead - Long live Zope
Zope is dead - Long live ZopeZope is dead - Long live Zope
Zope is dead - Long live ZopeLennart Regebro
 
JVM: A Platform for Multiple Languages
JVM: A Platform for Multiple LanguagesJVM: A Platform for Multiple Languages
JVM: A Platform for Multiple LanguagesKris Mok
 

Ähnlich wie 2011: Year of the fish (18)

What is new and cool j2se & java
What is new and cool j2se & javaWhat is new and cool j2se & java
What is new and cool j2se & java
 
Grails @ Java User Group Silicon Valley
Grails @ Java User Group Silicon ValleyGrails @ Java User Group Silicon Valley
Grails @ Java User Group Silicon Valley
 
Turmeric SOA Cloud Mashups
Turmeric SOA Cloud MashupsTurmeric SOA Cloud Mashups
Turmeric SOA Cloud Mashups
 
State Of Zope Linuxtag 2008
State Of Zope Linuxtag 2008State Of Zope Linuxtag 2008
State Of Zope Linuxtag 2008
 
Casing3d opengl
Casing3d openglCasing3d opengl
Casing3d opengl
 
Dimitry Solovyov - The imminent threat of functional programming
Dimitry Solovyov - The imminent threat of functional programmingDimitry Solovyov - The imminent threat of functional programming
Dimitry Solovyov - The imminent threat of functional programming
 
I Know Kung Fu - Juggling Java Bytecode
I Know Kung Fu - Juggling Java BytecodeI Know Kung Fu - Juggling Java Bytecode
I Know Kung Fu - Juggling Java Bytecode
 
Scalable Website C12009 1
Scalable Website C12009 1Scalable Website C12009 1
Scalable Website C12009 1
 
Repoze Bfg - presented by Rok Garbas at the Python Barcelona Meetup October 2...
Repoze Bfg - presented by Rok Garbas at the Python Barcelona Meetup October 2...Repoze Bfg - presented by Rok Garbas at the Python Barcelona Meetup October 2...
Repoze Bfg - presented by Rok Garbas at the Python Barcelona Meetup October 2...
 
Raphael Amorim - Scrating React Fiber
Raphael Amorim - Scrating React FiberRaphael Amorim - Scrating React Fiber
Raphael Amorim - Scrating React Fiber
 
Ruby's GC 20
Ruby's GC 20Ruby's GC 20
Ruby's GC 20
 
pgpool: Features and Development
pgpool: Features and Developmentpgpool: Features and Development
pgpool: Features and Development
 
Behind the Scenes at LiveJournal: Scaling Storytime
Behind the Scenes at LiveJournal: Scaling StorytimeBehind the Scenes at LiveJournal: Scaling Storytime
Behind the Scenes at LiveJournal: Scaling Storytime
 
What Zope Did Wrong (PyCon 2008)
What Zope Did Wrong (PyCon 2008)What Zope Did Wrong (PyCon 2008)
What Zope Did Wrong (PyCon 2008)
 
RMI and CORBA Why both are valuable tools
RMI and CORBA Why both are valuable toolsRMI and CORBA Why both are valuable tools
RMI and CORBA Why both are valuable tools
 
Git Going with DVCS v1.6.0
Git Going with DVCS v1.6.0Git Going with DVCS v1.6.0
Git Going with DVCS v1.6.0
 
Zope is dead - Long live Zope
Zope is dead - Long live ZopeZope is dead - Long live Zope
Zope is dead - Long live Zope
 
JVM: A Platform for Multiple Languages
JVM: A Platform for Multiple LanguagesJVM: A Platform for Multiple Languages
JVM: A Platform for Multiple Languages
 

2011: Year of the fish

  • 1. 2011: Year of the Fish catching up with zope and friends
  • 2. Zope is a 4 Letter Word Documentation === Source Slow ZODB TTW No Hosting
  • 3. Apples to Apples Zope 2 Zope Plone 3 Silva zope.component (adapters 2+3 utilities) Zope 2.12+ Plone 4 Zope 3 zope.event ZCA ZTK Bluebream Grok zope.interface BFG TG Twisted
  • 4. RTFM? now you can! ZCA Plone ZTK Pyramid Zope 2 Repoze (XXX?) Bluebream Zeo Grok
  • 5. Configuration BFG Zope 2 Bluebream Grok ZCML X X X O Imperative X O O X Convention O X O O Decorators X O O O
  • 6. Routing BFG Zope 2 Bluebream Grok URL Dispatch think django nope not here different dimension zcml views, path zcml views, path zcml views + Traversal grok influenced traversing traversing code can be worked Object Publishing out, explicit default default default as complex as you Hybrid wanna get nada nety gtfo Acquisition is on the way out!
  • 7. Databases BFG Zope 2 Bluebream Grok Persistence manual default-ish default-ish default-ish zope.schema + app models, database zope.schema, highly zope.schema, highly Models/Schema dependent integrated forms integrated forms grok.Model (think Archetypes) optional, moderate tightly integrated, tightly integrated, tightly integrated, ZODB integration default default default optional, moderate Non-ZODB integration loose integration loose integration relational what? Supporting multiple DB’s does not imply persistence or tight integration!!!
  • 9. Contributing BFG Zope 2 Z3/BB Grok Source Control SVN SVN SVN SVN Commiters * 21 56 47 14 Decreasing Substantial Trend Commits Stable Increasing Commits Stable
  • 10. OOB Complexity Request Architecture C Response ZCA/Interfaces Index/Catalog Authentication Widgets/Form Libs Tight DB Integration Workflow/Publishing MultiSite O Plone M Django Twisted P L Zope 2 E Bluebream X Grok I webpy T TG WebOb BFG Y Features
  • 11. 5 Reasons to Try “Zope” (again) Never query with user=username again “Automagic” persistence/transaction handling ZCA: Learn once, apply over and over again Internationalization Buildout Historical Bonus: Acquisition (get it before it’s gone!)
  • 12. 5 Reasons To Skip Zope (again) Lack of talent/interest No time for “Z” learning curve 100% certain you will have a HUMUNGO user base Crippled by limited hosting options Buildout
  • 13. 5 Reasons to Try ZODB Rock solid and dependable Objects in python are objects in the db Keep blobs where they belong (for free!) Pluggable indexing/catalog strategies Avoid schema nazis
  • 14. 5 Reasons to Skip ZODB Your app is all about reporting Data isn’t suited for pickles/not hierarchical High write conflicts Low RAM/bad disks/cheap hardware Replication not quite there
  • 15. The beat goes on... Templating WSGI Convention vs Configuration Internationalization Paid/Libre Support
  • 16. Plone 4 with Dexterity Demo if time