Drupal has attracted a lot of attention for the book authors during the last couple of years. A lot of books for the popular CMS have been published, with content targeted from beginners to advanced users, ranging from end users to core and third-party module programmers.
My new Drupal book arrived about three weeks ago. "Drupal Multimedia" was written by Aaron Winborn and is published by Packt Publishing, a house that has published a variety of books targeting Drupal, Joomla, PHP, etc. The book is targeted to users that want to learn how to unleash the multimedia features of Drupal with the use of third party modules. It's targeted mainly to intermediate and advanced users. Beginners could find their way through it, although they will probably find the content regarding theming somewhat confusing (because of their little knowledge of the Drupal inner mechanism and not because of the way the book is written).
Chapter 1 starts with a quick introduction to Drupal and meanings such as nodes, regions, blocks, themes, and a couple of widely used third-party modules, like Content Construction Kit (CCK) and Views. These two modules are heavily used through the rest of the book and are modules that a professional Drupal site cannot live without.
Chapter 2 goes through the process of creating new image nodes, with the power of the Image module. It demonstrates the creation of galleries, the embedding of images using Image Assist and the author makes an introduction to WYSIWYG modules (TinyMCE in this case) that are tied with the previously mentioned image modules.
Chapter 3 starts exploring other possibilities of attaching and displaying images in nodes, with the use of CCK and third-party modules built around it. In this case, the ImageField module is used. In the remainder of the chapter, the author explains the use of ImageCache for cropping, resizing and scaling images, Embedded Media Field for embedding images from third-party hosting sites like Flickr or Picasa and Taxonomy Image for displaying certain images for each vocabulary term. The first attempt for theming is done at this chapter.
Chapter 4 is dedicated to theming images. The reader will learn how to theme a view using CSS, how to discover which theming method to override by using Firefox's extension Firebug and Drupal's third-party Theme Developer Module. CSS will be used to demonstrate the creation of roll-over menus and images with the drop shadow effect. A small introduction will be done for the LightBox, Magnifier, Five Star and jCarousel modules at the end of the chapter.
Chapter 5 deals with video hosted in third-party providers, like YouTube, Metacafe, etc. The author uses the previously mentioned Embedded Media Field to present videos not hosted on the same server that runs Drupal.
Chapter 6 deals with video hosted locally. For this purpose, the FileField CCK module is used. The author also mentions players that are Flash based and introduces jQuery Media, which is a wrapper module for the jQuery Media Plugin.
Chapter 7 deals with the concept of file management. The CCK included Node Reference module is demonstrated, along with an example of how to theme a node referenced video. Then, the author talks about the Asset and Media Mover modules, which are basically APIs that each implement the concept of file management in different ways. A few basic examples that illustrate some of the functionality of these powerful modules follow.
Chapter 8 is about audio nodes. There is a small introduction of the most widely used audio formats in the internet (wav, mp3, ogg). Then, the author goes through the Audio Module, the module that is for audio files what the Image Module is for images. However, because audio files are not something that are natively handled by browsers like images or text, the author talks about audio players that are mainly Flash based. The Audio module ships with two Flash players that can play most audio formats.
Chapter 9 goes deeper in the audio territory, by examining the FileField module for audio files. As in the case for images, FileField is a CCK module that with the help of jQuery Media, you can create audio fields with a Flash based embedded media player. External audio sources can be handled by utilizing the Embedded Audio Field, which is a module contained in Embedded Media Field.
In chapter 10, the author goes through the process of theming for audio content. The reader will discover techniques with the Node Reference CCK module and how to create playlists with the help of the XSPF XML file format, XSPF Playlist and Views modules.
Finally, chapter 11 takes a look at what the future brings. Drupal 7, which is currently under heavy development, will carry a hook_file() function, that will implement a file API, that all modules will take advantage. Hopefully, a new generation of multimedia modules will use the new mechanism. It's been discussed before that parts of the CCK module and the Image module will be merged into the Drupal core, meaning that there's a pretty good chance that modules like FileField and ImageField will exist in core. From all this, everybody wins, since the third-party developers won't have to reinvent the wheel every time they need a file API and they can focus on better usability, like a better UI and better documentation.
Overall, this is a book where the author aggregates knowledge that you find scattered in the drupal.org pages (handbook, forum, etc.) regarding the multimedia aspects of a Drupal site. So, it's a very good source to use in order to create multimedia rich sites. Reading through this book, I discovered a lot of stuff I didn't know about. The theming part is a tricky thing, which needs more documentation and experience in order to achieve the results that you need. The book is focused around Drupal 6, although there were a few modules that (by the time the book was published) had not been ported yet to 6. Still the author makes references on them, hoping that a port for 6 will have been done by today. The book will not teach you how to write your own modules, but it will teach you how to take advantage of the existing variety of third-party modules. Hopefully, Drupal 7 will bring a new era for multimedia handling techniques. Until then, you can buy this book and take advantage of what's already there. If you don't want to search through the drupal.org site, the documentation (which can probably be outdated) and the forum topics in order to create your multimedia site, then this book is highly recommended.