RIP Structured Blogging and Microformats?

I’d experimented with the Structured Blogging plugin for WordPress almost 3 years ago. It’s a way to add structured, complex data to regular blog posts, and provides both human- and machine-readable versions of the content in order to support aggregation and syndication of the data by any service that supports it. The plugin adds a bunch of extra types of posts, from generic reviews and events, to more specific formats such as Journal Article and Book. Those two formats would be extremely useful to any student (or faculty member) who is collecting notes on academic research for use in their studies.

The Journal Article and Book formats also integrate with services to automatically look up reference data. For example, while writing a review of an article in Nature, all I would have to do is enter the article title and click “Lookup: PubMed” – and the rest of the data was automatically queried and entered into the article review.

Similar features are available for books (via Amazon.com). And some formats also provide star ratings as additional fields, making ranking and reviewing items very simple.

Sure, it could be argued that the implementation is somewhat hackish – it replaces the rich text editor, and stores XML in the post content – but it works. That’s really all that matters.

Unfortunately, the Structured Blogging project appears to be defunct. The website has been abandoned, and the WordPress plugin hasn’t been updated since March 2007. The WordPress plugin still works, though, but for how long?

Hopefully, the promise of structured blogging and microformats won’t be abandoned outright. The decentralized, flexible nature of these complex content types has some really interesting implications on distributed publishing and recontextualization of information. It would be a shame to have that completely disappear.

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…

Drupal and Structured Blogging

I was bugging Boris with some emails today to ask about Drupal‘s support for structured blogging. I was asking if Drupal would be getting something like the WordPress Structured Blogging plugin, which provides templates for authoring various microformats.

It wasn’t until after he responded that I realized how silly my question was. Drupal doesn’t need the plugin, because support for custom formats and authoring templates is baked into the DNA of Drupal. Even for non-coders, anyone can make up new formats (and templates) on the fly using the flexinode module. And several other formats are already available as prepackaged modules (events, reviews, etc…)

So, just a reminder to myself to think about the nature of the solution, and not go looking for something done “the WordPress way” (or matching any other particular implementation – various applications have different concepts behind the scenes, and may approach the same problem from different angles)

I was bugging Boris with some emails today to ask about Drupal‘s support for structured blogging. I was asking if Drupal would be getting something like the WordPress Structured Blogging plugin, which provides templates for authoring various microformats.

It wasn’t until after he responded that I realized how silly my question was. Drupal doesn’t need the plugin, because support for custom formats and authoring templates is baked into the DNA of Drupal. Even for non-coders, anyone can make up new formats (and templates) on the fly using the flexinode module. And several other formats are already available as prepackaged modules (events, reviews, etc…)

So, just a reminder to myself to think about the nature of the solution, and not go looking for something done “the WordPress way” (or matching any other particular implementation – various applications have different concepts behind the scenes, and may approach the same problem from different angles)

Structured Blogging and Journal Articles

Structured Blogging was just updated to version 1.pre13, and one of the changes is apparently a new content type (well, it may have been in 1.pre12 – I skipped a version) that supports a structured review of a journal article.

This could be quite useful in academic blogging. Imagine a spider that crawls the blogs of your students (or of students and professors across the ‘sphere), indexing journal article reviews. It could make it very easy to share notes and thoughts on an article, or to create a distributed journal bibliography for communities of practice…

Here’s a screenshot of a mockup journal article review (for a journal that happened to be sitting on my desk):
Sample journal article review, using WordPress and StructuredBlogging 1.pre13

Structured Blogging was just updated to version 1.pre13, and one of the changes is apparently a new content type (well, it may have been in 1.pre12 – I skipped a version) that supports a structured review of a journal article.

This could be quite useful in academic blogging. Imagine a spider that crawls the blogs of your students (or of students and professors across the ‘sphere), indexing journal article reviews. It could make it very easy to share notes and thoughts on an article, or to create a distributed journal bibliography for communities of practice…

Here’s a screenshot of a mockup journal article review (for a journal that happened to be sitting on my desk):
Sample journal article review, using WordPress and StructuredBlogging 1.pre13