I took a different approach on a drupal site I am building than what I am used to and I want to know what you guys think.
While CCK is great, because gives a lot of flexibility to add or remove node information sometimes modules need to work with that data in specific ways. Automatically assign values to a field, obtain data from a field, perform complex validations, or use data for other things rather than displaying/storing. This is were old style node content type development comes handy.
Now with this said and after reading http://drupal.org/node/105808 I totally agree that CCK should be the starting point for any node type. Now what with the fields that are related to some other module?
I can think of two possibilities, either a "value add" (as it's explained on the previous article I mentioned) that add the fields to any existing content type, take care of the validation, store it on the module's own tables and have whatever logic the module provides
or (which is something I am trying right now)
Create all the fields with CCK, and let the module knows which specific CCK content type should that module use for its extended logic and what fields of the CCK content type are to be mapped to the fields the module expect the content type to have.
With this I can think of the following pros and cons of each possibility and like to hear other opinions: