Published on July 2nd, 2009 by Andy Peatling
This year at WordCamp San Francisco I gave a presentation on BuddyPress entitled “Cooking WIth BuddyPress”. The idea was to answer three questions:
- What is BuddyPress?
- Why should I use BuddyPress?
- How do I skin and extend BuddyPress?
The presentation was aimed at both non-technical and technical people and should provide you with a better understanding of what the project is, and it’s potential.
Published on June 24th, 2009 by Andy Peatling
BuddyPress 1.0.2 is out now.
As with previous upgrades, the best way to get the latest is through the plugin browser in your WordPress installation (de-activate BuddyPress before auto-upgrading).
If you are using a language file with your installation you will need to re-download this after your upgrade. From version 1.1 onwards, we’ll bundle as many language files as possible to make the upgrade process smoother for non-english installations.
If you would like to upgrade manually you can download the latest then simply overwrite your existing plugin files (and themes if you are using the defaults). Please make sure you backup everything first.
This is not a critical upgrade, so it is not essential that you install this update. It does however fix a number of bugs that will improve your BuddyPress experience. For a full list of fixes, please see the updated release history.
Update: Please make sure you de-activate any 3rd party BuddyPress plugins before deactivating BuddyPress and running the auto-update.
Published on June 16th, 2009 by Andy Peatling
The votes are in, tallied, and the BuddyPress roadmap is now complete, ready for all to see. Thank you to everyone who gave their input.
The roadmap should give everyone a good idea of what they should expect to see in the next four versions of BuddyPress. You will also see both the status updates and albums components show up within these versions.
I really want to encourage developers to get involved with the project. If you’re a developer and would like to see some of these features (in v1.2+) appear sooner, here’s your chance to help make a big difference.
Group creation is now open on this site, why not pick a feature you’d be interested in working on and create a group for it? By doing this you’ll encourage other BuddyPress developers to join in, discuss the feature and give feedback. I’ll be more than happy to take a look at plugins that add roadmap features and consider them for inclusion in the core of BuddyPress. You may even end up as a core committer.
If you’re interested in development, you should also be spending time in the #buddypress-dev IRC room on Freenode (don’t rely on the Java client though). We frequently have BuddyPress development and plugin discussions in there.
If you have any specific questions, please feel free to DM me or comment on this post, I’ll do my best to answer.
Published on June 6th, 2009 by Andy Peatling
BuddyPress 1.0.1 is now available. The easiest way to upgrade is through the plugin browser on your WordPress MU installation, you should see a notification for the latest version. If you would like to upgrade manually you can download the latest then simply overwrite your existing files. Please make sure you backup first.
This point release fixes a number of security issues in the 1.0 version so it is a critical upgrade for everyone currently running BuddyPress. There is also a number of other bug fixes so please review the release history for more information.
Published on May 16th, 2009 by Andy Peatling
Since the release of BuddyPress 1.0 we’ve been thinking of interesting ways that the community could directly participate in the roadmap for future BuddyPress releases.
We think we’ve found a fun approach, and so we’ve decided to run a bit of an experiment. Over the last week, those who participate in the BuddyPress IRC room on Freenode have had the chance to look over and comment on a list of new BuddyPress features. These features are what we’d like to see make their way into BuddyPress within the next 1-3 versions.
Here’s where you, as a community member come in. We’d like you to play a part in ranking these features, placing the most important features (to you) at the top, and the less important ones at the bottom. Hopefully we can tally enough votes to get a fairly decent overall perspective on what people want first.
These are just features for existing components, the two new components – status updates and albums are already at the top of the roadmap.
I’ve built an interface over the last couple of days that will allow any BuddyPress.org member to log in and start “Roadmap Ranking”. Each of the features are broken down into their respective component and only one component is displayed on the screen at a time. You should rank each component’s features separately. Just drag and drop features in the list.
Head on over to the roadmap ranking page, and cast your vote!
Published on May 5th, 2009 by Andy Peatling
Now that 1.0 is out in the wild and the development style and standards of BuddyPress have been solidified, it’s time to share a few development style posts.
The first one is all about using custom slugs for the built in BuddyPress components.
BuddyPress (by default) functions around the URL structure. That is, when you punch in a particular URL it analyzes that URL and then works out what you are trying to do.
For example, the URL http://example.org/members/andy/messages
tells BuddyPress that you are looking at the members
area for member andy
, and then in the messages
component trying to view the newest messages in your inbox. BuddyPress will then perform all its internal checks to make sure you have the credentials to view this page, fetch the messages, then forward onto a template file to display them.
As you can see from that example, slugs in BuddyPress are an integrated part of how the application functions. So how do we change them?
It’s actually as simple as defining the slugs you want to use in your wp-config.php file. All the slugs for every built in component can be changed. Here’s a list of settings you can add (with some alternate slugs already set), that will change the slugs for each component:
define ( 'BP_ACTIVITY_SLUG', 'streams' );
define ( 'BP_BLOGS_SLUG', 'journals' );
define ( 'BP_MEMBERS_SLUG', 'users' );
define ( 'BP_FRIENDS_SLUG', 'peeps' );
define ( 'BP_GROUPS_SLUG', 'gatherings' );
define ( 'BP_MESSAGES_SLUG', 'notes' );
define ( 'BP_WIRE_SLUG', 'pinboard' );
define ( 'BP_XPROFILE_SLUG', 'info' );
/* Some other non-component slugs */
define ( 'BP_REGISTER_SLUG', 'signup' );
define ( 'BP_ACTIVATION_SLUG', 'enable' );
define ( 'BP_SEARCH_SLUG', 'find' );
define ( 'BP_HOME_BLOG_SLUG', 'news' );
It’s just a matter of picking and choosing which slugs you’d like to change. You can then just paste the lines you need for those slugs from above, into your wp-config.php file somewhere before the “Stop Editing!” line.
Published on April 30th, 2009 by Andy Peatling
I’m happy to announce that version 1.0 of BuddyPress is now available for download.
This release marks over a year of solid development, starting from the roots of the ChickSpeak project, all the way to the blossoming developer community I see interacting on this site everyday.
This is just the first step on a long road ahead. So much is possible now that we have a solid WordPress-based social framework to build upon.
The status updates and gallery components are next on the roadmap, you can expect to see versions of those components appearing later this year. We’ll also be going through the hundreds of enhancement tickets we’ve received, and with your help prioritizing them for future versions.
I’m most excited to see what plugin developers and theme designers can come up with. Even in the pre-release stages, plugins to extend and add functionality have already been popping up. If you’re a plugin developer or theme designer, be sure to check out the skeleton component and skeleton theme. These packages will provide you with a solid starting point to build BuddyPress components and custom themes from.
I’d also like to give some serious thanks to the community that has rallied around this project. I was told that getting people excited and involved with a new OSS project can be one of the hardest tasks to accomplish. I’m really bowled over that so many people have become involved with BuddyPress development and feedback on a daily basis.
I’d like to give a mention to every developer who has helped with the project, whether it be with tickets, advice, feedback or support:
adrenalis, ageeshkg, andy, andrea_r, arghagain, arturo84, armchairGeneral, atrax, barry, beaulebens, bebopcool, belogical, benny148148, bercon, bergsten, bflora, blogestudio, bloom, bluestraw, borkweb, bpress-tr, brianbrey, burtadsit, buzz_lightyear, catiakitahara, cawoodm, cdancal, ceo, chouf1, chriscree, conceptfusion, coto, creede, crippledtechnology, DJPaul, Dace, da3rX, daiko, danielfelice, daysleeperxyz, ddmitry, developdaly, dfa327, diegoferrari, digitalsaints, dnusim, dreman1, drmike, duanestorey, dudboi, egerrits, ev3rywh3re, ezd, FrankVolkelm, famous, farmerinchina, fishbowl81, frumph, fserer, GIGALinux, gbellucci, geordee, gerbilo, gogoplata, gordie.lachance, gwrey, hally47, hudatoriq, hyper123, hyrxx, IdaWebCo, ian-wallace, iprashant, iqcuties, italways, Jehy, JurMous, j.conti, jag25, jasonago, jbasdf, jeffry.degrande, jeffsayre, jehy, jfcarter, jmax123, joalbright, john268, johnbillion, johnjamesjacoby, johnnypea, josswinn, jpelker, jvinch, KevinHeath, keppy, khmiin, kilmarac, lancewillett, lienxing, lilyfan, lostdeviant, lucahurst, matt, maagic-net, mark-k, martinnr5, matjack1, matt826, maxaud, mburp, mdawaffe, midwestbonsai, miguael, mikepratt, mikey312, milo317, momo360modena, mrwiblog, mufasa, mutiu, mypop, Nightgunner5m, nateritter, nbachiyski, ndrwld, neuromancer2701, nicolagreco, nolageek, noumansaleem, owrede, PerS, PierreR, PioneerSkies, Ptath, philpeter, phlux0r, pioneerskies, realfam, reprint, roypm, salsicha, sgrunt, sharvank, sharvankumar, shawnkhall, simonwheatley, slaFFik, sollaires, stecklars, Taffman, takayukister, takuya, talk2manoj, tekanji, terryjsmith, thezohan10, trent, tvc123, vachi, vintcn, walter24, wardeh, webzworks, westpointer, whyisjake, wildrot, williamsba1, windhamdavid, wordpressbob, wrkng, xmailr, xmailr, yoavf, zahirtas, zanzoon, zheng1212
Published on April 23rd, 2009 by Andy Peatling
BuddyPress version 1.0 RC-2 has now been tagged and made available for download.
This release requires version 2.7.1 of WordPress MU, but for good reason. It is now possible to automatically download, install and upgrade BuddyPress from within the WordPress MU plugin admin area.
If you are upgrading from RC-1 it is very important that you read the upgrade instructions as the installation and setup of BuddyPress has changed significantly.
If you’re installing BuddyPress for the first time, please follow the updated installation instructions.
We are now in the final stretch. Version 1.0 will be available within a week from today.
Published on April 20th, 2009 by Andy Peatling
In the very early releases of BuddyPress, most actions that involved entering information were done in the WordPress admin area. With blogging this works really well, you want to focus on writing and there is no need for you to be dazzled by jazzy graphics during that process. With social networking the story is a bit different. You don’t want to have to jump into the WordPress admin area to update your profile or check your messages, then head back to the themed front-facing site to continue browsing the network. All this does is break continuity, and provides a fairly scattered and clumsy user experience.
To alleviate this problem, BuddyPress themes contain template files and functions for displaying and updating information. By doing this, the user never has to jump between two different worlds and they can happily browse through a consistent interface regardless of their task.
By moving this functionality into the theme, we have something new to consider – new feature support and backwards compatibility. In WordPress new features are normally handled within the administration area. This means existing blog themes will usually always work with new WordPress versions, and only occasionally need some new template functions added.
New functionality in BuddyPress will almost always be enabled through theme upgrades. However, our policy will be that existing themes will not break and backwards compatibility will always be assured. As a theme designer it is up to you to decide which BuddyPress features you want to provide support for, and whether you want to support new features introduced in future BuddyPress versions.
With each major BuddyPress version, template functions will be added to provide access to new functionality. With each release we’ll also provide a “template cheat-sheet”, this will show theme designers how to use the new template functions and introduce new features in their themes.
As well as the cheat-sheet, designers can also take a look at the default BuddyPress themes (bundled with every installation) and the skeleton theme that provides a clean base to start from. These themes will always stay up to date with the latest feature set.
If you have any specific questions about theming, please ask them in the comments and I’ll do my best to answer.
Published on April 15th, 2009 by Jake Spurlock
In developing Petomundo!, one of the biggest drawbacks that we faced was in using the default WordPress search. At an early meeting after the Pet Breeds database was created, we would type in Beagle, and in the search results, it would be show down the list as the fourth or fifth post.
Another situation arose in dealing with all of the sub-domain content of the site. We have tons of users creating great blog posts all about the animal world, and there was no way to search the other sites using the default search. So, this needed to be addressed too.
I was a little nervous about the integration with Google Site search as I had used a variety of plugins before that didn’t work the way that I wanted to, so off I went, determined to make it work the way that I wanted.
Here are the steps in a general order.
Google
- Start off at Google Custom Search Engine and create an account. The reason that we are using Google Custom Search Engine and not Site Search, is that site search you have to pay for, and custom search is ad supported, so it is free. Also, you can set up your adsense account and even make some change for those searches.
- Fill out all of the forms to get going. The magic comes when you get to the section about sites to search. Theoretically, you could add all of the sub sites, but Google provides a nice wild card setting by adding an asterisk the front or back end of the domain name for sub-folders, or sub-domains. I added these variables:
- *.petomundo.com/*
- petomundo.com/store/*
- petomundo.com/petbreeds/*
- petomundo.com/members/*
The first element does a comprehensive search of the whole site, sub-domains, and sub-folders. The second and third provide a refined search that will explain in a moment.
- Click on Standard (ad supported) Edition and the terms of service, and submit.
- On the next page, there is a box to try out a query, and I FYI, I have never been able to have it return anything, but it has worked for me on the site.
- Once you have completed the registration process, click on the control panel button for your site.
- The basic area can be reviewed. You may wish to have the search engine public, (there are others for code, apple stuff, etc.) When you are done there, if you would like to make money one ads, click over to the make money button in the left column.
- If you have an Adsense account, simply enter your info. One thing to keep in mind is that you need to make sure you are signed up for AdSense for Search and not just AdSense for Content or Referrals. This needs to be done to make money off the ads that will show up as part your search results.
- Once that is done, click on the code button to get the code for your site.
- For me, the goal was to host the results on my site, so I picked that option. If you are looking to make money via adsense, iFrame is the only option.
- In WordPress, create a new page called search and note the permalink for that page. For Petomundo, it is http://petomundo.com/search-2/.
- In Google, add the URL for your newly created page into the area where the search results will appear.
- Now, time to create a few pages in WordPress to handle this new content.
WordPress
- Let’s start off with the page results template. Take your page.php template in your theme folder and duplicate it, renaming it searchresults.php. At the beginning of the folder add this code to distinguish it as a template page.
- Now, in the content area of your page, delete the contents of the loop and paste the code from Google into the area where the loop would have been.
- Now, for the search form, there are few options here. You may want to add it somewhere in your header, perhaps in your sidebar, or elsewhere. With Petomundo, I added it in the header, and also in the sidebar where I had another search box that people where accustomed too. I also added it to the top of the search results page so that if someone wanted to refine there search, they could do it right within the same page as the search results. Like they would with Google.
- Once the code is place, go back and edit the search page you created back in step 10 of the Google side. If you are running 2.7.* there is a box at the bottom right about page templates. Add the Search Results Page template and you should be set.
A lot of steps, but mostly copy/paste. As I mentioned up in step 2 of the Google part, there are ways to add refinements to your search. I wanted a way for people to search specifically in the Pet Breeds database, and the Petomundo Store, so I added refinements to those search items. With the Member wildcard, you can search just the member profiles for content. Looking for someone with a dog like yours? That is the method there.
Other items of note, some simple CSS will make the results look smashing on your page. I have a content box, with a white background, and then another div inside that that houses the results. That way there is some padding on the sides.
I would like to create a nice little box that houses the search box on the results page, and give it a nice header like I have done other place on the site too… But overall, I am super satisfied with the product. And unlike Google Site Search, I don’t have to pay for this, and you can have the potential to make money too.
This post was written by Jake Spurlock, a member of the BuddyPress developer community. If you’re interested in contributing to the BuddyPress blog, please log in and head to the “Write Post” link in the menu bar.