Stories
Slash Boxes
Comments
typodupeerror delete not in

Comments: 122 +-   Drupal 6 Social Networking on Wednesday November 18, @02:10PM

Posted by samzenpus on Wednesday November 18, @02:10PM
from the read-all-about-it dept.
books
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 amazon.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.

story

Related Stories

This discussion has been archived. No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More
Loading... please wait.
  • Cool Book! (Score:4, Insightful)

    by Monkeedude1212 (1560403) on Wednesday November 18, @02:15PM (#30147338) Journal

    I just need to twitter about it, then update my facebook status about it, then post about it on my blog on blogspot, then adjust my myspace page and/or livejournal.

    And maybe do a sketch of the cover to put on my deviant art.

    (Point is: Do we need more social networking sites? Why would I start my own...)

    • I mean, what are the compelling list of reasons the book supposedly lists... I guess I have to buy it to find out.

    • It'll be coming to a corporate network near you real soon.

      I just want a workflow system that I don't have to write code.

       

      • by smooc (59753)

        Although I think will right I also think it won't take off in any company. Putting it in a artificial boundary of an organization actually defeats the whole idea of social networking. My social network is not limited to my colleagues so why would I participate on a "platform" which is limiting my social network to those boundaries while I can find all my colleagues and others outside?

        And while I am at it, when will we get that in the end social media is not about the functionality it provides but about the

        • Well mostly because it's a natural boundary not an artificial one.

          I don't necessarily want to be friends with my boss, and even in cases where I am, there has to be "friend" boss, and "boss" boss, in order for that to work. Extending that out to colleagues you are not friends with is even worse. My work life and my personal life are and must remain separate, because that's the way life works. Your boss doesn't need to know you got really drunk last night, and your friends don't need to know the confidential

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

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

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

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

      • Re: (Score:3, Insightful)

        a private social network, geared to one specific group of people

        Gee, I think I've heard of something like that ... it's called a BBS.

        (Actually, when you think about it, any social network is really nothing more than a really big BBS with some domain-specific optimizations.)

        • by lennier (44736)

          "(Actually, when you think about it, any social network is really nothing more than a really big BBS with some domain-specific optimizations.)"

          Yes!

          I run a Ning site and for me, it's the first time I've felt the simplicity and friendliness on an Internet forum that good old BBSes had back in the 80s. Sorry phpBB, but you just aren't quite the same (though you're a good #2).

          It's only taken 25 years for the Internet to catch up with Fidonet, but never mind.

          Also, tubes sound warmer, darnit. Now take your newfan

          • Re: (Score:3, Interesting)

            it's the first time I've felt the simplicity and friendliness on an Internet forum that good old BBSes had back in the 80s.

            You might also enjoy Citadel [citadel.org], which started life as a BBS package and is now popular as a groupware platform. People are still using it to run online communities, too.

    • don't forget to make a video for youtube of you talking about it. your vlog will get you all teh rankings!

    • We have a near-social network intranet where I work. Not a replacement for the real social networks out there but it does allow employees to get the kind of information out there that normal intranet sites normally wouldn't. I guess it makes people who work here seem more personable. Who knows if it has real value but it's there none the less.
    • by jc42 (318812)

      (Point is: Do we need more social networking sites? Why would I start my own...)

      Well, I've recently got ahold of several drupal books, and lots of the online docs, and installed on a handy machine. The reason is that I'm involved in a couple of products where we could really use a local social network/news/blog site over which we have full control. Drupal seemed to have lots of rave reviews, so it was a good candidate.

      Unfortunately, after several weeks of roughly half-time studying the docs and experiment

    • If you're an amature looking to turn professional then doing impressive projects (even if they're not widely used) is a good way to beef up your resume. There are plenty of companies looking for Drupal people so if you want to learn Drupal doing a social networking site is a good way to do that. Put it on your resume and list a link so potential employers can see what you're capable of.

      Even if you're a professional doing things on your own time is a good way to learn new things that can be brought back in

  • Elgg (Score:2, Interesting)

    I've been a fan of this open source social network for a bit. http://www.elgg.org/ [elgg.org]
  • by interglossa (1110251) on Wednesday November 18, @02:47PM (#30147706) Homepage
    Drupal is a general CMS, not just social networking, a facet they just teased out for this particular book.
  • I love Drupal (Score:2, Informative)

    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.
    • Would you be willing to explain a little more about this? Are you saying you have one database and one install of the web application, but are able to run multiple web sites off of that?

      If so, can users log in to the different sites with the same log in? Can they communicate with each other in any way?

      Or do you just mean that you are running multiple installs of drupal for various websites.
      • It's called "multisite" with Drupal. You can run several independent websites (or dependent, with a little hacking) with separate databases but off the same Drupal core. It's quite handy.

        • I see. Thanks. Not exactly what I was hoping for.

          What I really want is the ability to customize a site for users based on a group of some sort. So say that group was by city. I want Baltimore users to see the Baltimore page, Atlanta users to see the Atlanta page, etc. They would sort of have their own site, which news and such specific to their group (city). But they would also be able to communicate with other users in limited ways. Does anybody think this is possible with Drupal?
  • Drupal is for coders (Score:3, Interesting)

    by DNS-and-BIND (461968) on Wednesday November 18, @03:08PM (#30147942) Homepage
    If you speak PHP, then Drupal is for you. Hack it to your heart's content. If you are a mere human looking for a turnkey FOSS CMS, Drupal kind of sucks. The main problem is the modules. Sure, Drupal is modular, but unless you can take apart code, you're going to be out of luck when your calendar module affects your classified ads module for some bizarre and unexplainable reason. Or, when you have to perform a critical security update that breaks (in various unpredictable and subtle ways) the functionality of various modules. Stock Drupal is rather pointless unless you've got a couple dozen modules installed. Let's see, what else...oh yeah the forum sucks donkey balls. My users repeatedly complained about it, and when I said something about it on drupal.org, I was told that I my users' comments were not welcome, the developer appeared shocked that anyone might have a had different experience than he did, and my comment was deleted. I managed to cobble together a working site...barely. I've solved so many different problems that I'm afraid to add more functionality for fear I'll break something (again). But if you can code in PHP, then Drupal is great to invest a lot of time in fixing its problems. You'll end up with a spiffy looking website that does everything you want it to - you wouldn't even know it was Drupal except for the distinctive URLs. On non-coder websites like mine, a glance tells you it's Drupal, even if you change the theme. Yeah sure, I'm supposed to hire a developer to work on it for me. If I had money coming out of my ears, I wouldn't have chosen a FOSS CMS. I'm mostly satisfied with my site, but if I had known ahead of time how much effort and hair-pulling it was going to be, I would have chosen something else or just bitten the bullet and paid $$$$ for closed-source software.
      • Exactly what I said - Drupal is a great base to start hacking from, if you don't mind investing your time or money (and time is money). Me, I wanted a fully-featured CMS but I had no idea about the modules, or that so many of them break each other. There are just a vast number of modules and there are far too many combinations to test all of them. When you add a spam blocker (lots of robots know Drupal, an unfortunate drawback of popularity) your TinyMCE module breaks. Or when you add MIME capabilities
        • Re: (Score:3, Informative)

          by zeroduck (691015)

          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 drupal.org 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

          • I agree with all you've written above. I'd also like to add something of an explanation for why things are the way they are. Sort of.

            Drupal 'evolved' to be the way it is now. And during each iteration, the core-developers shed whatever old for the new. There has always been a documented upgrade path for sites, but yeah, you had to follow the directions. And Drupal full-version upgrades are not anything like a double-click affair.

            So really, Drupal's success has been along Darwinian models. Like linux too. Ol

          • Your statements seem to conflict:

            Drupal has a steep learning curve. Installing it and expecting your ideal site out of the box just isn't going to happen

            I'd challenge you to find any CMS, ..that can make the variety of sites Drupal does and does it right out of the box.

            Which "box" are you speaking of? The one that has 6 months of testing, reading forums for module opinions, and 2 consultants?

            When I think of "right out of the box" I think..within a day, maybe a week. While the "box" is still on my desk, n

      • You can maintain your own patch, and apply it for each Drupal release. . . but you risk breaking other things in core, as well as contrib.

        I'd like to know what you're hacking in core, and why you can't implement it as a module.

  • The review is well timed. The book was from the beginning of the year, but since then the US Whitehouse has gone back to FOSS on its web site. It's using drupal [techpresident.com]. It's good to see more discussion of these tools. Everyone has heard of Drupal [drupal.org] and plone [plone.org] and respect the capabilities. They are the heavy hitters like Apache2 for httpd.

    What new FOSS CMS tools are corresponding to Lighttpd and nginx, ready and useful but not as visible as they could be?

  • Better than Joomla (Score:3, Informative)

    by carp3_noct3m (1185697) on Wednesday November 18, @03: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.
  • Noone else has said it so I will. Drupal does let you make very pretty websites with tons of functionality quickly but it has endless security issues. Many of the modules don't seem to be written in any kind of secure way so need endless updates. The core has more than its share of security issues too.

    Personally I prefer software I can install and forget about not software I have to constantly worry about.

  • he/she should sue for trademark protection purposes.
  • by operator_error (1363139) on Wednesday November 18, @05:43PM (#30149910)

    Folks, have you heard of Deanspace? As in Howard Dean's web-enabled CRM that was widely reported as a successful fund-raising tool, that propelled Dean ahead toward's a democratic presidential victory, until John Kerry pulled ahead?

    The folks that came together and collaborated on Deanspace open-sourced it. It was based on Drupal, and their powerful CRM back-end was spun-off and is now a very successful project called www.civicrm.org. These days, it makes sense to integrate both with transparently, which is well-documented. This is one single nice recipe, for example.

    Think of it like Drupal as a client-facing front-end. Clients (the public?) can register with the site, lose their password and reset it, change newsletter subscriptions, that sort of thing. CiviCRM is the all-knowing powerful back-end. AFAIK CiviCRM is _well_ financed by political parties of all sorts, and they do a great job, I think. You can add Ubercart as an e-commerce transaction engine as well, which ties in nicely with your CRM engine.

    Imagine folks, you COULD make your own facebook or myspace or youtube or flickr easily using Drupal, and even manage transactions. There's nothing stopping you, as a professional, if this is what you want to do. Drupal has a huge and enthusiastic community of developers. Drupal sites can easily become the 'front-end' developers use to create facebook applications.

    It is worth checking out the live demo on their site, if for no other reason than to see exactly what it is capable of, and what political parties want to keep track of, (stock out of the box). Like: who is related to who. And, 'what is this person's most important issue?' with choices like gun rights, pro-life/choice, etc.

  • by Mathieu Lutfy (69) * on Wednesday November 18, @10: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. :)

    • Re: (Score:3, Funny)

      That is covered in Chapter 6: "Steal Facebook's Millions of Users and Become Rich."
      • by Tiger4 (840741)
        Obviously in your own mind you are fully justified in these beliefs. But where is the evidence to back up any of it? I mean, where is it out here in the real world, where the rest of us can see it?
      • Can you provide a better alternative for 2 and 3?
        • Re: (Score:3, Insightful)

          by mweather (1089505)
          Django and PostgreSQL. Look up Pinax, it's a collection of reusable apps for Django that can be used to make a social networking site.
          • Or, you could ask before making assumptions. C# is decent (especially compared to Java). SQL Server is an example of a product that sucks up too much resources (like Oracle, or Windows). I'll leave IIS alone - it beats itself up.

            Dayjob - Windows System and Network Admin...
          • "for any serious work."

            PHP:

            Yahoo
            Flickr
            Facebook
            Digg

            MySQL:

            Youtube
            Facebook
            Flickr
            Wikipedia

            All minor low traffic sites I'm sure you'll agree.

            • by Shados (741919)

              While you're right, you also have to keep in mind that most of the things you mentionned either heavily modified the tools, OR have put crazy amount of work to put something on top to limit their exposure, such as Facebook's extreme reliance on a tuple store, to the point that you could replace MySQL with an Access database and it could ALMOST work.

            • Somebody told me Facebook runs on Erlang. Is that not true?

          • by tgeller (10260)
            For the record, you can run Drupal with PostgreSQL right out of the box.
            • For the record, I tried. And it's true, most of the core modules work with Postgres. But most of the non-core modules (which are what makes Drupal such a rich platform) don't. Too many developers code to MySQL and don't know or don't care that they are implementing hacks that won't work anywhere else.

              For about two years I stubbornly stuck to PostgreSQL and submitted a steady flow of patches to the module maintainers. Some of them were accepted; some weren't. Then I upgraded to a bigger VPS with more me

    • Re: (Score:3, Informative)

      It means you like to be hacked and crashed [sfgate.com]

      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.

    • Wordpress is a blog, not a CMS. Apples and oranges. PS what the heck does Wordpress have to do with a Drupal story anyhow?
        • What the heck does Wordpress have to do with a Drupal story anyhow?
        • In my experience, Wordpress "themes" are piles of spaghetti code (with tons of logic in the presentation layer), and you have to hack core to do any non-trivial custom stuff.

          It might be great for blogging, but it's a lousy platform for adding custom functionality IMHO. Would love to find out I'm wrong though, anyone had better experiences doing custom dev with Wordpress?

One of the pleasures of reading old letters is the knowledge that they need no answer. -- George Gordon, Lord Byron