Download - 2011: Year of the fish

Transcript
Page 1: 2011: Year of the fish

2011: Year of the Fishcatching up with zope and friends

Page 2: 2011: Year of the fish

Zope is a 4 Letter Word

Documentation === Source

Slow

ZODB

TTW

No Hosting

Page 3: 2011: Year of the fish

Apples to Apples

Zope 2.12+Zope 3

ZTKZCA

Zope 2

BFG

Bluebream

Grok

Zope 2+3

Plone 4

zope.component(adaptersutilities)

zope.event

zope.interface

Twisted

Plone 3

TG

Silva

Page 5: 2011: Year of the fish

ConfigurationBFG Zope 2 Bluebream Grok

ZCML X X X O

Imperative X O O X

Convention O X O O

Decorators X O O O

Page 6: 2011: Year of the fish

RoutingBFG Zope 2 Bluebream Grok

URL Dispatch think django nope not here different dimension

Traversal grok influenced zcml views, path traversing

zcml views, path traversing

zcml views + code

Object Publishing can be worked out, explicit default default default

Hybrid as complex as you wanna get nada nety gtfo

Acquisition is on the way out!

Page 7: 2011: Year of the fish

DatabasesBFG Zope 2 Bluebream Grok

Persistence manual default-ish default-ish default-ish

Models/Schema app models, database dependent

zope.schema, highly integrated forms

zope.schema, highly integrated forms

zope.schema + grok.Model (think

Archetypes)

ZODB optional, moderate integration

tightly integrated, default

tightly integrated, default

tightly integrated, default

Non-ZODB optional, moderate integration loose integration loose integration relational what?

Supporting multiple DB’s does not imply persistence or tight integration!!!

Page 8: 2011: Year of the fish

Pyramid “Model”

Page 9: 2011: Year of the fish

ContributingBFG Zope 2 Z3/BB Grok

Source Control SVN SVN SVN SVN

Commiters * 21 56 47 14

Trend Decreasing Commits Stable Substantial

Increasing Commits Stable

Page 10: 2011: Year of the fish

OOB Complexity

Zope 2

BFG

BluebreamGrok

PloneTwisted

WebOb

Features

COMPLEXITY

RequestResponse

Architecture ZCA/Interfaces

Index/CatalogAuthentication

Widgets/Form LibsTight DB Integration

Django

TGwebpy

Workflow/PublishingMultiSite

Page 11: 2011: Year of the fish

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!)

Page 12: 2011: Year of the fish

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

Page 13: 2011: Year of the fish

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

Page 14: 2011: Year of the fish

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

Page 15: 2011: Year of the fish

The beat goes on...

Templating

WSGI

Convention vs Configuration

Internationalization

Paid/Libre Support

Page 16: 2011: Year of the fish

Plone 4 with Dexterity

Demo if time