November 2012 was a busy month for a lot of people involved in Drupal contribution. It was the final weeks before the “feature freeze” for Drupal 8 , so a lot of the focus was on new features for the next great release of Drupal. Many of the “new projects” were simply “namespace reservations” for new core modules or planned contrib modules which relate to Drupal 8; most of which had no project code committed at all (for some, presumably, it’s all in the main Drupal 8 repository). But there were also a number of new feature-enhancing modules released for Drupal 7 (and a few for Drupal 6), several which improve search functionality, a few for delivering mobile-friendly content from a Drupal site, some for commerce, others designed to help manage Drupal sites and ensure that nothing slips through the cracks when moving from “development” to “production”, among other new gems.
It’s fun, too, that we got a couple new “novelty” modules in November: one, Driesday , puts a “Happy Driesday!” message on your site every November 19th; another is a bit more insidious, with a fully-disclosed dependency on Bad judgement : Feature creep allows you to nostalgically hang onto the “good old days” when Features had a few more quirks. So if you want to remember that fun, just turn this module on and, as the module description says, “every time that you export or update a feature the Feature creep module will randomly add an extra component to your feature, what fun!”
Before we get into the module descriptions, of course, I should acknowledge the very late arrival of this month’s release of this column. It’s been one of those months… again. But let me try to hold onto my optimism that I’ll be seeing you with December’s write-up in just a couple weeks. I’ll be aiming for the first week of January. Now let’s have a look at the “new” modules.
Apache Solr Term Proximity
Categories: Search , Taxonomy
The Apache Solr Term Proximity module, coded by the prolific Chris Pliakas of Acquia fame, should be of interest for sites using Apache Solr. It boosts the relevancy of documents in which the search terms appear closer together. In other words, if I’m searching for “data migration”, a document which has these two words together should rank higher than another document where they are separated by a few words, which should rank higher than one where these words appear in different paragraphs. Nice!
Status: There is an RC release available for Drupal 7.
bigint
Categories: Fields
It’s always nice when developers share modules which help to get around some of the native limits in Drupal. One such limit is the lack of a proper “BigInt ” integer type, which might not be needed for most sites, but is certainly a limitation that developers have to work around for some use cases. The bigint module, by Ryan Coulombe of NewMedia! , provides a true BigInt field, thus saving site builders from having to find creative ways to handle text or decimal values that they really want to be an integer. Cool!
Status: There is a stable release available for Drupal 7.
Block Group
Categories: Utility
The Block Group module, by znerol , provides a taste of Drupal 8-like layouts by extending the Drupal block system with “block groups” which can be placed like a normal block, are nestable, and can have regions within them. A simple use case might be that you want all of your user-related blocks to be kept together in one “user blocks” block group, which you can then put into whatever theme region you wish, without having to always fix their order when adding them to a different theme or reorder them if you change the region. Very handy!
Status: There is an alpha release available for Drupal 7.
Book Touch
Bounce reasons
Categories: Community , Content , Content Display
The Bounce reasons module, produced by Alexander of ADCI, LLC , may or may not be a good idea. It pops up a Webform in an overlay, when your site visitors attempt to close a window, where you can ask why they are leaving. Personally, I think I would just find this annoying and might likely avoid following future links to the site, but that’s just my initial reaction; maybe I’m not the typical web user and it’s possible that in some cultures people wouldn’t mind a site preventing a window from being closed to ask them why. That said, maybe it would be better to provide an “opt-in” for such an “exit poll” feature, i.e. ask visitors when they arrive to your site if they wouldn’t mind being asked about their experience when they leave. But perhaps you have a client who has asked you to build exactly this functionality? If so, rather than argue with them about why this might not be a good idea, you now know “there is a module for that”. And maybe using this for a while would help them improve their site. The project description page doesn’t specifically mention it, but it would seem to depend on Webform … and possibly also Bad judgement . Hmmm…
Status: There are stable releases available for both Drupal 6 and Drupal 7.
ckeditor_syntaxhighlighter
Commerce Backoffice
Categories: Administration , Commerce/Advertising , E-commerce , Views
The Commerce Backoffice module, by Bojan Živanović of Commerce Guys , provides administration enhancements for Drupal Commerce and is already in use on over 2,000 sites less than a month after its release (perhaps largely since it’s a component of the latest release of the Commerce Kickstart distribution). It includes three sub-modules, each of which have a number of dependencies and the project page does a good job of explaining everything, so I won’t say more than this: if you are using Commerce and aren’t using the Kickstart distribution, you will probably benefit from adding and configuring this module.
Status: There is a stable release available for Drupal 7.
Commerce Search API
Context Block Visibility
Dictionary Export
Categories: Taxonomy
The Dictionary Export module, coded by Ed Baker of the Natural History Museum, provides support for Microsoft Office-compatible dictionaries in (*.dic) format for any vocabulary on your site.
Status: There is a stable release available for Drupal 7.
Download Userpoints
Categories: File Management
The Download Userpoints module, by Eugen , provides a way for you to allow access to private files via user points. This looks useful for communities which provide points for contribution and require points for downloads of community-contributed files (as one example use-case). It requires the Userpoints module.
Status: There is a beta release available for Drupal 7.
Drifter
Categories: Content Display , Fields
The Drifter module, produced by Peter Anderson of PackWeb , allows fields to be floated to the left or right of content. While this kind of layout is normally provided by theme CSS, it can be useful for it to be theme-independent.
Status: There is a stable release available for Drupal 7.
EasyRdf
Entity reference multiple display
Categories: Content Display
The Entity reference multiple display module, written by Jean Valverde of Linagora , provides a new field formatter for Entity Reference that let you configure different view modes for each referenced entity, for instance if you want the first elements to be displayed in full and subsequent elements to be displayed as teasers, this module could be your friend.
Status: There is a stable release available for Drupal 7.
Entity Reference Views Formatter
Facebook Autopost
Categories: Community , Rules , Third-party Integration
The Facebook Autopost module, written by Mateu Aguiló Bosch of Human Bits , provides simple configuration to allow your site to automatically post to designated Facebook Pages. It includes a good developer API, integrates with Rules and the Entity API and includes Libraries integration for the Facebook Developer PHP SDK. It includes a Facebook app, which you authorize to make posts on the designated accounts’ behalf. There is a detailed video tutorial on the setup process linked on the project page.
Status: There is an alpha release available for Drupal 7.
Field Formatter CSS Class
Categories: Content Display , Fields , Theme Enhancements
The Field Formatter CSS Class module, by Christian Zuckschwerdt , is perhaps a bit similar to the aforementioned Drifter module; it adds a CSS selector for fields so that you can select to, for example, use a class which floats an element left or right on a per-node basis. Of course you need to set up your theme for the classes and configure your fields, so it’s not a simple “add-and-activate” module, but it should give content authors a bit more control of display for individual nodes. The author invites the community to request additional features, so I think this will definitely be useful for a lot of sites (and there are already quite a few using it). Nice!
Status: There is a stable release available for Drupal 7.
Final Polish
Categories: Utility
The Final Polish module, by Yannick Leyendecker of LOOM GmbH , helps take care of some of the last steps that are often forgotten when launching a Drupal site. It allows you to disable access to paths like /node
, /rss.xml
, etc; it uploads a “touch icon” to be used by mobile devices; it verifies the existence of /favicon.ico
, /apple-touch-icon.png
, etc, so that you don’t get a plethora of 404 errors in the logs, and the author invites input for additional features, but already has a nice development road-map to include checking recipients for Webform emails, checking the site email address, redirecting to the front page on errors (access denied / not found), etc. This can definitely streamline the last steps of getting our sites ready for use, so I’ll definitely be giving this a try.
Status: There is a development release available for Drupal 7.
Gumroad
Categories: E-commerce , Third-party Integration
The Gumroad module, from Eric Peterson of Tableau Software , helps use Gumroad to sell products on a Drupal website. I normally skip over modules which integrate commercial services, but what Gumroad offers and what they charge for their services seems like a good deal. So if you want to, for instance, sell your self-produced music and don’t want to spend a lot of time (and/or money) building up e-commerce infrastructure, handling payments, and all that, this can be a simple way to collect a reasonable percentage of the incoming revenue, and start making sales, without a ton of work. Of course, if you have more involved needs for e-commerce functionality, you’ll probably want to use Drupal Commerce , but I think this module should be attractive for a lot of creatives who simply want to focus on the “fun stuff” and just sell a few things from their sites.
Status: There is a development release available for Drupal 7.
Hackpad
Categories: Content , Fields , Third-party Integration
The Hackpad module, contributed by Andrew Berry of Lullabot , integrates Hackpad into a Drupal site. Hackpad is a hosted service, based on Etherpad (but with a lot more cool, more modern features), which allows collaborative editing of documents; it’s very cool, fun, and can be used for a lot of purposes for teams, so I think the interest in Hackpad will definitely grow, as will the features supported by this module which is still new enough that the API for it has not yet been documented, but with Lullabot behind its development, you know it will be awesome!
Status: There is a development release available for Drupal 7.
Image Combination Effects (ICE)
Categories: Content Display , Media , Performance and Scalability
The Image Combination Effects (ICE) module, by Guy A. Paddock of Red Bottle Design , is too complex to succinctly summarize, but if you are building an image-centric site (e.g. a site to display your photography), this looks very useful for combining image effects or displaying multiple images at the same time (as one image), i.e., like “spriting” icons, but with larger images. It was designed to reduce the number of requests necessary for loading a slideshow, where they still wanted the client to be able to add new images or adjust the display order, but it looks like there could be a lot of potential use cases. It looks like this offers some pretty cool features that you might want to consider if image display is an important part of your planned site. I’ll certainly be playing with this.
Status: There is an alpha release available for Drupal 7.
jQuery Placeholder
Categories: JavaScript Utilities , Third-party Integration
The jQuery Placeholder module, written by James Silver of ComputerMinds , integrates the HTML5 Placeholder jQuery Plugin to provide backward compatibility, using a Javascript-only method, for older browsers which don’t support the HTML5 placeholder attribute. For those not so up on HTML5 attributes, the “placeholder” attribute provides the “placeholder text” you see in a form field before you click on it to, e.g. enter your name, but until HTML5-support improves, we need some fallbacks, so this looks like a useful module.) It requires jQuery 1.6+ and the Elements module.
Status: There is a beta release available for Drupal 7.
Mass Password Reset
Categories: Security , User Management
The Mass Password Reset module, written by Mark Shropshire of Classic Graphics , allows a Drupal site administrator to reset the password on all user accounts (except user/1
) and then notify all users. It’s good to know this module is available if there’s ever an emergency situation where we might need it.
Status: There is a stable release available for Drupal 7.
Meta tags: Panels
Categories: Search , SEO
The Meta tags: Panels module, contributed by Diogo Correia of DRI , extends the Meta tags module with support for Panels pages. It also has Features integration, so that if you export a panels page, the meta-tag configuration is exported with it. Cool!
Status: There is a beta release available for Drupal 7.
Mobile Switch Blocks
OG homepage
Categories: Administration , Organic Groups (OG)
The OG homepage module, produced by enzipher , allows you to configure an Organic group ’s front-page as the default “home” for logged in members of the group; it also includes options to determine how a user is redirected if they belong to more than one group, among other nifty features. This could be useful for a lot of Organic Groups -based sites.
Status: There is a stable release available for Drupal 7.
Performance and Scalability Checklist
Categories: Administration , Performance and Scalability
The Performance and Scalability Checklist module, contributed by Travis Carden , is similar to the popular SEO Checklist module, which he also helps maintain. It provides an interactive, step-by-step checklist to help manage the common tasks involved in launching or administering a Drupal site; in this case where it comes to optimizing your site’s software stack, from Apache to your Drupal theme.
This module is still new and the topic it attempts to cover is so broad, that the module is sure to change and improve in time, but it already looks pretty darn useful. The author is actively seeking suggestions in the Performance and Scalability Checklist issue queue , so please give it a try, then add your 2¢ to help improve this module. Enabling this module requires the ChecklistAPI module.
Status: There is a beta release available for Drupal 7.
Path metatags
Categories: Path Management , SEO
The Path metatags module, by Maslouski Yauheni , helps to create metatags for any page with any selection rules and loads any entity from the URL; it supports all tokens from the Entity tokens module (a sub-module of Entity), supports import and export via Features and Chaos Tools , and allows for full translatability of path meta-tag values, among other nice features—you should really have a look at the project page to get a better overview. It looks well thought-out, so I suspect this may well become a quite popular module in time.
Status: There is a beta release available for Drupal 7.
Performance data
Categories: Performance and Scalability
The Performance data module, by Nathaniel Catchpole of Tag1 Consulting , is envisioned to be a UI for viewing and analyzing performance data that you’ve recorded and saved using other tools. When a key core maintainer starts a new project, there’s usually reason to take notice and expect there might be great things coming. That said, according to the project page, this is still in the early stages of development, so unless you have an interest in assisting the development process , you might want to wait a while to try it out.
Status: There is an alpha release available for Drupal 7.
Print Anything
Categories: Content Display
The Print Anything module, coded by Chris Desautels of R2integrated , helps you configure special rules for generating print-friendly output for any path. There is some work to getting it all working, but it has some nice features and helps you handle a lot of content that isn’t otherwise simple to print, as well as helps maintain your brand visibility by including your logo in the output, among other features.
Status: There is a stable release available for Drupal 7.
Quo.js
Categories: JavaScript Utilities , Mobile , Theme Enhancements , Third-party Integration , Utility
The Quo.js module, created by Bryan Ollendyke of Penn State University , integrates the Quo.js mobile event library into Drupal. As with other such modules, you’ll still need to download and install the JavaScript code, separately. It provides a number of features, including environment detection, and event detection, such as reading “tap”, “hold”, “pinch”, “rotate” and other such mobile gesture events. It integrates well with, and enhances, the other modules recently released by the same prolific contributor, including the aforementioned Book Touch and Thumbnav modules, so it certainly looks useful and I expect it will grow in use as more sites start providing mobile-specific features.
Status: There is a beta release available for Drupal 7.
Search API Page Block
Simple Anti-Spam
Categories: Spam Prevention
The Simple Anti-Spam module, by xandeadx , adds two new elements to designated forms: one checkbox, labeled “I’m not a spammer” and a hidden checkbox, “I’m a spammer”. If user does not check the first or (is a bot which) has checked the second checkbox, the form is not submitted and displays a warning message.
Status: There is a development release available for Drupal 7.
Simple Table of Contents
Speedboxes - Fast checkbox handling
Thumbnav
Categories: JavaScript Utilities , Mobile , Site Navigation , Theme Enhancements
The Thumbnav module, yet another module produced by Bryan Ollendyke of Penn State University , provides a mobile-friendly framework for using a website on touch-driven devices, with support for a variety of navigation methods and an API for developers. It includes support for Quo.js , but doesn’t rely on Quo. See the project page for links to some nice demonstrations, but if you are looking for ways to improve your site’s mobile support, this could definitely be worth checking out.
Status: There is an alpha release available for Drupal 7.
Unit Conversion Formatters
Views Drupal 7 to Drupal 8 upgrade
Categories: Views
BACK UP YOUR DATABASE BEFORE ATTEMPTING TO USE THIS MODULE FOR AN UPGRADE. Really. We're not kidding.
—from the module’s project page description
The Views Drupal 7 to Drupal 8 upgrade module, written by Jess of University of Wisconsin-Madison, a major force behind getting “Views in core” in Drupal 8, helps migrate Drupal 7 Views data to Drupal 8. It’s nice to see work on this is this far along.
Status: There is a development release available for Drupal 7 (really a Git repository you can check out).
Wunderstatus connector
Categories: Security , Third-party Integration
The Wunderstatus connector module, from Henri Hirvonen of Wunderkraut , sends information about installed modules as a JSON to a central service. This could be useful for monitoring a group of sites your company maintains, so I look forward to giving this a whirl and seeing how it develops.
Status: There are alpha releases available for both Drupal 6 and Drupal 7.
XSL Formatter
Categories: Content Display , Fields , Import/Export
The XSL Formatter module, developed by Dan Morrison of Sparks Interactive , provides a field formatter to process XML content through a defined XSL stylesheet for rendering. If that sounds useful, it’s probably best you just look at the well-written project page, because there is quite a lot of information there, which runs well outside the scope of this column.
Status: There are dev releases available for both Drupal 6 and Drupal 7.