Drupal, at the heart, is a content management system (CMS) or content management framework (CMF) depending on who you ask. Out of the box the concept of publishing is built in with a content type, such as an article, plus an ability to promote items to the homepage. What modules really make Drupal shine in the everyday use of the publishing industry though? Here are ten modules that will help any Drupal publishing website.

1. Workbench Moderation

Workbench moderation might be overkill for most sites, but when content must follow a complex series of workflows it is the go-to choice. Workbench moderation adds a third level of node status instead of published/unpublished called drafts. Each draft can work through a variety of transitional states with access control before publishing to the live site.

2. Content Lock

Publishers in larger organizations have always run into the error “The content of this node has been edited by another user.” Content lock resolves this problem by locking pieces of content while another user is editing. Users with elevated permissions can break this lock if necessary.

3. Shortcut Per Role

Shortcut per role takes the core shortcuts bar in Drupal and makes it customizable for each role. This allows reporters to have shortcuts specific to creating content, while editors have links related to content management. 

4. Diff

Diff is a must have module for publishers. All publishers should have Drupal core node revisions enabled, and diff modules expands upon this allowing a visual comparison between revisions of what changed.

5. Taxonomy Manager

The Drupal taxonomy system is extremely powerful especially in regards to publishing sites. Maintaining this is challenging though. Taxonomy manager helps organize the mass of terms allowing for bulk adding, editing, or removing terms plus seeking out terms to edit.

6. Autocomplete Deluxe

Besides the problems with managing the actual terms and vocabularies in Drupal, the core term reference fields fail on flexibility as well. Autocomplete deluxe extends the core fields allowing adding or removing tags via jQuery UI autocomplete. It also allows extensibility with other modules such as the Chosen framework. Other taxonomy enhancing modules for Drupal to check out include:

 - Content Taxonomy

 - Taxonomy Term Reference Tree

7. References Dialog

References dialog allows one click searching, adding, or editing of referenced nodes from the editing screen of the current node. This allows searching based on exposed filters for a referenced node rather than simply searching on node title autocomplete. 

Bonus: Use the new patch for taxonomy integration to add search, add, and edit functionality to term reference fields.

8. Media

This is a love-hate relationship for developers, but does provide a decent UI for users of publishing sites. Media tackles reusable file assets allowing a library of photos, videos, or whatever type of static asset a site contains to be maintained, searched, and referenced in content.

9. Metatag

Though this should be a staple on every Drupal site, metatag module is especially useful on publishing sites. Metatag not only allows control over the basic metatags, but advanced categorizations such as Open Graph protocol (what Facebook uses), Google news keywords, Dublin core, and many more.

10. Google News

Being listed in Google news usually leads to greater pageviews for news publishers. The Google News module provides a news specific XML file (similar to a sitemap.xml) for Google to index what articles are relevant for inclusion within Google News.

Bonus:

Publish Button

For a simple site no better addition exists for content management user interface than this module. It services one purpose: To add a publish button to the bottom of the create/edit node screens. Rather than clicking into the publishing options and choosing a checkbox to publish/unpublish this button provides one click access.

What modules do you use on your publishing site? What is the one module you couldn’t live without for publishing? Leave your thoughts in the comments below or tweet them @mediacurrent or @kbasarab