Review of the book, Drupal 6 Social Networking
This is a review I did about six weeks ago but havn't had a chance to load it till now. You can read the general review or help us all even further by responding to some of the criticisms in the detailed review especially if you are familiar with Drupal and the book!
Book Review (for publication) Review of the book: “Drupal 6 – Social Networking”, 2009, by Michael Peacock, Packt Publishing. (http://www.packtpub.com/)
Overall Mr Peacock’s work is good. The sequence of chapters comes across as logical and thorough. The author states that the book is aimed at anyone although he suggests knowledge of html, css and PHP would prove helpful, although not necessary, for some of the chapters. Symbols are used throughout the book when the author wishes to highlight either a warning or a tip which is something I like to see myself in technical books. The major criticism of the book, in my opinion is that it is poorly edited. The author is inconsistent in the manner in which points are explained, a diagram is used on one page but not on the next, with words replacing the use of a diagram. I used to tell my students that if they were going to use Pye charts or diagrams that they should be consistent in their use and not switch between verbal, pictorial, diagrammatic and other forms of communication unless clearly appropriate. There also appears to be spelling mistakes in Mr Peacock’s book, ‘is it a, ‘blog’ or ‘block’ (page 184) or a ‘contract’ or ‘contact’, (page 140). If a spelling mistake this reflects poorly on the professionalism of the publishing company, if not and it is intentional then all I can say is that it is very confusing to the beginner? There is also a danger, and this applies to many authors of technical books, to try and reach as wide an audience as possible and end up alienating either the less technical beginner or the more technical advanced user.
Frequently those ‘in the know’ accuse authors of explaining the ‘bleedin obvious’ although it may not be so to the beginner. On the other hand the beginner may feel alienated if points are passed over for fear of upsetting the professional coder who merely wants to understand, in this case, Drupal better. My suggestion here would be to continue with the symbol idea used for highlighting tips and warnings, a symbol for beginners could add extra text to explain what to some may be the ‘bleedin obvious’ therefore avoiding offending the more advanced reader. This would have been particularly useful for me when it came to the chapters on developing a Google mapping module in Chapter 7 and the sub-theme in Chapter 8. Here lies my second main criticism of the book. The author explained in both chapters the process but gave no real blow by blow example of how one should go about developing a sub-theme or module. Having explained Drupal so well in the earlier chapters, chapters 7 and 8 were a disaster for the beginner at least. From what I’ve seen from on-line tutorials theming and module development is better explained there than here.
The author appears to go into developer mode when he reaches Chapters 7 and 8. He explains what should be done and provides detailed html and PHP code in the text of the respective chapters of the book but it isn’t clear whether one is expected to laboriously copy out the syntax from the book or lift it from the zipped file example downloadable from the address: http://www.packtpub.com/files/code/6101_code.zip. Even when I downloaded and unzipped the files I couldn’t figure out, at first what application was best to open PHP, info, module or install files or file extensions so that I could read the code until I remembered using Programmer’s Notepad or Notepad ++ when learning Java. Most beginners, I would imagine would not know about these code editors and this would be a useful tip at least for beginners reading these chapters. I shall have another go at chapters 7 and 8 now that I have downloaded these code editors.
The final couple of chapters deal with security and marketing of the website and once again the author is to be commended here too although I didn’t assess these completely as I never got to finish and put up my website from my localhost to my shared host server.
If the above hasn't bored you yet, the following is a much more detailed review which is kind of aimed at the author and publisher but it might be of some use to others too?
Detailed critique (For possible publication on tech forums etc.)
Before providing this detailed review of the book perhaps it is worth laying before the reader certain caveats. Firstly I am new to Drupal and fairly new to multimedia and web development in general ,although I have built a couple of websites in the past using tables and more recently table-less sites with external and embedded style sheets, (CSS). I have also learnt some basic Java and have had a go, with mixed results, at building an e-commerce site with ASP.NET and Visual Studio Express Edition 2005 and SQL Server. As a former academic I am also inclined to be a little pedantic in viewing other people’s work and therefore my criticisms will no doubt reflect this approach.
As I went through the book I noted problems I encountered. In the first couple of chapters the author explains Social Networking websites their usefulness and the use and appropriateness of content management systems. Then we, the reader, are talked through the download and installation of the ‘Wamp’ server and Drupal and key terms are explained well. In chapter two the inner workings and terminology used in Drupal are laid out in detail and ‘we’ are introduced to the ‘DINO Space’ example website that is developed throughout the book.
Chapter three introduces the Reader to user content: Contributions, Forums, and Blogs. It is on page 78 and 79 that the first difficulty arose. One was instructed to create a Forum Container on page 78 but on page 79 one is not told to go back to the Administer section in order to click the ‘Add Forum’ which one presumes must be done and so this is confusing. Later on page 96 I tried to set up an RSS feed using the URL provided by Mr Peackock: http://www.peacockcarter.co.uk/ddf.rss and I received a not found message. A working example would help here. The next problem occurred on page 100 where I attempted to configure the FeedAPI module. There was no sign of the term, “Site Settings” under the Administer section? On page 105 when explaining to the reader that they should check permissions for the authenticated user role, there appeared to be no suggestion in previous texts that one should enable the ‘Contact’ module and yet ‘Contact module – access site-wide contact form’ is mentioned here? What’s going on with the editing?
Chapter 4 dealt with Users and profiles. The first problem encountered in this chapter was on page 122, under the sub-title ‘Dinosaur name’ the fifth point down is; ‘Visibility: Public (latter)’, which I find a little ambiguous? On page 132 which deals with picture settings I could not find any subtitle named: ‘Display Preferences’ to control how Gravatars are displayed? This may have been something I didn’t do properly however? On page 134 the author should point out that ‘Global Settings’ under ‘Themes’ under ‘Site Building’ in ‘Administer’ can be found behind the configure tab as the List tab opens by default. Otherwise ‘Newbies’ like me spend hours trying to find these things!
Chapter 5 deals with the enabling of user interaction. The author points out that this is clearly essential if we want to get more and repeat visitors to our social network site. At this stage most readers are used to downloading modules and these are introduced at the beginning of the chapter. There appears to be a spelling mistake on the last line of the second paragraph on page 140. “Finally, the Contact module allows both site-wide and user-specific contract forms”. What sort of contract forms are we talking about here or do we in fact mean ‘contact’ forms? Also on page 140 the author omitted the necessity to enable ‘Notifications Lite’ necessary for Organic groups notifications. I received a failed error warning when I tried to ‘Continue’. After new modules were downloaded, including ‘Notifications Lite’ a warning message popped up to say all content permissions needed to be rebuilt. I clicked on this and a message stated that clicking on the button ‘Rebuild Permissions’ would rebuild all permissions on site content and might be a lengthy process and the action could not be undone? Another message concerning ‘Node Access Status’ stated that if the site experienced problems with permissions to content, one might have to rebuild the permissions cache. Problems, it stated, might be caused by disabling modules or configuration changes to permissions. Rebuilding will remove, it stated, all privileges to posts and replace them with permissions based on the current modules and settings. It stated that with a lot of content and complex permission settings rebuilding could take some time. Posts would then automatically use the new permissions. The point here is that these warnings appeared to occur while following the instructions in the book. Beginners may press the wrong button in cases like this and self-destruct!? Only joking of course but you get the point I’m sure? Did you try this stuff out yourselves before publishing? Nobody likes too many surprises. In this case I just saved the configuration and everything seemed to sort itself out.
The chapter continued with the development of users and whether the user should be designated a friend or follower and who should have permission to see this and approve or remove this status. Before I got to this chapter I created another user, ‘John’ but when I added other users according to the instructions in Chapter 5. ‘John’ and the administrator (principal) could be seen as members but the other names could not. Again this is something I assume I didn’t cover correctly?
In setting up ‘Groups’ in Chapter 5, I feel it is important to explain to the new user that under Administer, Site Building, Blocks, most of the blocks have no activities assigned to them by default and will appear blank and therefore one needs to scroll down the page and look for the sub-title ‘disabled’ and enable whatever category one wishes to enable from the dropdown menu by assigning it a block. Indeed when I first was confronted with the modules section I could have done with a hint that one might need to scroll down quite a bit to find the appropriate module under the appropriate sub-heading.
In Chapter 6 I skipped the e-mail section as I was using a ‘localhost’ which had caused problems in earlier chapters. However I did try the setting up of a newsletter, however I was unable to locate the settings tab in the Newsletter section? Is it the same as ‘edit newsletter’? Finally in Chapter 5 on page 184, there appeared to be another spelling mistake? Under ‘Creating a content block for anonymous users’ point 4 states: “Under Role-specific visibility settings, select Show blog for specific roles for anonymous users”. If ‘blog’ is meant here then it is ambiguous or at least confusing since the author has largely been talking about ‘blocks’ not ‘blogs’ in recent text?
Chapter 7 introduced the development of a module and chapter 8 the development of sub-themes however as mentioned in my brief review this was expressed very poorly from a beginner’s perspective at least. (See above).
The final chapters were again useful and interesting although the security bit I wont be able to try out until I launch my first Drupal website on a server. The marketing chapter also provided a good rounded view of how to develop, maintain and promote a social network website. (Again see general book review for publication above).
I've now started reading Front End Drupal by Hogbin Kafer, (2009) Prentice Hall after reading 'World Wide Rave' 'Creating triggers that get millions of people to spread your ideas and share your stories, by David Meerman Scott, (2009), John Wiley and Sons, Inc., Hoboken, New Jersey.


FYI
FYI, F.E.D is by Hogbin / Kafer, which is Emma-Jane Hogbin and Konstantine Kaefer.
Web Development in Nottingham, UK by Kineta Systems / Follow me on Twitter! @NikLP