WordCamp San Francisco 2009: Andy Peatling on BuddyPress
by Lorelle VanFossenLive from WordCamp San Francisco 2009
BuddyPress has been developed by Andy Peatling and is the new social media networking feature for WordPressMU sites, taking advantage of the multiple members and users to create your own self-hosted community.
BuddyPress features easy login, community groups, friends, and all the features of other social network services like Facebook and MySpace. You can also create a form of “Twitter” stream with tweet-style messaging to each other.
The key to BuddyPress is creating community groups and connecting people with each other rather than just their content.
Currently, BuddyPress installs with WordPressMU using subfolders. BuddyPress will be available for single WordPress blogs in the future. BuddyPress installs through the one click install in the current versions of WordPress.
Once installed, you can choose your various BuddyPress components to customize which features you want to add to the MU network of blogs. It also adds Social Widgets to show who is online, site activities, group lists, and more Widget information. The current Themes are widgetized so you can drag and drop them into place.
BuddyPress will interact with bbPress, though Andy says that currently it is not an easy integration but will improve soon to make it nearly seamless. It will work with bbPress forums independently, or in combination with a WordPress blog.
BuddyPress is made up of Plugins and Themes, default Themes that can be customized or used. There are Member Themes and Home Themes. WordPress Themes are for displaying the blog looks and feel. BuddyPress doesn’t “skin” the WordPress Themes but the social pages for groups, profiles, and the features of BuddyPress. Yet, they work in combination. The key is to integrate the two together by matching the look and feel of both so people aren’t confused when they move between the two.
The BuddyPress Theme structure is by folders handling the specific features and templates under the bp-themes directory. You need only add stylesheet “skins” to the features you need not everything as it will work together and independently. The URL’s map directly to the template files to make it easy to figure out which template file to theme.
BuddyPress has custom loops for everything with its template tags. They can be used just about anywhere to customize the look anywhere within the BuddyPress Theme, such as putting friendships, posts, comments, and messages within the BuddyPress Theme to output the information. It also features easy customization for the variables so you can output specific information such as restricting which friends show on the page, such as the newest, most popular, or currently online, and a lot more.
The Skeleton Theme is a good basic template Theme that has all the template tags and CSS outlines so you can customize the look and Theme. It is highly recommended to start with this Theme, which comes with the basic install of BuddyPress.
The feature set for BuddyPress is pretty extensive, but you can extend BuddyPress as far as your imagination can go. It works similar to WordPress with actions, filters, and functions, adding more hooks and filters to extend existing functionality. Each component is coded the same way, making it easy to learn the basic structure which applies across all of the files structure.
The root file has all of the Plugin logic and functionality, and the rest is broken down into other files, filters in one, database classes in another file, all broken down into the basics so you can easily find what you need.
BuddyPress functions allows you to “talk directly to the Theme” so you can port directly through the Theme to the database to build your Theme and component navigation. It runs on the URL structure, so it processes the URL string in progression as it handles each of the components. BuddyPress will use the URL strings as variables to perform actions and add and create new components.
There are hooks “everywhere” that will help extend its capabilities and extendability, opening up the door to a wide range of BuddyPress Plugins. There is also a “Skeleton Component” for a BuddyPress Plugin framework to help structure a Plugin and help get you started.
Nicola Greco has created a wide range of BuddyPress Plugins including the ability to pull in Flickr photos and YouTube videos to your BuddyPress social Theme.
They are currently taking votes on the BuddyPress site on which features people would like to see included in the basic version of BuddyPress.
