Drupal modules

The Examples for Developers Module

An example, like a picture, is worth 1000 words. Until recently Drupal programming examples existed but were spread among documentation pages, blog posts, and the Drupal CVS repository; some searching required. That changed in late 2009 with the introduction of the Examples for Developers module. Its purpose: "to provide high-quality, well-documented API examples for a broad range of Drupal core functionality". Now you can find high-quality, working Drupal 6 and 7 code examples in one place, many with SimpleTests.

Drupal 6 RSS Omnibus

Drupal RSS functionality is spread out, and so is information on it. After first accumulating mental notes, which turned into a collection of written notes and code snippets, I realized there's a lot to be said on the topic. A single overview covering all things RSS seemed like a useful idea. This is a starting point covering many things RSS. I invite you to leave a comment if you have anything to add, a great reference or blog post, or if I've gotten something wrong.

"Out of the box" RSS

  • RSS is configured and controlled at Administration > Content management > RSS Publishing
    RSS Publishing Settings
  • The default RSS URL is rss.xml (e.g. www.example.com/rss.xml)
  • The default RSS feed selects content using the same selection criteria as the /node path ("/node" is the default front page setting). It contains the content of any node that's both "Published" and "Promoted to front page".
    Publishing Settings

    The exact content and number of nodes is determined by the RSS settings.
  • There is no provision to theme a node's RSS output in the PHPTemplate theme engine. Your node.tpl.php file is ignored when the feed content is rendered.
  • Because of the above point, double check the RSS feed output of any feed containing nodes you've created or modified with CCK.
  • Every taxonomy term automatically gets a feed (whether you want it or not)
  • The is no provision in the Drupal base installation (core) to publish comments in a RSS feed. A contributed module (RSS Comments or Views) is required. More on this later on.
  • The RSS feed will only be published on the front page. More on this later.

Mack Hardy: Geo-Location in Drupal 6

Putting location data on maps, especially dynamically, used to be a dream. No longer. Thanks to open standards, APIs, Internet based map web services, and many hours of work in the Open Source community, a new wave of options are available for putting location based data on maps. And Drupal is surfing this wave!

"Drupal SEO" from Drupal Camp Victoria 2008

Simon Vreeswijk of North Studio presents Drupal SEO and Internet Marketing at Drupal Camp Victoria 2008. In this session Simon discusses optimizing and tailoring your Drupal site to rock the search engines, including things to avoid, things to do, and general SEO tips.

DCVic08: Drupal SEO

"Introduction to Module Development" from Drupal Camp Victoria 2008

Nedjo Rogers presents Introduction to Module Development at Drupal Camp Victoria 2008. In this session Nedjo gives the basics of writing a module and some techniques to jump-start development.

DCVic08: Introduction to Module Development

The video can also be viewed directly: DCVic08 Introduction to Module Development at blip.tv

For a summary of Drupal Camp Victoria check out: Drupal Camp Victoria 2008.

"Indispensable Modules" from Drupal Camp Victoria 2008

Drupal Camp Victoria seems long past but it was only six week ago we descended on North Studio for some Drupal geekery and general fun. Ever the video nut, I caught a handful of sessions on camera. In this session, Indispensable Modules, Rene Hache of North Studio gives an excellent run down of the Drupal modules North Studio finds, well, indispensable. He also provided presentation notes: Modules We Can't Live Without.

DCVic08: Indispensable Modules

The video can also be viewed directly: DCVic08: Indispensable Modules at blip.tv

Announcing This Day in History

I'm pleased to announce my first Drupal module contribution: This Day in History. It provides an "on this day in history" feature block for your website. For example, if today was January 6th the birth of Joan of Arc (born January 6, 1412) might be displayed in the This Day in History block.

The module adds node type: Historical event, and supports the Node import module for importing historical events. Any number of display blocks can be created, and the events displayed can be selected by a number of different criteria, including randomly. If no event exists for the current day, no block is displayed.

The Journal Module

When more than one person is working on a site there invariably comes a moment when something breaks but nobody changed anything . . . or did they? A version control system catches the file changes, but what about Drupal settings? A new module addressing this issue appeared on the module RSS feed last month so I took a look.

The Journal module (Release 5.x-1.0) is very straightforward. It adds an additional text field named "Journal entry" to all Drupal forms via hook_form_alter.

Journal entry field screen shot

The Drupal Thickbox Module

Thickbox Image ExampleThickbox is a JavaScript widget built on top of the jQuery library. It displays an image or text in a pop-up window, allowing a user to view the image or text without leaving the original page. This is useful for viewing full-sized pictures by clicking on a thumbnail. It also has a gallery feature for picture groups so the user doesn't have to leave the pop-up box to cycle through a set of full sized pictures.

The Thickbox project page is http://jquery.com/demo/thickbox/. Everything is there on a single page, including implementation instructions for the widgets. It's the single best place to see what Thickbox can do.

The Drupal Thickbox project page is http://drupal.org/project/thickbox. At the time of writing the current module version is V5.x-1.1, implementing Thickbox 3 (the most current is 3.1). In addition to bringing Thickbox to Drupal the module adds Drupal specific integration:

Subscribe to RSS - Drupal modules