Follow Slashdot blog updates by subscribing to our blog RSS feed


Forgot your password?

Drupal 6 Social Networking 122

dag writes "Drupal 6 Social Networking is an interesting book about how to build social networks and why Drupal is a good choice as a platform for building communities. Even if you don't have any Drupal experience yet, this book explains what is needed when you start from scratch and looks at the different facets of a social network." Keep reading for the rest of Dag's review.
Drupal 6 Social Networking
author Michael Peacock
pages 312
publisher Packt Publishing
rating 8/10
reviewer Dag Wieers
ISBN 978-1-847196-10-1
summary Building community websites using Drupal as a content management framework
The book starts off with a short introduction about social networks and a list of compelling reasons why one wants to set up her own social network rather than using an existing social network like Facebook or MySpace. It all comes down to what your particular goals are. The first chapter looks into why Drupal is a good fit for building a community website. Its modular design, use of known technologies and ease of installation, as well as the ample availability of modules help in that respect, and also clearly marks where the book is going next. The other half of the first chapter explains in great detail what is needed during the installation of Drupal to have a working setup. If you are already experienced with setting up Drupal you can skim through this chapter to verify that you did not miss anything with earlier installations.

The second chapter prepares the reader for using Drupal specifically targeted for building a community website. To do this the author comes up with his own example (Dino Space) which is used throughout the book. And while the subject may be far-fetched and very different from what you plan to do, it serves its purpose well. Throughout this chapter the author explains many Drupal related concepts and terminology like Nodes, Content Types or Blocks and how to use these to your advantage when designing your site.

So while the first and second chapters explains and prepares the reader, chapter three helps with important decisions regarding user contributed content and all aspects related to it. User Roles, Comments, Polls, Forums and Blogs. One thing that surprised me was how it is possible to write blog entries from Microsoft Word using a standardized API. And while it is not applicable to me (as a Linux user) I can see some benefit for others within the targeted community. Another topic from the book that I had little experience with is collaborating on a Book within your community. I was always amazed by the annotated PHP manual in the past and this possibility reflects that effort a great deal. The chapter also includes attention to how to automatically generate feeds or include feeds from others, something that helps growing the community.

The next chapter goes into how users can maintain their profiles, how profiles can be extended and themed and how profiles can be shared between websites. It also looks into specific modules to help you eg. integrate OpenID or avatars from other websites. Chapter five explains how users can interact and how the User Relationships and User Activity modules allow users to promote their own content and actions on their site. Much like how Facebook becomes a time log of individual actions of our friends. It also looks at Guestbooks, Contact forms and Groups covering more than I was looking for myself.

One thing I recently had to look into myself was how to communicate with your users. Some users register and then loose touch so there is a clear need to regularly update them about what is happening and what new content is available and that's where chapter six explains how to set up Newsletters or connect your social network to online services like Google Groups.

Drupal is mostly respected for its modular design and Drupal's author often states "If it cannot be done from a module, then that's a design bug which needs to be fixed". That said, almost everything is possible from a module, which offers great flexibility to anyone deploying Drupal to customize it to its own needs. Chapter seven explains in some detail how to write your own Drupal modules from accessing the database, interacting with other services as well as making it installable and customizable. The example shows how to interact with Google Maps from a Drupal module. But also points to similar modules for connecting to Facebook.

Another important aspect of any website is its design, chapter eight shows how to install and configure additional themes, but also explains how to modify existing templates and tweak CSS files. It does not go into great detail though, but it sufficiently points out where to look and how to experiment.

The last two chapters are a bit dim, chapter nine explains how to secure your Drupal site from automated spam and lists a few maintenance tasks every admin should know about. Much like chapter nine, chapter ten does not go into a lot of detail about how to promote your website. It mostly lists important aspects and in some cases provides links to experienced websites.

All in all I was surprised by the many items this book covers, especially the chapters about writing modules and modifying themes is something most buyers will not expect in a Drupal book regarding Social Networking. And while I believe there are better books about those topics, in general this book is a good introduction to Drupal and a guide for those who are also interested in the more advanced parts of Drupal.

I was particularly interested in this book as I set up my own family website based on Drupal and I wanted to know what technologies I missed, and what additional modules I could use to make our own family website better. In that regard this book confirmed for a large part that what I did with Drupal was how it was supposed to be, but I did learn some new tricks and new modules I never investigated before. This knowledge undoubtedly will be useful for some future Drupal-based projects as well.

You can purchase Drupal 6 Social Networking from Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.


This discussion has been archived. No new comments can be posted.

Drupal 6 Social Networking

