The release of Drupal 7 was a long time in coming and is a major upgrade from and means major changes for anybody used to working with Drupal, the popular content management system and web application framework. Every major version number means lots of new features, but also breaking changes making upgrading possibly tricky depending on how your site is set up. It also means that you need to know what the benefits are of the new version before deploying Drupal. In an attempt to address this need Packt Publishing have released Drupal 7 First Look by Mark Noble and were kind enough to send me an electronic review copy.
The book describes itself as being targeted at site administrators, themers and developers, but not beginners. It doesn't teach you how to use Drupal but instead aims to tell you what you need to know as a former Drupal 6 user. Chapter one eases you in with a high level view of what has changed in this new release, which is quite a lot. It briefly covers the new features, changes to the user experience, removed features and API changes. I found out a lot of good information from reading this chapter that made me think about migration issues for sites in a more structured way.
Chapters two and three take you through installation and site building. There are lots of good tips to make life easier but I felt that the installation chapter missed a few opportunities to differentiate itself from similar chapters in other books. It would have been great to see information about installing to databases other than MySQL for example, especially as the number of databases supported by Drupal has just increased. The chapter also covers upgrades from Drupal 6 to 7, but not 5 to 7 which might have been really handy as Drupal 5 became unsupported the day Drupal 7 was released. There were some areas that could have done with some more explanation too, such as RDF – this wasn't explained much in this chapter, or even the entire book despite being a major new feature.
The administration interface is covered in chapter four with a tour of the new style menu and the options on it. Constant comparisons are made with Drupal 6 so you can use your existing skillset as a spring board. I liked the example of a custom block in this chapter. It showed how with a little bit of PHP code you could add more information to the administration dashboard. It was a shame the menu and blocks options were not discussed much. The book stated these had not changed from the previous version, but maybe it would have been nice to have details on these for the sake of completeness. Instead the text suggested looking at one of the author's earlier books or a different book on Drupal 7 for this information, but I'm not sure everybody will be happy with the suggestion of buying another book when they have just bought this one.
The next few chapters move the focus away from information for site administrators to information for designers and developers. Chapter five covers information for web designers. Hopefully life will be easier for them with Drupal 7 as many simplifications have taken place and these are detailed here. There is a tour of how the theming works and some handy tips for your production site. Chapter six moves the target audience to developers and the tone gets a bit more hard core and technical. It discusses the many changes in the database layer and is generally quite a good overview but could do with some more discussion in places, especially the differences between static and dynamic queries (a new concept in Drupal) and the advantages and disadvantages of using the new support for SQLite.
The last chapter is aimed at module developers. If you wrote a custom module for Drupal 6 you will have to do some work to get it to work with Drupal 7. This chapter takes you through not just the additions and changes, but also the hooks that have been removed. It is quite handy having all of this information together and with the suggestion in the chapter of using the Coder module to automate some of the changes to a custom module the work involved should hopefully be reduced a little. There is even a quick walk through of the new testing framework too. One thing I didn't like about this chapter was the only very brief mention of the RDF API, not much more here than in the online API documentation, which is a bit of a shame as it would have been interesting to know more about how custom modules can take advantage of this new functionality.
Now we have the curious issue of the appendix. This doesn't form part of the printed book but is referred to it and is available online. This document contains information that has changed since the release of the book. Drupal 7 was not released as a final version until January 5th 2011, but the book was first published in November 2010 so it was based on alpha and beta versions of the software. Fortunately this does not seem to have led to too many inaccuracies in the book itself, but the appendix does contain some API changes. The other information in the appendix did not seem useful, it had sections on upgrading between beta versions and information on critical bugs to be closed before final release. Both of these sections are now no longer needed. The appendix could do with being updated as it is based on Drupal 7 Beta 3, not the release version.
Overall it was a very handy book if you already have Drupal 6 skills and/or a site to migrate. On the negative side I felt that sometimes it did not explore some of the new features as fully as it should have done (particularly RDF and SQLite) and the appendix could do with sorting out. There were sections of the book that read like long lists so might be difficult to absorb at times. However there were lots of moments where I found out useful things that I didn't know Drupal 7 could do. I got a good overview of what had changed and there was information for everybody in the technical and support sides of running a site. It is handy having all of this information pulled together into one place and aimed at people already familiar with Drupal. Depending on your requirements you might want to check the Drupal website first though to see if it has the information you need. If you want to upgrade a site or update your skills you might find this book very useful.
You can find out more about Drupal 7 First Look on Packt's website at: https://www.packtpub.com/drupal-7-first-look/book where it is available to buy in ebook or paper formats.