Extending the basic BuddyPress Install
This article is about extending the BuddyPress install covered in my previous articles, if you’ve not read them I recommend you do, the last article was about Exploring BuddyPress.
So far we have installed our basic BuddyPress install for our Ning style social network, we have done a lot. But still the site we have created lacks features, for example there is no Chat or sharing of photo’s and video’s, it would be nice to have events, the groups are pretty basic as are the member profiles. This article attempts to show you how you can move further towards your dream social site by introducing quite a large number of plugins and giving you basic information about how to install and use them. For many I won’t be able to go into a great deal of detail but I hope to write further articles looking at them in detail, either by way of a Plugin Review or a detailed article on the subject. Some of these plugins deserve that kind of space.
Plugins and Performance
Before we get into my plugin recommendations there is a warning that I have to make and that is the more plugins you install then typically the slower your page load times will be. The reason for this is basically that each page as it is loaded has to do database lookups based on all of the plugins that might be affected by the a page. In general the more plugins you load, the more database lookups and the longer the page load time. I’m very much guilty of probably having too many plugins on my sites, I do try to keep them to a minimum but I’m a big believer in having some great features to a site, I don’t like just having the basics.
That ultimately means that on my slower sites some potential members are put off, especially those that are on slower Internet connections. You might like to bear this in mind when putting together your own sites. BuddyPress on it’s own already is a massive plugin with significant impact on your site performance, when installing additional features you will typically pay a performance price so you need to think carefully about which plugins you install – do you really need them?
One thing I’ve yet to mention is Shortcodes. Shortcodes are codes that you can put on a page and they will cause the page to display additional information dependent on that shortcode and its options. Shortcodes look like the following:
[shortcode_title option_1=”option_operator” option_2=”option_operator” etc.]
Many plugins come with these shortcodes and you can use them to enhance your pages. I’ll be mentioning some of them in this article.
Adding Chat to your BuddyPress Site
Chat is one aspect of a site that I feel is a important option for any social network looking to emulate Ning or similar social networks. Personally I like the idea of being able to chat on any particular page you may be viewing as opposed to hosting a specific chat page where members are tied to just viewing it. I feel any-page chat enhances the site browsing experience.
IflyChat is a chat plugn that delivers a very similar chat experience to that of Ning 2.0 sites and as such it is the one I use for most of my sites. The only drawback is that the free version is limited to a maximum of ten concurrent users, beyong that and it starts to get expensive but if you can afford it that’s the one I’d go for.
Installation of IfyChat is pretty simple. You will need to register with the IfyChat web page in order to get the application key but apart from that the configuration of IFlyChat is pretty straightforward. I’ll probably do a Plugin Review of this later to go into more detail about this.
Beyond 10 users then the cheapest option is probably Arrowchat, which you can purchase on a six month licence and then allow the updates to lapse, you will only be missing out on bug fixes – it sits outside of WordPress so is unlikely to be affected by changes to WordPress and it’s plugins and as such you can afford to only occasionally purchase the updates package. That’s been my strategy so far and it seems to work.
Adding Shared Photo’s and Video’s
This is one area that BuddyPress on it’s own is pretty much lacking. You can add photo’s to blog posts but that’s about it and even this is not strictly a BuddyPress feature, it’s something we get as a side affect of running on WordPress. So in order to have any kind of photo sharing you will need to add a plugin for it. There are two major BuddyPress Gallery type plugins – MediaPress and rtMedia. On my sites I run MediaPress and I’m going to talk you through the basics of this plugin in particular. rtMedia is the most popular but it is also the one with the most expensive add-ons, for this reason I personally avoid it since usually with plugins that have premium add-ons you end up needing those add-ons.
MediaPress Installation and Configuration
You can go to your plugins page and install and activate MediaPress. Note that their are a number of free add-ons that you can also install that are available at the BuddyDev website which you may want to check out. There are premium add-ons available too.
I’ve written a detailed guide to setting up MediaPress Here.
Another option that is missing from the default BuddyPress installation is the ability to add events to the site, this can be enabled by installing a plugin called Events Manager. There are a number of events plugins available at the WordPress repository but this one is full featured and well integrated into BuddyPress, it’s actually designed to enable the selling of events and comes with a range of additional plugins that support such things as ecommerce gateways but the basic free plugin will be good for most social sites.
Events Manager will create three new pages for your site – “Events” plus four sub-pages – “My Bookings”, “Categories”, “Locations” and “Tags”. It’s likely that you will only want to display Events and My Bookings on your site, the other two pages are for event search options and are probably overkill for most sites.
Note: At the time of writing there is a conflict between Events Manager and another plugin that I’m going to be talking about – BuddyPress Group Extras, there is a workaround for this and you can find it by visiting the Events Manager support forum on WordPress (or ask me). The developers have been made aware of this.
I’ve written a detailed guide to installing Events Manager here.
Some social sites like to award their members points as a reward for interacting with the site and when certain thresholds are reached, award badges to members.
myCred is a rich featured points system, well integrated into BuddyPress with a wide range of additional plugins that allow it to be customised for most requirements. The basic system out of the box allows for points to be collected and displayed on the members profile as well as in widgets that come with the plugin. There are also shortcodes to display a leaderboard for example should you so wish. You can enable the Badges Add-on and then create badges to be assigned when your custom points balance or other activity trigger has been attained.
I’ve written a detailed guide to setting up MyCred here.
Another feature you might like is the ability for members to send each gifts and compliments, this is enabled with the plugin BuddyPress Compliments. You will need to configure each compliment type you wish to enable, Once installed visit the Dashboard>>Compliments pages to Add New compliments for your members. Once you have created a few compliment types members will be able to go to another members profile and select the “Give Compliment” option.
Group specific plugins
BP Group Customizer Lite is a simple plugin that allows Group Admin to upload a custom background image for their group further expanding the range of group customisation features you can give to your group owners.
BuddyPress Docs allows you to enable the creation of collaborative documents within a group, these appear as extra pages within the group with the group admin are able to choose which types of group members are able to view, create and edit these. Such things are not part of most hosted social networks but could provide a useful addition to your site.
BuddyPress Group Email Subscription allows group members to be notified via email of any updates to the group, Group admin can choose the default subscription level and members can then modify their own settings.
Group Members Mail Plugin allows group admin to send an email to all group members.
Forum specific plugins
bbPress Enable TinyMCE Visual Tab enables WordPress’s TinyMCE rich editor for forum topics and replies, this greatly enhances the capabilities of the forum, allowing Media upload and rich formating of forum topics.
bbPress Move Topics allows site admin to move topics between forums, this is useful where a topic has been posted to the wrong forum.
bbp Style Pack provides a wide range of forum styling options and also some additional shortcodes for displaying forum information on pages and posts on your site.
Other useful plugins
TinyMCE Advanced adds additional styling buttons to the TinyMCE visual editor used in forum topics and when adding blog posts etc. it also allows you to select exactly which buttons will be available to your members.
BuddyPress Activity Shortcode is a very useful plugin giving you a shortcode to display various activity items on a page, this means that you could use it to display the site activity stream in the main content area of your homepage for example.
Post Notification by Email automatically send out details of any new blog posts as an email to all members.
TDLC Birthdays provides a widget displaying current and upcoming birthdays on the site. This has not been updated in quite some time but it still works and is a useful addition to the site pages.
Erident Custom Login and Dashboard allows you to brand the login and Dashboard pages of your site.
There are a huge range of BuddyPress specific plugins available, hundreds to choose from. The selection here are those that I have found most useful but there are many others to choose from not withstanding the range of premium paid-for plugins that are also out there. Hopefully within this article I have given you sufficient plugins to allow you to create something close to your perfect BuddyPress site. There is still more to do, your homepage, Groups and member profile pages need to be looked at in detail and in future articles I intend to do just that but for now I think I have given you several days/weeks of work installing and playing with these options. Happy playing!
For my next topic I would like to discuss displaying page specific widgets in the BuddyPress pages.