[Zope-CMF] making CMFCore independent from CMFDefault

Yuppie schubbe@web.de
Thu, 21 Nov 2002 15:56:05 +0100


Hi!

This mail is not about *why*, its about *how* to do this.

If you are interested in the *why*, have a look at these two mails:
  <http://lists.zope.org/pipermail/zope-cmf/2002-October/015632.html>
  <http://lists.zope.org/pipermail/zope-cmf/2002-October/015939.html>

For background information, I'll start with an ASCII-table that shows 
some dependencies between CMFCore and CMFDefault. It lists interfaces 
(most of them for the tools) and the corresponding implementations. 
Modules in '()' don't refer explicit to an interface, but I hope the 
classifications are correct.


CMF Interfaces            | CMFCore               | CMFDefault
--------------------------+-----------------------+-------------------
CachingPolicyManager      | CachingPolicyManager  |  --
ContentTypeRegistry       | (ContentTypeRegistry) |  --
Contentish                | PortalContent         |  --
Discussions               |  --                   |  --
DublinCore                |  --                   | DublinCore
IndexableContent          | (PortalContent)       |  --
Membership                |  --                   |  --
PortalContentRegistration | (register)            |  --
ReviewableContent         | (PortalContent)       |  --
Syndicatable              |  --                   | (SyndicationTool)
portal_actions            | ActionsTool           |  --
portal_catalog            | CatalogTool           |  --
portal_discussion         | DiscussionTool        ? DiscussionTool
portal_memberdata         | MemberDataTool        |  --
portal_membership         | MembershipTool        > MembershipTool
portal_metadata           |  --                   | (MetadataTool)
(portal_properties)       |  --                   | PropertiesTool
portal_registration       | RegistrationTool      > RegistrationTool
portal_skins              | SkinsTool             |  --
portal_types              | (TypesTool)           |  --
portal_undo               | UndoTool              |  --
(portal_url)              |  --                   | URLTool
portal_workflow           | WorkflowTool          |  --



And now some initial thoughts:

1.) Info: I already started moving CMFDefault.URLTool to CMFCore.

2.) Proposal: move CMFDefault.DublinCore to CMFCore
     Why: CMFWorkspaces, CMFWiki, CMFCollector and CMFCalendar depend
     on DublinCore.

3.) Proposal: remove Syndicatable interface from CMFDefault.Interfaces
     Why: redundant

4.) Question: CMFCore.ActionsTool depends on CMFDefault.PropertiesTool
     and CMFDefault.SyndicationTool. What to do?

5.) Proposal: remove Discussions and Membership interface from
     CMFCore.Interfaces
     Why: They seem to be replaced by newer interfaces and not used
     anymore.

6.) Any other ideas?


Cheers,

Yuppie