Drupal Content Creation Kit

Drupal 4.7 has an amazing “Content Creation Kit” module available for it (apparently, the module drove much of the node redevelopment between 4.6 and 4.7). It lets you easily create new content types, on the fly, without touching any code. It provides a set of primitives, and you can assemble them however you want – even providing lists of acceptable entries.

This is similar to the Flexinode module that’s been around for awhile now, but Flexinode was apparently a proof-of-concept hack that wasn’t intended to be adopted as widely as it has been, and apparently has scalability issues. CCK is sort of like Flexinode, reloaded. There is even a migration path planned to help folks who are heavily invested in Flexinode to move forward to the “modern” way of doing things.

For a demo project I’m setting up, I just created a new “News Release” CCK content type, with the required “Title” field, a text “Abstract” field, a “More Info” URL, and a “Main Content” field. I could easily add “Release Date”, “Agency” or any other News Release related fields. And, any releases created using the CCK content type would automatically have the appropriate fields and widgets provided.

CCK supports several types of fields:

  • date (text field)
  • node reference (select list or autocomplete field)
  • integer (free entry, select list, or checkboxes)
  • decimal (free entry, select list, or checkboxes)
  • text (free entry, select list, or checkboxes)
  • user reference (select list or autocomplete field)
  • web url (text field with URL validation)

When combined with the Views module, you can create pages listing these various CCK content types, displaying whichever fields are appropriate, and providing sorting/filtering tools as desired.

Want to create a Journal Article Review content type? Sure thing! Lesson plan? OK! “Learning Object” reference – maybe even approximating a LOM? Why not? With these primitives available via the web interface (no code required – or even allowed) you should be able to do literally anything… You can even clone/duplicate CCK content types, making it easy to tweak types without breaking existing content.

Seriously cool stuff. Semantically structured content types within Drupal. Kind of like Structured Blogging, but implemented within the structure of the CMS, rather than as a bolted-on xml parsing/generating utility. I’ll be using this on a few projects…

Drupal 4.7 has an amazing “Content Creation Kit” module available for it (apparently, the module drove much of the node redevelopment between 4.6 and 4.7). It lets you easily create new content types, on the fly, without touching any code. It provides a set of primitives, and you can assemble them however you want – even providing lists of acceptable entries.

This is similar to the Flexinode module that’s been around for awhile now, but Flexinode was apparently a proof-of-concept hack that wasn’t intended to be adopted as widely as it has been, and apparently has scalability issues. CCK is sort of like Flexinode, reloaded. There is even a migration path planned to help folks who are heavily invested in Flexinode to move forward to the “modern” way of doing things.

For a demo project I’m setting up, I just created a new “News Release” CCK content type, with the required “Title” field, a text “Abstract” field, a “More Info” URL, and a “Main Content” field. I could easily add “Release Date”, “Agency” or any other News Release related fields. And, any releases created using the CCK content type would automatically have the appropriate fields and widgets provided.

CCK supports several types of fields:

  • date (text field)
  • node reference (select list or autocomplete field)
  • integer (free entry, select list, or checkboxes)
  • decimal (free entry, select list, or checkboxes)
  • text (free entry, select list, or checkboxes)
  • user reference (select list or autocomplete field)
  • web url (text field with URL validation)

When combined with the Views module, you can create pages listing these various CCK content types, displaying whichever fields are appropriate, and providing sorting/filtering tools as desired.

Want to create a Journal Article Review content type? Sure thing! Lesson plan? OK! “Learning Object” reference – maybe even approximating a LOM? Why not? With these primitives available via the web interface (no code required – or even allowed) you should be able to do literally anything… You can even clone/duplicate CCK content types, making it easy to tweak types without breaking existing content.

Seriously cool stuff. Semantically structured content types within Drupal. Kind of like Structured Blogging, but implemented within the structure of the CMS, rather than as a bolted-on xml parsing/generating utility. I’ll be using this on a few projects…

Mapping relationships in the Blogosphere?

It would be really cool if Technorati or Bloglines (or Google, or BlogBridge, or Antarcti.ca, or PlumbDesign, or someone else) created a visual relationship mapping tool for the connections between individuals online.

I suppose it would have to be “Identity 2.0” driven, since people may have more than one online presence (a primary blog, a work blog, a personal blog, a Flickr account, a Del.icio.us account, etc…) and the value is showing relationships between people and not software.

Something like the FlickrGraph for my account – showing visually the relationships in the Flickr community. What if that got extended beyond the borders of Flickrstan?

FlickrGraph for dnorman

I suppose a visual interface for a machine-managed FOAF directory based on links rather than explicit declarations would do the trick… What I’m imagining is a way for communities to form automatically and dynamically based on linking – something that may be completely borked thanks to the silly attribute, though…

Bonus points for an alternate view based on Frappr.

Update: Something like Foafnaut (sample display), but I think relying on manually crafted FOAF files is pretty limiting – only hard-core geeks will take part, and what is needed is an inclusive everybody-in-the-pool approach…

Update: Took a first stab at generating a FOAF file using FOAF-a-matic. It’s woefully incomplete, and FOAF only understands one type/level of relationship – everyone is “Friend” – so you can’t say “I work with these people, hang out with these ones, met these ones at conferences, follow these blogs…” So, I’m not sure how useful FOAF would be for mapping relationships. The fidelity is pretty low…

Update: There’s a project to include FOAF support in WordPress, via the Links manager. It also includes support for marking relationships as Trusted via the ratings on the link…

It would be really cool if Technorati or Bloglines (or Google, or BlogBridge, or Antarcti.ca, or PlumbDesign, or someone else) created a visual relationship mapping tool for the connections between individuals online.

I suppose it would have to be “Identity 2.0” driven, since people may have more than one online presence (a primary blog, a work blog, a personal blog, a Flickr account, a Del.icio.us account, etc…) and the value is showing relationships between people and not software.

Something like the FlickrGraph for my account – showing visually the relationships in the Flickr community. What if that got extended beyond the borders of Flickrstan?

FlickrGraph for dnorman

I suppose a visual interface for a machine-managed FOAF directory based on links rather than explicit declarations would do the trick… What I’m imagining is a way for communities to form automatically and dynamically based on linking – something that may be completely borked thanks to the silly attribute, though…

Bonus points for an alternate view based on Frappr.

Update: Something like Foafnaut (sample display), but I think relying on manually crafted FOAF files is pretty limiting – only hard-core geeks will take part, and what is needed is an inclusive everybody-in-the-pool approach…

Update: Took a first stab at generating a FOAF file using FOAF-a-matic. It’s woefully incomplete, and FOAF only understands one type/level of relationship – everyone is “Friend” – so you can’t say “I work with these people, hang out with these ones, met these ones at conferences, follow these blogs…” So, I’m not sure how useful FOAF would be for mapping relationships. The fidelity is pretty low…

Update: There’s a project to include FOAF support in WordPress, via the Links manager. It also includes support for marking relationships as Trusted via the ratings on the link…