Wednesday, July 28, 2010

Book Review for "Plone 3 Multimedia"

I've just finished "Plone 3 Multimedia", another Packt Plone title.

If you're not experienced with Plone, you probably need not pick this one up for a while. But if you are running Plone and want to use video, audio, photos, etc. to snazz it up-- there's a lot here for you. Here's the full review:


Plone 3 Multimedia

This is a book for Plone power users and administrators. The focus of the book is on multimedia capabilities, the content type is a wide-ranging survey with details for each of the many mini-subtopics. For anyone with a need to add multimedia content to a Plone site, I would recommend this book.

Chapter 1 is a brief chapter that defines Plone, ZCA (Zope Component Architecture), the excellent zc.buildout, and multimedia itself. The author gives us a brief introduction to Plone4Artists, which is an initiative that addresses many multimedia concerns.

Chapter 2 is all about images. The author tells us how to organize, resize, and group images in ways that make the site more appealing to the user. You are taught how to produce thumbnail images (which can be clicked into larger images) and how to use gallery/slideshow products. This is the first chapter to use a recurring theme: The author first explains the capabilities of a basic Plone installation, then later explains what sort of add-ons you might use to gain further capabilities. This is a meaty chapter with lots of technical content. If you're a serious Plone admin, this chapter alone might make the book worth your while.

Chapter 3 is the audio chapter. Audio formats are explained along with the advantages and disadvantages of the various types. A good explanation of audio metadata is included-- I found that part especially interesting. The author explains how to include audio players on your Plone site, and demonstrates writing a player view in HTML5. Like chapter 2, this chapter is a deeply technical one with plenty of specific advice to guide the reader.

It seems only natural that video content should follow audio and images, and so it is. Chapter 4 tells us how to stream and embed videos in your Plone site, also how to leverage videos hosted on external sites like YouTube. By now you'll recognize the familiar chapter format: First the basic capabilities of Plone are covered, then fancier alternatives are introduced including the Plone4Artists parts that address this chapter's needs. Once you recognize the chapter layout pattern, it really makes the material easier to divide into logical sections.

Chapter 5 concerns Flash in Plone. Several Flash helpers are covered, as well as some problem spots that can be avoided. As a special bonus, Silverlight is given coverage, too.

The next chapter was really interesting to me-- it was all about content organization and control. The first part dealt with categorization, and ways to optimize flexibility in Plone's folder-centric way of doing things. This was followed by a good discussion on content metadata, and an explanation of the Dublin Core standard for metadata. Tagging and rating of content followed this, and geo-location and the use of maps was the ending of chapter 6. There was enough information here that I am going to read it again!

Chapter 7 was all about Syndication, including RSS and Atom. As usual, the author outlined what a basic Plone installation can do, then suggests some add-ons that can further enhance your Plone site. Another common theme throughout the book is the suggestion of add-ons that will be helpful for the current problem set, then advice on how to configure the add-on for best usage.

Chapter 8 covers advanced uploading techniques. Say you have a whole photo album you'd like to move onto Plone, but you'd really rather not do it one file at a time. This chapter is for you, then! The author discusses FTP, WebDAV, and a few external tools that can be of use in this case.

The next chapter is all about persisting data. The author first covers the vanilla Plone default (ZODB, the object data base) then offers alternatives. The main concern is large binary files, which is natural since this book is all about multimedia data types. For these, Plone can be configured to use external sources (like YouTube) or file system mechanisms to hold the data outside of ZODB.

Chapter 10 is the final chapter of the book, and it covers the important topic of performance optimization. Varnish, the reverse proxy cache server is explained as is the Red5 video server. CachFu, a commonly used content caching mechanism, is also explained.

You might think 10 good technical chapters would be enough, but as they say on infomercials, that's not all! You also get not 1, not 2, but 3 appendices. Appendix A covers multimedia formats and licenses, including a nice explanation of various codecs you're likely to encounter. Appendix B is about Syndication formats, including RSS1, RSS2, and Atom. Appendix C covers links and places to find more information about Plone, it's build-out system, and more.

All things considered, this book is just what it purports to be-- an excellent resource for anyone using Plone to host multimedia content. There is enough diversity and depth in this book that I'm sure nearly everyone will learn something new (and many of us will learn many new things!) I would not recommend this book for a Plone newbie, as there is no gentle introduction preceding the technical content-- the author assumes the reader is already a reasonably competent Plone integrator. (This is all spelled out on the book's back cover and in the introductory text, though. If you miss that and come away disappointed, shame on you.) I'm sure this book will soon become a go-to reference for Plone lovers everywhere.

The book can be found here.

Happy Reading!

No comments: