Training

Our next U.S. stop:

Mike Anello and Andrew Riley from Mediacurrent are teaming up to offer the first Blue Collar Git workshop on Friday, June 8 as part of DrupalCamp Charlotte (also part of the Southeast LinuxFest). The cost is only $149 for the full day if you register during the month of May ($199 otherwise). 

New Podcast

Posted Wednesday, May 9 at 7:50 am
Brandon Morrison (Brandonian on drupal.org) joins Andrew Riley and Mike Anello on the first post-DrupalCon Denver edition of the podcast to talk about all things Geo in Drupal 7. Brandon is one of the maintainers of the GeoField module and is an active member of the Drupal Geo community.
Download Podcast 82
DrupalEasy_ep82_20120509.mp3
Syndicate content

Newsletter

Stay up-to-date on DrupalEasy workshops and other events. On average, we send about one newsletter per month.

Testimonial

Mike is a great teacher!

Who are we?

DrupalEasy is the collective expertise of Ryan Price and Michael Anello, who joined forces to provide training and consulting services worldwide. Read all about them and what they can do.

What is Drupal?

Drupal is a free, super-powerful content management system for sites that require information posting and collection, including blogs, forums, videos, photos, and databases of information. We think it is the best platform available. Here's why...

Why Drupal?

More and more savvy organizations are going with Drupal for content management, and its no mystery why. It’s free, flexible, and easy to maintain for small or large volume sites. Learn more...

Topic “Modules”

ImageAPI

A powerful behind-the-scenes tool that other image-related modules utilize. <140

Pay no attention to that (module) behind the curtain.

If you're going to be using images in your content types, then most likely you'll need this module. I'm not talking about "need" in the wow-I-really-need-to-sing-a-dozen-songs-during-my-journey way, but in the wow-I-really-need-to-kill-the-Wicked-Witch-before-she-does-away-with-me-and-my-little-dog way. It is a requirement to complete the odyssey.

The ImageAPI module provides important behind-the-scenes image processing capabilities that are utilized by other image modules, especially ImageCache and ImageField.

"API" is an abbreviation for "Application Programming Interface" - a set of functions that other modules can take advantage of in an effort to reduce code duplication and to provide a standard way to deal with images in Drupal.

Stats

  • Learning curve: not-applicable - since there is no user interface for this module, just install it and it makes itself available for other modules to use.
  • Depth: deep - an important module, most of it will become part of core in Drupal 7.
  • Resources:

ImageField

If you need to add images to your content, then you probably want to be using ImageField. <140

O images, images - wherefore art thou image handling?

Not in the default install of Drupal core, that's for sure.

Along with a the lack of a native WYSIWYG editor, proper image handling support is one of the major complaints against Drupal (did I mention the steep learning curve?) Luckily, there's a robust and very (very) busy community of developers who spend an inordinate (and possibly unhealthy) amount of time writing excellent modules for Drupal - one of these is called ImageField.

This module's dependence of the FileField module means that it inherits all of FileField's capabilities, including the ability to limit uploaded files by type and size. In addition, ImageField also allows site admins to limit uploaded images by resolution.

ImageField also provides an option for the content creator to add both a title and "alt" text entry for every uploaded image.

Unlike the Image module, images uploaded via ImageField do not become Drupal nodes on their own.

Stats

ImageCache

Automatically performs image manipulations as needed and caches the results. Complete integration with CCK (via ImageField) and Views. <140

What makes an Aston Martin Vanquish such a cool car?

Is it the fact that James don't-call-me-Remington-Steele Bond drove one all over a frozen lake (and into an ice hotel) in Die Another Day? Is it because Jason I-can-take-James-Bond-with-one-hand-tied-behind-my-back Statham's character in The Italian Job used his share of the heist to purchase one? Or is it because it's just one super-fast, totally cool-looking ride?

If you're using ImageField with CCK, then you should be using this module.

You can define an unlimited number of preset image manipulations that can be called upon when displaying images. These "manipulations are usually just different sizes, but the module also give you the option to crop, rotate, desaturate, and sharpen.

What's with the "Cache" in ImageCache? It actually only creates a modified image when that image is needed. Once a modified image is created, it is cached and treated just like any other image on the server. The next time that particular image modification is called, it served from the cache - no additional image processing necessary.

ImageCache also integrates fully with Views to allow you to select how an image appears in a view.

Stats

Filefield

Provides a file upload CCK fieldtype with powerful features that go above and beyond Drupal's core upload capabilities. <140

