Right now, creating a new content type in Drupal typically involves developing a new module, or extending an existing Drupal module to your needs. One of our long-term goals is to make it possible to create custom content types without having to write any code at all. We want users, not developers, to be able to create custom content types from within Drupal's administration interface. The need for this has been emerging gradually, and will become increasingly important for the success of Drupal, and content management systems in general. Eliminating developer intervention is a good example of how we can make Drupal more accessible to people that want to build websites.

The current code name for this project is the "content construction kit" (CCK). The project's goal is to allow users to create custom content types in Drupal through the web. The project is headed by John VanDyk and Johnatan Chaffer, who started working on the CCK almost two years ago. From day one, I've been keeping an eye on their work, hoping we can integrate it into Drupal core at some point. To understand the impact of such move, you can best think of it of as a heart transplantation. Much like open heart surgery, it needs careful planning and preparation.

It is part of the larger goal to make Drupal easier to use and develop for.


Erik Mallinson (not verified):

I agree that it would be great to see CCK in core. It seems that once I took the red pill and found out there is not much difference between node types it all sort of clicked. Since then it's been great to see Drupal go the more abstracted route. Even though there may be more complexity in the underlying code I think it would be worth it in the end. Code can be rewritten, working concepts are harder to come by.

Patrick Cormier (not verified):

I intend to install Drupal 4.7 this weekend, after reading the book by Robert T. Douglass. In that book Robert discusses the Flexinode module. Isn't that module to be used to define custom node types? I guess not, otherwise, you would not be posting this... So I'm curious: what do you mean by "custom content types" and how does it differ from what the flexinode module offers?


The flexinode module has severe limitations. The CCK is a rewrite of the Flexinode module. Think of the CCK as "Flexinode 2.0".