BuddyPress: ‘Facebook in a box’

Andy Peatling from BuddyPress kicks off Wordcamp 2009 for me. So, what is BuddyPress? In another presentation, Matt Mullenweg, the WordPress founder describes BuddyPress as ‘Facebook in a box’ ideally suited to the creation of niche social networks. Features include in-depth profile pages, a life-stream, messaging, groups, albums, forums, blogs (obviously, given that it’s from the WordPress team).

Andy points out that BuddyPress grew as a collection of plugins for WordPress MU (the multi-author edition of WordPress) that have been rolled into one large one. The advantage here is that you can pick and choose which elements to configure and run, but more on that later.

Why use BuddyPress rather than Ning, Facebook or other available social networks?

A major benefit of BuddyPress is that you get the power and stability of WordPress. It’s also heavily extensible and plays nicely with most of the massive collection of WordPress plugins out there. WordPress is the run-away leader when it comes to open source blog applications and so BuddyPress can leverage the sizable community that exists around WordPress. In some instances you can use existing WordPress plugins right out of the box, eg. LDAP functionality to handle registrations. Other plugins and widgets may require some modification.

Another key feature is BYOTOS. Umm, exactly what is BYOTOS? Bring Your Own Terms Of Service. For instance, Facebook scared many users when it changed its terms of service in February to include the clause whereby they can do anything they want with your content. As you download and install BuddyPress on your own servers, it is really up to you to decide your own terms of service for your community.

Setting up BuddyPress

The first step is to setup WordPress MU, which commonly runs in the LAMP (Linux/Apache/MySQL/PHP) environment. You should ideally use sub-folders for each profile rather than sub-domains.

Next step is to download BuddyPress.

Once installed, each component has it’s own folder so disabling a component is as easy as deleting the relevant folder. The advantage here is that you only configure what you need. Setting up the forum piece which uses BBPress is currently the trickiest part, although this is due to get easier.

Skinning BuddyPress

You use WordPress themes for blog/content pages. If you are used to running WordPress blogs, you are probably familiar with these themes. Buddypress has its own themes for social pages. You can see an example of this in practice on GigaOm Pro (a community version of Om Malik’s popular technology blog):

buddypress_gigaohm
(click thumbnail to see full size)

You also have the option to enable blog networks, which each have their own distinct theme. This is a key feature that really isn’t really available on most other social network solutions out there.

Note that each component has it’s own theme folder so you only skin what you need to skin (eg. if you just need profiles, just skin those). Knowing which theme file you need to edit for a given page is easy as URLs map to template files:

buddypress_themeurl

If you have used WordPress, you are probably familiar with the concept of the ‘loop’: the code block that handles the display of each individual post on a page. Buddypress themes use the same ‘loop’ concept, but for more than just blog posts. Output any BuddyPress content by creating custom loops.

BuddyPress ships with a skeleton (vanilla) theme that eases customization.

Extending BuddyPress

If you need to build a plugin then check out the ‘skeleton component’ that comes as standard with  BuddyPress. This can help you understand the hooks and actions from which the plugin can access BuddyPress functionality. Again, if you have built plugins for WordPress, the concept is the same and should make sense.

There are a number of ready-built plugins you will find on BuddyPress Dev. For instance there’s a plugin to allow users to pull in photos from a Flickr stream.

BuddyPress: the future looks bright

Given that BuddyPress was only launched around Wordcamp this time last year, it’s remarkable to see the rich feature set available today. The team continues to make constant improvement and recently asked the community to vote on features they would most like to see in upcoming releases.

If BuddyPress can capitalize on the considerable community and large popularity of WordPress, this really could become a major player in the social network solution space.

Follow Andy Peatling on Twitter.

Posted in Dabbler, Social Media, Social networks, Wordcamp 2009, WordPress Tagged with: , , , ,
  • http://www.crearecommuincations.co.uk Amelia Vargo

    Sounds like an execellent tool. But is it entirely necessary? With so many social networking sites out there, is there a need for any more? Or am I just missing the point completely?

  • Daryl Pereira

    Amelia, I’d say it depends on your need. If you already have a blog network and want to add social features to help bloggers communicate, then BuddyPress is ideal. Is it is if you need to configure the social network as you like and not be tied in to another vendor’s terms of service.

  • http://www.wpveda.com vick717

    Hi Daryl,
    My team has been working with BuddyPress since some time. we knew the potential of BuddyPress in social networking world.

    we also developed our own BuddyPress kaltura Media component to further strengthen BuddyPress.

    I hope you and your readers may find it useful.
    http://www.wpveda.com/buddypress-kaltura-media-component/

  • http://www.wpveda.com vick717

    u may also check out the plugin at: http://www.kaltura.org/project/buddypress-kaltura

  • Pingback: A Company Intranet Doesn’t Have To Be Boring « Louie Christie – Blog