Review of Drupal 7 - Multi-sites Drupal Book
My first review
It took me some days to actually get started on this and start writing. As some of you already know, Packt has given me the Drupal 7 - Multi-sites Configuration book to review. You might wonder, won't this review be biased because he got it? Honestly, I did my best to write down my real thoughts and details that you, as the reader, would find interesting. At least, I gave it my best shot! Please don't shoot me because I am being too critical or too soft!
The book itself
There is a picture of the book in the attachment below.
The book starts of with some concepts in a Multi-site environment such as the advantages of running Drupal on the same codebase, having a staging/testing environment before deploying to a live site, easier server administration and even partly avoiding some of your shared hosting restrictions.
This chapter is actually really well written and well defined. It makes clear that you need to have a use-case before diving into the matter. It also makes reading the book a little more pleasant, because you have these ideas in your mind.
All basic install stuff
Next up was setting up a server. I did not really expect this part to be in the book, and mainly not being biased so heavily towards vagrant... I think I missed the whole concept of why vagrant is so important in a multi-site setup. Also the lengthy guides on how to install Drupal (apache, mysql, hosts files, ...) were a little obsolete if you'd ask me. I'd enjoy it more if some more time was spent in how Drupal actually recognizes different domain names. Luckily my appetite was partly satisfied in Chapter 3.
The book continues on on how to create site folders, special cases with subdomains and even a new one for me, domains with subdirectories! Matt also explains how to use the sites.php file, which I actually never use because of bad habits of mine I guess. This explanation was very educational and eye-opening. A picture with the structure of the folder would have been nice as a way to make the dense text a little lighter, but this is me being too harsh probably! It continues to explain the files directory, and importantly, how to configure that directory in a multi-site environment. Unfortunately also some more (obsolete?) Vagrant information.
So, after Chapter 3 you should be very accustomed to the way you can install multiple drupal databases on the same codebase. The only minus here is that you are at 3/4th of the book already! Luckily the last part of the book unveils some secrets about Multi-site installations.
For example, one of these secrets is a shared configuration file! This is not a standard Drupal pattern. With some simple tweaks, Matt explains you in detail how this can work for you. If one of you is hosted in the Acquia Cloud, I'll unveil a little secret here, we apply the same trick ;-). The book continues about sharing modules/themes/subthemes or explicitly not sharing one! You might want to share your main theme, but not the subthemes, a logical pattern but not so many of you will implement that pattern. I could recommend reading this section, because it also has memory implications if you run many multi-sites on 1 drupal code base.
Chapter 4 is all about updating your site, not very exciting material but it is a necessity. Good for people that are a starter in this field. He pays enough attention to the details so that is a plus. I do feel there is a lot of clutter in the book that might not apply to the masses. And again, the assumption that you have vagrant is distracting me from the core knowledge you need to know.
Chapter 5 : Advanced Multi-Sites! All about Favicons and robots. I hope Matt meant robots.txt ;-). Some other nice concepts for shared authentication float to the top such as OpenID, LDAP and Directory services, Services module, Bakery, etc... Very interesting chapter if you need to know more about Single Sign on, shared content and or structures.
Solr, you knew I had to make a separate header for that!
The last part references multi-site searching and this is imho not complete enough. it does mention Apache Solr as a possible solution but it does not mention apachesolr_multisitesearch as the glue between your site searches. If you use this module, you can easily search multiple sites through one interface. I'll even say more, you can even index a D6 and a D7 in the same index and search them through a common interface (Works with apachesolr-7.x-1.0 and apachesolr-6.x-3.x)
This book is a great addition to your knowledge base if you plan to set up a multi-site environment and you want to do it right. It mentions vagrant a little to much and it does not talk about Aegir (which imho is the example of a multi-site spawner). I've enjoyed reading it and learned tricks here and there. I also missed some performance metrics, but maybe I somehow missed that. If you want this book for free, you can still enter the give-away I am allowed to do in my other blog post
Certainly a good read if you are new to the topic!