SETTING: A television studio stage, complete with a fake kitchen set and a couple of generic PCs on the counter. Phil, a haggard-looking developer seems exasperated as he works at one of the PCs. Billy enters from the left to a modest round of applause from the studio audience.

BILLY: Hey Phil, what's got you down?

PHIL: Oh, hey Billy, I didn't see you come in. It's this darn core upload module, it's just not doing enough!

BILLY: (winking to the audience) Hmmm, tell me what you're trying to accomplish.

This module is a CCK add-on that allows your content administrators to easily attach files to various content types. Its configuration allows you to dictate where each file gets stored on a per-user basis. It is required for many image-related CCK add-ons.

It provides many additional features above and beyond Drupal's core upload capabilities, including configurable per-user or per-field upload paths, configurable per-field size limits, and configuable per-field filetypes. It also has an API that allows module developers to leverage into its functionality.

The FileField module is required when using ImageField, a popular and extremely powerful way to add images to nodes.

Stats

Flag

Allows your users to mark (flag) content to be listed or acted on. Think bookmarks, buddylists, or offensive comments. <140

Like a Souffle rising in the oven, the Flag module rose above its predecssor, the Drupal 5-based Views Bookmark module to expand the palette of flagging possibilities in the Drupal cookbook.

This module integrates well with various other Drupal modules including Views, Actions (part of Drupal core), Rules, and Token. It also has an API with limited documentation.

Flags can be global or per-user. Global flags are shared among all users - an example might be "flag as offensive". Per-user flags are not shared - an example might be a user "favorites list", where they flag their favorite content on the site and then a list of all their "favorites" is placed in a sidebar.

The Flag Weights module makes it possible to reorder flag in an arbitrary manner.

Stats

CCK

Title and Body fields not enough? CCK lets you extend your content types with additional fields and widgets. <140

Keven likes movies. A lot. Almost an unhealthy amount.

Keven heard about Drupal and decided to create a web site where he could post reviews about movies he's seen in an effort to earn a few dollars in Google ad bucks to keep his movie-viewing habit at a high-level. So, he got himself a web host, installed Drupal and started posting reviews using the default "story" content type.

The attached screenshot shows an administrator view of a "client contact" content type that has additional fields for phone numbers, email addresses, and other information.

Stats

Link

Provides a CCK field type for adding links to content types. Supports titles, targets, and URL display trimming. <140

Clean water. Fresh air. Our health. The Link module. Free speech. You mother. All things we take for granted until they're taken away from us.

The Link module isn't like its big, important parent, CCK, or its hey-look-at-me-I'm-included-with-core-CCK siblings Text and Number or its hoity-toity cousins Node and User Reference. No, Link module is out in the ginormous sea of Drupal modules, fending for itself, and doing a pretty darn good job at it.

The module allows the site administrator to specify how the link is output (with or without a title), its behavior when clicked, and the option for the "rel=nofollow" link attribute.

Stats

Admin Menu

Adds a dyanmic administrative navigation bar to the top of every page for quick access to virtually any admin page. <140

What is more fun? Drilling down into your site's administrative area page-by-page or sticking needles in your eyes? Wait - don't answer yet; I'll give you a third option - how about memorizing Drupal's admin area URLs in an effort to avoid the dreaded page refresh? (all those guilty of the third option raise your hands - me included)

The Admin Menu module uses javascript and css to create a dynamic administrative menu bar at the top of every page on your site. You can decide which users can utilize the menu bar via the module's permissions. In addition to providing virtually all of the administrative links, it also has handy links for running cron, clearing caches, disabling developer modules, drupal.org, and accessing the "my account" page.

Stats

Views

You have all this content, you need to list it, sort it, filter it, form relationships, make it look pretty. We consider Views a must-have! <140

So, you want to build a content management system? They're all the same, aren't they? Admin screens, RSS feeds, Calendar, Contact form, the list goes on...

On the other hand, that makes me think of one area no framework agrees on... Lists! Drupal doesn't even have a built-in way of displaying a list of all nodes of type "X" to users.

Views is a universal API to let any user or module make a list of just about anything on your Drupal site: views comes with the ability to list all of Drupal's "first class objects":

Nodes
most views list nodes, and nodes have the most power and felxibility in a Drupal site
Aggregator Items
list stories in an RSS feed, sort them, filter them
Comments
maybe list all comments in moderation, or comments from users with the Editor role
Files
think: all files by one user, all MP3 files
Node revisions
Peek into the history of your content
Taxonomy Terms
Create custom navigation fast
Users
Combined with something like Userpoints, a list of folks who are active on your site
Access Log entries
find out where users are hitting your site, how they got there, and when

Stats

Syndicate content