The node skeleton technique - combining the power of module and CCK based nodes
Nodes fall into 3 categories:
1. Generated via a module, no CCK fields
2. Generated by CCK only
3. Created via a module with CCK fields added
For L10 projects, the CCK should not be used to create new content types (node type 2 from above). In instances where you may be tempted to create a node wholly by the CCK, create a node skeleton module and enable it first, then use CCK to add fields. A node skeleton does not add its own table.
The reason for doing this is that with the node skeleton we have greater flexabilty. Basically we have the combined power of a programmed module and a CCK module. Because there is a .module file we have full access to all node module hooks. (Yes, most of the hooks we can get to via the nodeapi hook but the skeleton method gives us access to all the hooks in a cleaner way.) Plus it gives us a place to put hooks for other module apis such as token, views and pathauto.
[[codesnippet/drupal-node-module-skeleton|Node Skeleton Recipe]]