[Zope-CMF] Development Philosophy & Architecture Questions
Shane Hathaway
shane@zope.com
Tue, 01 Apr 2003 13:11:17 -0500
Norfleet, Sheppard S. wrote:
> When should one create a tool as opposed to a portal content type? Other
> than the obvious difference in the nomenclature one could write in code in a
> portal content type that should be placed into a tool instead; for instance
> version control for content types. Should one create a new version
> controlled document(file) content type, or make a tool that performs version
> control on an existing type.
Basically, put functionality common to several content types in a tool
rather than in a base class. To give you some perspective, Zope uses a
large hierarchy of base classes to implement functionality that spans
content types. But such a large hierarchy has become a difficult burden
to bear. So CMF moves common functionality to tools instead of base
classes.
CMF doesn't always obey this rule because of constraints imposed by
Zope2, so CMF has some base classes for content. But Zope3 is meant to
solve these issues and remove all the mix-in cruft.
Shane