[development] Paving the way for CCK, intentionaly without CCK

Gabor Hojtsy gabor at hojtsy.hu
Thu May 4 06:25:18 UTC 2006


Reading through all the development focus discussion and Dries' blog, what 
I see would be doable to target is an incremental process to pave the way 
for CCK, preparing for a possible 4.8 without CCK, but with the basic 
offering it would bring us. Dries outlines some needs for CCK like install 
profiles, dependency system. My simplified route proposal would not 
require these for 4.8, but still would offer great flexibility in how we 
can use the built in views of Drupal.

1. NCI (node cloning interface), for cloning node into book, forum, page, 
story, blog types (and any other the user desires). I imagine a simple 
interface at administer / settings / content types, where one can add 
another simple node type, provide a name and description, and that is it. 
This should be enough for the built in simple types, and should be 
forwards compatible for CCK. If CCK will not make it, this simple NCI 
feature could still be in place.

2. Abstract the view part of forums, book, blog, so that any node type can 
be added to a forum, a book or a blog equaly easily. This should be done 
regardless of taking the intermediary NCI setup, or going right to CCK. 
The point of this mail mainly is that we should go the NCI step first, and 
see if CCK can make it for the release. If not, the real end user 
advantage is still going to be there, being the possible addition of new 
content types (and losing the hassle of choosing between page and story 
for newcomers). Being able to push other types of content to blog or forum 
is a long awaited feature, at least one special forum module was developed 
for this very reason. Book allows us to add any type, but it is quite hard 
to add non-book node types to forums, not as easy as assigning a path 
alias (it should be that easy).

So what do I see is that people can work on the blog/forum/book view 
abstraction in preparation for NCI or CCK, and we can add NCI as an 
intermediary feature (or a final one CCK being a contrib module extending 
it for the time being). This would greatly reduce bloat, and I am sure NCI 
would take a lot less code (and support :) then what is required now to 
support story, page, book, forum and blog. It would also be the most 
painless route to take to abstract the built in views, but still would 
pave the way for CCK a great amount, providing a much lower footprint 
solution for those not needing CCK goodness.

IMHO core node types need no CCK to function. Attachments and path aliases 
are great node addons, polls can be retargeted as such, book outlining, 
forum and blog association can be retargeted as such, so what is left are 
only simple basic node types, which can be created with NCI.

I strongly beleive that instead of taking another revenge on core with the 
introduction of CCK, a quick and smooth 4.8 transition would be possible 
with NCI, which takes one of the most important steps to pave the way for 
CCK, but still does not need a major overhaul of how nodes are done (it 
is not a heart transplant as opposed to how Dries explained CCK in his 


More information about the development mailing list