[development] Paving the way for CCK, intentionaly without CCK
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