[development] CCK in Drupal 6

Darrel O'Pry dopry at thing.net
Wed Feb 7 18:19:05 UTC 2007

On Wed, 2007-02-07 at 10:36 +0100, Bèr Kessels wrote:
> Nice post. And not very different from my future plans with flexinode, in 
> fact[1]. :)
> Op dinsdag 6 februari 2007 13:47, schreef adrian rossouw:
> > CCK exists of the following things for me :
> >
> > 1. Field Types
> > 2. widgets and formatters
> > 3. Data model - consisting of the field types.
> > 4. Query builder - crud functions. - generates query from data model.
> > 5. Configuration interface - builds data model
> However, one thing I /really/ miss in the architecture of CCK, and in FAPI, 
> and in your post too, is he view (as in theme/display) layer. 
> We agree that data != presentation, right? 
> We render "Submitted by Bèr Kessels on Sat, 02/03/2007 - 13:34." and not 
> "Submitted by 12 on 1172793600"
> Data is 12, the uid. But what we display is the user name (or whatever we 
> craft from it) with a link. 
> I think having this is crucial, and in the ERD for flexinode I have called it 
> the 'display profiles'. In both the FAPI and  CCK this is spagettied trough 
> the code. Some parts in the output are coupled to the widget (!?) in the form 
> of config settings. Others are left to the type of widget. Again others are 
> left entirely to the theme. The lack of vision and therefore consistency 
> bothers me, as a themer. We should IMO at least *think* about how and where 
> to handle this.

What are you talking about Ber? Have you even used CCK lately? The
Formatter system has been in place for quite a while now, and is working
really well. It even allows you to specify the formatter you want to use
for a particular field in views, and you can use the content_format()
function in your themes as well. You can easily write additional
formatters for any field type in your own custom module.

> In any case: Flexinode will, at some point, use display profiles. How exactly 
> they are going to be coded: I have no idea. But what they *are* is clear to 
> me: 
> A simple configurable, database stored 'thingy' that tells what theme function 
> (callback handler id) should be called to render the data.
> $node->date is the data. The display profile tells "because of Foo and Bar, 
> use 'theme_date_ago()' with arguments array('uid'=>$node->date)". 

Already done. See the display settings patch that eaton wrote that is
now a part of cck. It allows you to select the formatter used in
different display contexts and will expand to support RSS, print, etc.

More information about the development mailing list