Comments Filter:
  • Re:Cool Book! (Score:5, Informative)

    by Anonymusing ( 1450747 ) on Wednesday November 18, 2009 @03:28PM (#30147464)

    Maybe you want to start a private social network, geared to one specific group of people.

    There's always Ning [] or Flux []... but maybe you want something really custom.

  • by Archangel Michael ( 180766 ) on Wednesday November 18, 2009 @03:39PM (#30147618) Journal

    It means you like to be hacked and crashed []

    Tens of thousands of Web sites, many of them small sites running the WordPress blogging software, have been broken, returning a "fatal error" message in recent weeks. According to security experts those messages are actually generated by some buggy malicious code sneaked onto them by Gumblar's authors.

  • I love Drupal (Score:2, Informative)

    by gabereiser ( 1662967 ) on Wednesday November 18, 2009 @03:55PM (#30147794)
    I use Drupal 6 on a multi-site setup, it's awesome. One codebase, many web sites. I wouldn't have a job without it.
  • by anderiv ( 176875 ) on Wednesday November 18, 2009 @04:12PM (#30148010)

    Drupal is just not ready for the mainstream. [] [] [] []



    I'll agree - Drupal does have a steep learning curve. With regards to theming/styling, though, it's no different than any other CMS. Designers will have to fight cross-browser css compatibility issues with whatever CMS or template engine they're using.

  • Better than Joomla (Score:3, Informative)

    by carp3_noct3m ( 1185697 ) <slashdot.warriors-shade@net> on Wednesday November 18, 2009 @04:44PM (#30148346)
    I tested both Joomla and Drupal side by side, and for all its issues, drupal beat joomla for one very major reason. Simplicity. Joomla has more documentation, and seems to be technically more capable, but when it comes to added functionality, Joomla is horrendous at ease of use. Drupal was pretty simple to add modules and get going with some non-standard settings. So for Opem CMS, Drupal get the award of lesser of two evils.
  • by zeroduck ( 691015 ) on Wednesday November 18, 2009 @06:10PM (#30149434)

    Acquia's distribution was originally started to give customers a professionally supported version of Drupal (it is, near exactly, the same Drupal you download at with the exception of the non-core modules it ships with). What they offer is mainly support like so many Linux companies do.

    I don't know what you mean by Drupal forks. As far as I know, there is only one 'fork' of Drupal, PressFlow. PressFlow keeps current on the major Drupal releases, but it brings in additional performance patches which have additional requirements (the 6.x version requires mySQL and PHP 5.2, whereas Drupal itself supports Postgres and older versions of PHP). There are distributions of Drupal, like OpenAtrium, which include Drupal core, contrib modules, and an install profile. As far as I know, these don't modify core so I'd hardly call them a fork.

    To be honest, Drupal has a steep learning curve. Installing it and expecting your ideal site out of the box just isn't going to happen. It takes experience to know the "drupal way" to do get things done. It takes some study to know which modules are worth installing. I'd challenge you to find any CMS, open or closed source, that can make the variety of sites Drupal does and does it right out of the box.

  • by Falc0n ( 618777 ) <> on Wednesday November 18, 2009 @06:17PM (#30149518) Homepage
    Acquia is not a fork, its a distribution of drupal core + the most popular contrib modules
    Drupal core can be thought similar to the Linux Kernel, whereas modules represent the packages that make up a distribution of drupal.

    Mollom and TinyMCE work great together

    With ultimate flexibility comes an interesting learning curve. But thats what documentation is for.

    Wonder if a module is used in drupal? you can look at its usage statistics. Want to do something in drupal? if you google it, usually someone else has already done it and in many cases have a screencast to go along with it.

    "How will Acquia keep up with the rapid evolution of Drupal core and modules?"
    This question addresses the upgrade path for a site. Like linux (or windows), modules are constantly evolving. Its hard for corporate customers to know if the new version will break things. By using a distribution like Acquia drupal, they do the testing to make sure everything works together.

    From your comments, it sounds like your experience with drupal is somewhat new. Spend some time on IRC, going to drupal meetups, drupalcon, or take a lullabot course.
  • Re:I love Drupal (Score:2, Informative)

    by sirlatrom ( 1162081 ) on Wednesday November 18, 2009 @07:41PM (#30150696)
    Check out the Organic Groups [] module.
  • by Mathieu Lutfy ( 69 ) * on Wednesday November 18, 2009 @11:35PM (#30152678) Homepage

    Where I work, we have recently finished doing a huge redesign of the website for an organization which was having different systems for their forums, member management, blogs, etc. Most of those components had become completely deprecated and unusable. It was a good opportunity to migrate to a new platform which had less redundancy, more potential to link the systems to generate new info, access levels, etc. They have more than 20k paying members, 100k "guest" accounts, and growing quickly.

    You can do neat social networking stuff without trying to reinvent Facebook. For example, the organization wanted to grant access to certain areas, working groups, forums, only to paying members (as a way to encourage membership, but also a bit filter out noise, a bit more privacy). Also, they wanted to have sub-groups, but also have part of that data re-aggregate into the main feed and present a global view (ex: calendar of events, local calendars). Finally, since it was aimed to professionals of a certain field, it encouraged people to link (friends list) as a way to keep contact, encourage networking. You can use specialized systems for each of those tasks, but putting glue code between the system tends to not scale very well.

    With Drupal, you can get some modules to do a huge part of the work for you. They tend to work well, but you have to keep in mind that if a module has 80% chance of working, if your task requires two modules to be combined, your total odds are probably more towards 64%. We had to use about 100 modules. Combining modules such as og, mailhandler, advanced_forums, specific access control mechanisms, CiviCRM, etc. *and* having to do maintenance security updates of those modules can be a big challenge (especially when module maintainers push in new features with a security update...).

    The other thing to consider is that the performance of Drupal for connected users is not wonderful. It has good caching mechanisms for anonymous users (core/views/panels cache, boost/pressflow), but not much for connected users. I'm surprised to see that the table of contents of the book shows that there is only one page dedicated to performance.

    Except for chapters 5, 6 and 10, the other chapters seem like any typical "how to install Drupal, base config, create a module, create a theme". I guess that's great if you are new to Drupal and you're about to create a social networking site as your first medium-size project. Although I guess for 30$ it's a good reference for good practices and a first step towards building a social networking site, but you might get stuck half way (when performance, bugs/complexity and complaining users with bike-shed opinions kick in).

    All things said, we tend to end up buying most of these books anyway. We usually find small anecdotes or descriptions of best practices which are well summarized, useful references for when you want to disconnect a bit and brainstorm about your project. Maybe I'll change mind when I read it, but I was a bit disappointed from the table of contents. :)

Each new user of a new system uncovers a new class of bugs. -- Kernighan