CCK is Drupal’s way of making rich content. It means that nodes of any content type can have any kind of data attached to them, so you can have e.g. a directory of superstore outlets, where the outlet records have their longitude and latitude (editable by a Google Map widget) whereas the contact records (e.g. Sales Manager, South-East) can have a portrait photo, selected from an image gallery in a dropdown widget. (A note on terminology: widgets are the structures which are used to edit the CCK data, typically defined in the same CCK submodule as the data types).
As a result of building a website for a Torchbox client, I came up with a Drupal 5.x module to query the Postcode Anywhere and MailBuild webservices (if they look like an unlikely mix, don’t worry: they’re not coupled together generally, so you can use one without the other). I’ve been meaning to make it live for ages, but never got round to scrubbing the client’s data out of it. Now that we’ve unearthed the module for other work then I’ve finally finished cleaning it.
Yesterday Neal, Tom and I wandered to London, where Rob Purdie was hosting the first ever Drupal for NGOs meeting at Amnesty International’s UK headquarters. It was a hot, dry evening, and Neal’s attempts to Brompton it over from Marylebone left him dry-mouthed enough to avoid the copious snacks that Rob and others had laid on for us.
Embedding JSON in XML. Hah, that's ridiculous, right? Almost as ridiculous as running a successful blog in .NET/ASP. Well, RSS can combine with JSON to quickly get a Drupal site to consume complex data structures over a webservice.
Drupal's core Aggregator module understands RSS2.0 with no tweaking, putting the text in the <description/> element into the content of quasi-node objects, so you can aggregate all sorts of syndicated content.
Drupal's Form API handles so much work for you that you'd be a fool not to use it as much as possible.
It's heartwarming, really encouraging to see that Drupal 7 is undergoing a usability review. Drupal's a massively functional CMS, but all the functionality in the world won't help you when the average (for which read: can't write HTML, let alone PHP) CMS user can't discover it.
EditInline was first discussed here. It's a Drupal module that provides your site with handy editing links, inline with each node title, which rather than taking you to a separate editing page use a lightbox overlay on the current page to provide an inline editing interface.
It's currently in alpha but available under GPL on the Torchbox public subversion repository.
My Drupal module for editing nodes inline EditInline is at version ɑ-0.4. Just to summarize, the module lets you edit either the current node (or any other node where the title comes from Views or node template rendering) in a lightbox overlay.
Developing Drupal in a development--test--production environment has a lot of advantages.