Drupal Multimedia book review
on
December 9, 2008
Drupal Multimedia book review
In Drupal Multimedia Aaron Winborn covers media handling in Drupal and provides information on how to embed and manipulate images, audio and video. Packt Publishing provides a dedicated page which lists the complete table of contents and where you can download all example code used in the book as well as a sample chapter.
The first chapter provides an in-depth introduction to Drupal, covering nodes, regions, blocks, themes and modules in general and cck and views specifically. The advanced theming section contains information about custom regions, hooking into template.php and creating template files. Each topic comes with clean example code, plenty of comprehensive screenshots of the different configuration forms and of what the end result looks like and notes with extra clarifications, tips and tricks. The author does a great job in describing the basic Drupal concepts, making this chapter really useful for new Drupal users.
The second chapter is a great introduction to image handling in Drupal. It shows just how much is possible by using a couple of modules and setting them up correctly. Not a single line of custom code is used to create image nodes, galleries, thumbnails and to set up rich text editors (wysiwygs). For each module the author provides a couple of alternatives and an explanation as to why he chose to review that specific module in more detail. The author makes great use of screenshots to clarify configuration settings and to show off the end results.
Chapter three provides more detailed information about image handling. The author reviews the ImageField module for adding images to nodes, ImageCache to create thumbnails and image previews and Views to create image galleries and slideshows. Third-party image providers such as Flickr are also covered and embedded using the Embedded Image Field module. Apart from attaching images to nodes the author also covers users images (avatars) and taxonomy images. A first code example is provided to show the different ways in which taxonomy images can be themed: by hooking into theme_taxonomy_term_page in a custom module, by putting it in phptemplate.php or by creating a custom template for it. The code is clean, adheres to Drupal's coding standards and contains plenty of comments. It also contains a tip on how you could enable the taxonomy_term view and add a PHP call to the taxonomy_image_display function. This kind of in-depth and complete information is a huge plus and is found throughout the book.
We dig deeper in the theming of images in chapter four by styling a view with css, overriding the image node template and adding lightbox support. A great plus is that the author covers the use of both Firebug and the Theme Developer module, again with screenshots and concrete examples. About half this chapter is dedicated to adding different image effects such as rollover menus and drop shadows by custom coding and theming. The code examples take up a lot of space and aren't really Drupal-specific so I preferred to see more Drupal modules covered here apart from the more obscure Magnifier, Zoomify or Image Watermark modules that are covered briefly. I'm also not sure why the Five Star module is featured in this chapter.
Chapter five is dedicated to using the Embedded Media Field module to integrate third-party video from providers such as YouTube and Blip.TV. The author discusses the pro's of using this module over copy/pasting the embed code and thus opening up the input filter to extra tags, and your site to cross-site scripting attacks. Almost all configuration options are discussed with lots of tips, clean descriptions and comprehensive screenshots.
The storage and display of local video is handled in chapter 6 which starts with a short introduction of the Video module and continues with a complete review of the features and configuration options of the FileField module. This chapter describes how to replace the default file listing with a thumbnail overlay and a flash video player by altering the theme using custom code in the template or by implementing the jQuery Media module. It should be noted that at this point the book refers to its a companion website drupalmultimedia.org but at the time of writing it is still under construction because the author is preparing to speak at the Do It With Drupal seminar. Since the site is referenced throughout the book as a live example of the different topics and what Drupal in general can do with media I feel the site should have gotten more attention.
Chapter seven deals with file asset management: how you manage, browse and reference your files. It starts of with the basic Node Reference module along with the Video module as a great example of how you can implement a video that has already been uploaded, with no custom coding at all. Of course the author also includes a section on how you could override the default theming. He then takes a leap of faith by reviewing two great modules that were only available for Drupal 5 by the time of writing: the Asset module and the Media Mover module. Luckily both modules are now available as dev or alpha versions for Drupal 6. Both modules are reviewed in detail and accompanied by plenty of screenshots to describe the different configuration options. I would have preferred to see more information about Media Mover's ability to convert media types (for example by creating a thumbnail from a video, or converting an mpeg video into a flash video). The author notes that "we will leave the Process configuration alone for now" but the topic isn't picked up again later in the book. Instead there is a reference to Wikimedia's Kaltura project to process media files, but since integration with Drupal is still in development this would have better been suited in the later chapter on The Future of Drupal Multimedia.
After having dealt with images and video, Chapter eight now takes on audio files. It starts with a great introduction in audio formats, comparing wav, mp3 and ogg and how these formats can be encoded. A natural choice for implementing audio files is of course the Audio module which creates audio nodes. The modules is described in great depth, going over the Token integration, getID3 information and metadata and the ability to select from multiple audio players.
Taking audio handling a step further, chapter nine shies away from the Audio module and digs deeper into FileField and jQuery Media and adds a bit of coding to integrate both modules. The Embedded Audio Field is introduced as a way to support external audio and configuring a thumbnail and the size of the player.
Chapter ten pulls out the full potention of audio theming by hooking deeper into the Node Reference theming options. The author explains how to generate audio playlists using the XSPF format and how to create them using either the XSPF Playlist module or the Views module. A great and creative addition is the use of the Flag module as a means to create user-generated playlists. The views example to create user-generated and embeddable playlists however spans several pages of code and configuration screens and features a view within a view and a custom views header that contains both PHP and jQuery code. Although it works, it seems overly complex, takes up a whole lot of space and will probably confuse or scare novice users. It might have been better to use the different views theme hooks to store the custom code in a module instead of in the database but I appreciate the idea behind the example as a final showcase of what Drupal can do with media.
In the final chapter the author talks about The Future of Drupal Multimedia, reviewing upcoming changes in Drupal 7 and beyond, such as the FileAPI and CCK in Core. Some more exotic topics are covered as well such as Virtual Reality, Second Life, Wii and Embedded Smell Fields but ranging at 12 pages this chapter is longer than for instance the chapter on third-party video integration, making it a bit too extensive. The index that follows this chapter is more confusing than useful. There is no entry for the imagecache for instance (although imagecache is mentioned below "images, cropping") and no entry for the video module but there are entries for both "FileField" and "fileField" as well as "node referenced clips" and "node referenced videos". It's really easier to just browse through the table of contents.
All in all this book is the absolute reference for embedding and manipulating media in Drupal 6. The information is clear and very detailed and accompanied by lots of screenshots and code examples. The book can be used by both aspiring and seasoned Drupal administrators and developers by slowly building up from installing and configuring node-level modules such as Audio and Video to the field-level FileField and Embedded Media Field modules and providing both very small and extensive code examples. The few downsides apart, such as the confusing index, this is an amazing resource on Drupal multimedia.








Very interesting website. You have an outstanding good and well structured site.