[Zope-dev] Where is the position of BlueBream in Zope ecosystem ?

Alex Clark aclark at aclark.net
Thu Jan 21 22:55:25 EST 2010


On 2010-01-21, Hermann Himmelbauer <dusty at qwer.tk> wrote:
> I think such things indeed matter to some degree: It's interesting that even 
> people who are not that new (like Baiju or me) can't easily draw a picture of 
> the Zope ecosystem, for instance neither of us knew that BFG sits on ZCA and 
> not on ZTK, whereas I would not have distinguished between ZCA and ZTK in the 
> first place.
>
> So - if even we have problems understanding, how would things look like for 
> complete newbies?

+1 FWIW I think of the ZCA as: 

The "abstract concepts that define modern Zope
programming" e.g. component, adapter, interface, view, utility, etc. which
is most often compared and contrasted with "old style" Zope 2 programming, 
e.g. acquisition, traversal, etc.

As such, I make a pretty big distinction between the ZCA and the rest, e.g. 
Zope 2, the ZTK, BlueBream, Grok, BFG, Plone et al. The former is a 
concept, the latter are implementations of that concept, to varying degrees. 

I don't know or particularly care what packages make up the particular
products/frameworks/whatever.

(In fact, I find the whole ZTK concept a bit confusing. If the ZTK is just
a collection of packages why argue over which packages? Why not declare
every damn "Zope-ish" package part of the ZTK? That would include Chris's
BFG, which implements CA concepts. So why not? Who cares? :-) We certainly 
have not reached the goal of helping newcomers understand the Zope ecosystem
in any other way to date, IMO.) 

With that in mind, I can view the ecosystem very much like:
http://wiki.zope.org/bluebream/BlueBreamName. 

But I might draw it like this:

#  Zope Ecosystem
#  ==============
#
#    .----------------------------------------------------------------------.
#    |ZCA (abstract concepts)                                               |
#    |  .-----------------------------------------------------.             |
#    |  |ZTK (a bunch of Zope-ish packages that may or may not |            |
#    |  |     be useful to you)                                |            |
#    |  |   ---------      ---------    -------    -------     |            |
#    |  |  |         |    |         |  |       |  |       |    |            |
#    |  |  |BlueBream|    |  Grok   |  |  BFG  |  | Zope2 |    |            |
#    |  |  |         |    |         |  |       |  |       |    |            |
#    |  |   ---------      ---------    -------    -------     |            |
#    |  |                                                      |            |
#    |  |                                      --------------  |            |
#    |  |                                     | repoze.zope2*| |            |
#    |  |                                      --------------  |            |
#    |  `-----------------------------------------------------`             |
#    |                                                                      |
#    `----------------------------------------------------------------------`

So I guess the point is, you can draw BFG with a line pointing directly to the
ZCA and explicitly avoiding the ZTK, but I'm not buying it, personally ;-)
Why? Because I consider BFG and whatever packages it consists of to be part
of the general set of tools I may use as a Python/Zope loving web developer. 
And what's a good name for a set of tools that I may use to build something?
Wait for it…                                                  a toolkit!

Alex

P.S.

*Merge me back to Zope 2 Hanno, please!

> Best Regards,
> Hermann
>


-- 
Alex Clark · http://aclark.net
Practical Plone 3 · http://tinyurl.com/practical-plone



More information about the Zope-Dev mailing list