%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%deffont "standard" xfont "helvetica-medium-r"
%deffont "thick" xfont "helvetica-bold-r"
%deffont "typewriter" xfont "courier-medium-r"
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%% Default settings per each line numbers.
%%
%default 1 area 90 90, leftfill, size 2, fore "gray20", back "white", font "standard", hgap 0
%default 2 size 7, vgap 10, prefix " ", ccolor "blue"
%default 3 size 2, bar "gray70", vgap 10
%default 4 size 5, fore "gray20", vgap 30, prefix " ", font "standard"
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%% Default settings that are applied to TAB-indented lines.
%%
%tab 1 size 5, vgap 40, prefix "  ", icon box "red" 50
%tab 2 size 4, vgap 40, prefix "      ", icon arc "yellow" 50
%tab 3 size 3, vgap 40, prefix "            ", icon delta3 "white" 40
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%page

Five - Zope 3 in Zope 2




%center
Martijn Faassen, Infrae
faassen@infrae.com
Five developer

%page

An Introduction to Five


	Why Five?

	What is Five?

	Where are we, where are we going?

%page

Motto


It was the dawn of the third age of Zope. The Five project was a dream given form. Its goal: to use Zope 3 technologies in Zope 2.7 by creating a Zope 2 product where Zope 3 and Zope 2 could work out their differences peacefully.

(Babylon 5 season 1 intro, creatively quoted)

%page

Motto 2


The Law of Fives states simply that: ALL THINGS HAPPEN IN FIVES, OR ARE DIVISIBLE BY OR ARE MULTIPLES OF FIVE, OR ARE SOMEHOW DIRECTLY OR INDIRECTLY RELATED TO FIVE.

THE LAW OF FIVES IS NEVER WRONG. 

(Principia Discordia)

%page

The problem
        

	We're using Zope 2 in production

	Zope 2 is showing its age

	Zope 3 has better ways to do things

	But can't just switch, we have codebases, customers!

%page

Benefits of using Zope 3 in Zope 2


	Able to use Zope 3 technologies right away

	Don't reinvent the wheel/APIs

	Better prepared for Zope 3 transition

	Evolution, not revolution

	Convergence, not divergence (this is important)

%page

Divergence


	Infrae created Silva, Nuxeo CPS, etc

	Everybody else started using Plone (why?!)

	I want to use cool Plone technology

	Silva is cool too, you may want to use it

	I don't want to have to reinvent every wheel (just some)

%page

What's stopping us from sharing?


	Zope 2 components are hard to share between apps

	Even CMF components need work to share

	Especially if you don't use CMF... (Silva)

	Zope 2 framework burden is making it hard

	Clean Python code is easier to share

%page

Convergence


	Unify our diverse efforts

	Zope 3 allows you to write Python, less framework sacrifices

	Zope 3 allows the glueing of components

	Zope 3 is the future

	Five makes some of the future available today

%page

What works now? - an overview


	Interfaces

	Schema

	ZCML

	Adapters

	Views, including layers, skins

%page

What works now, continued


	Zope 3 page template engine

	Traversal, resources

	Zope 2 security from ZCML

	Events

	Beginnings of forms machinery

%page

Progress made since June


	Initial announcement at Europython

	As promised, moved to SVN at codespeak.net

	Got website, mailing list

	People joined the project

%page

Progress made since June, continued


	Lots of excellent contributions!

	Much better view infrastructure (traversal)

	ZCML's interaction with Zope 2 products much improved

	UnionCMS and other projects are starting to use it!

%page

The Zope 3 Base


	Five is part of the Zope 3 Base

	Zope 3 Base - All Your Bobobase Are Belong To Us

	Possibly the cutest Zope 3 website anywhere

	http://codespeak.net/z3

%page

Zope 3 Base






%center 
%image "z3-banner.png"

%page

Zope 3 Base, continued


	Second area of Zope 3 related development

	Equivalent of Plone collective, for Zope 3

	More freewheeling than dev.zope.org

	Less freewheeling than Plone collective, however

	Cuter than both

%page

Evolution: Five-ification


	Five is not just for new Zope 2 projects

	Five can interoperate with existing Zope 2 applications

	Five in Plone - Flon

