From baypiggies presentation: As the first object publishing framework ever, Zope has been through several major overhauls and developed a bad reputation along the way. The reformulation of pylons and repoze into pyramid presents a great opportunity for zope to get back some street cred and offer sincere alternatives to front running frameworks like Django. This discussion will cover the current state of zope based technologies including repoze/pyramid, grok, bluebream and plone. It will look at the best use cases for each framework, strengths, weaknesses, and deal breakers. If there is time/interest we will look at the zodb and other core zope concepts that you will find in each framework.
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!
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