OUTDATED: What's The Difference Between Flexinode and CCK?

Last modified: November 19, 2009 - 17:13

Flexinode and the Content Construction Kit are both modules designed to make it easy to create customized node types that contain a collection of customized fields. Both do most or all of the work from a web browser, and are designed to be usable by non-programmers.

Flexinode is a proof of concept; its uptake was a surprise to the developer. It turned out to be extremely popular and has become one of the most commonly used Drupal modules. It has, in a way, become a victim of its own popularity as developers began to worry that it was not really designed to scale for the major role it now occupies or the ways in which it might be used.

The Content Construction Kit, on the other hand, has been designed from the ground up as a scalable solution of the quality necessary for inclusion in the Drupal core. The plan is that this new and improved functionality will take over the duties of Flexinode. For the Drupal 4.7 release cycle, both Flexinode and CCK will coexist in the contributions repository. It is planned that the Content Construction Kit be submitted for inclusion in the next major Drupal version. People currently using Flexinode have been assured that an upgrade path from Flexinode to the Content Construction Kit will be provided.

There is a major philosophical distinction between the two systems. Flexinode focuses on the presentational aspects of content entry; in essence, it provides a method to design a content entry form, but the resulting content is treated as an atomic unit by the Drupal system. CCK, on the other hand, strives to focus on the semantics of content types. Fields are defined in CCK based on what they mean, rather than what they are labeled. This means that a single field can be present in multiple content types, and interesting queries can be performed that span these content types. For example, an event module could key off of the presence of a "start date" field, and include all items with a particular start date in a calendar view, even if those items belong to a variety of content types.

 
 

Drupal is a registered trademark of Dries Buytaert.