Slideshow transcript
Slide 1: What Zope did wrong (and what to do instead) Lennart Regebro EuroPython 2007, Vilnius
Slide 2: Zope is zuper!
Slide 3: First!
Slide 4: Object oriented!
Slide 5: Python!
Slide 6: Open source!
Slide 7: Batteries included!
Slide 8: Secure!
Slide 9: Easy!
Slide 10: And many other exclamation marks!!!
Slide 11: What Zope2 did right
Slide 12: Used Python
Slide 13: ZODB
Slide 14: DTML/ZPT
Slide 15: Batteries included
Slide 16: Easy entry into development
Slide 17: Zope2: The dead-ends
Slide 18: The ZODB pile of scripts
Slide 19: ZClasses
Slide 20: Disk-based products
Slide 21: Never ends Starts o easy
Slide 23: It's unpythonic!
Slide 24: Products instead of modules
Slide 25: Way to much magick!
Slide 26: Zope is the Application (not the library)
Slide 27: Maybe more?
Slide 28: Zope 3: Knight in shining armour!
Slide 30: Zope 3?
Slide 31: Zope 3!
Slide 32: To complicated
Slide 33: <configure xmlns=\"http://namespaces.zope.org/zope\" xmlns:browser=\"http://namespaces.zope.org/browser\" xmlns:hello=\"http://namespaces.zope.org/hello\"> <content class=\".hello.Hello\"> <require permission=\"zope.Public\" interface=\".interfaces.IHello\" set_schema=\".interfaces.IHello\" /> </content> <browser:defaultView for=\".interfaces.IHello\" name=\"edit.html\" /> <browser:addMenuItem class=\".hello.Hello\" title=\"Add Hello\" permission=\"zope.Public\" for=\"*\" />
Slide 34: Phew... Ugh.. .
Slide 35: Zope3: Death by abstraction
Slide 37: It's unpythonic!
Slide 38: XML
Slide 39: (So, not so unpythonic as people think)
Slide 40: In J2EE: A mail service API Implementation neutral Req: J2EE Not web-only The JavaMail API!
Slide 41: In Zope 3: A mail service API Implementation neutral Req: components Not web-only zope.app.mail
Slide 42: Zope 3: The long march
Slide 43: Development of Zope 2 slowed down
Slide 44: Documentation no longer updated
Slide 45: A general waiting for Godot
Slide 46: Backwards compatibility
Slide 47: Didn't happen
Slide 48: Forwards compatibility
Slide 49: Not Yet
Slide 50: Never ends Starts o easy
Slide 51: Phew... Ugh.. .
Slide 52: 2 + 3 = Five Argh! Ugh.. .
Slide 53: Low entry treshold and all the power of a big framework without dead ends?
Slide 56: GUI schema/form editor Information Manager TTW Layer GUI workflow editor IT department A CMS, ERP or similar Site Layer Site developer A Web application server Application Layer Application developer Application Layer API Language Component Architecture Core Layer Core developer Loads of components
Slide 57: Pythonic Use existing modules and APIs if possible − The whole application framework is a library − Highly modular Pick and choose from the modules − Modify and replace internal components −
Slide 58: Too much freedom?
Slide 59: Start with a finished application!
Slide 60: How can we accomplish this?
Slide 61: Python
Slide 62: A setup framework
Slide 63: Zope Component Architecture
Slide 64: Zope 3 the libraries
Slide 65: Grok
Slide 66: Information Manager GUI Tools IT department The CMS/ERP Site developer Application developer Grok Component Core developer Architecture



Add a comment on Slide 1
If you have a SlideShare account, login to comment; else you can comment as a guest- Favorites & Groups
Showing 1-50 of 1 (more)