Planning your BuddyPress Social Network
During this article I would like to explore the steps you would take at the very beginning of you social networking journey with BuddyPress.
The idea is that in the early stages of creating your site you need to understand what your social networking requirements are, what is available within BuddyPress and how you will move forward to implement your site.
Of course there are a large number of factors regarding exactly what sort of planning actions you will take during this stage of your social network design, the type of site, the features required, the expected level of user interaction all come together in order to create the specification for your network. This article will cover the major aspects.
Firstly it’s probably a good idea to review the features you get with BuddyPress and those you get with the major extensions:
Example BuddyPress Sites
You might like to take a look at some existing BuddyPress sites to give you a feel for what can be achieved:
Cuny Academic Commons is the social network created by the City University of New York, Cuny have created numerous plugins to support their network and have made these available to the rest of WordPress by way of Commons in a Box and other individual plugins.
Shift.ms is a social network for people affected by MS.
RockHaq is a social network aimed at students interested in music journalism.
BuddyPress Basic Feature List
These are the features that come with BuddyPress “Out of the Box”.
Extended Member Profiles – BuddyPress creates Extended profile information which can be used to create detailed information about the member that can be filled in on registration or afterwards and is displayed within that members profile. Members also get Avatars and Cover images for their profiles.
Account Settings – This provides members with the basic ability to change account settings and notifications
Friend Connections – Allows users to establish friendships with one another.
Private Messaging – Provides messaging support for all members
Activity Streams – This tracks each activity and creates site-wide, Group and Member specific Activity pages. Members can post activity updates direct or actions such as new forum topics will create activity items.
Notifications – Alerts members to events such as receiving a new message or reply.
User Groups – Allows users to group themselves together into Public, Private or Hidden groups, each groups has it’s own activity stream and member list by default, other features need to be added via extension plugins.
Multi-Site or Single Site?
There is a decision to be made about your potential future site that will determine the fundamental structure to what you are about to create. This is the decision between Multi-Site and Single Site WordPress, and therefore BuddyPress too. Multi-Site is where you can split up your site into a great many sub-domains, each of them running their own blogs, so each of your members could have their own URL to their blog.
I’ve never needed to set up a multi-site network so I have little knowledge of the pro’s and con’s of doing that, so from this point on I’m going to assume that you will be running in Single Site mode.
It can be seen that the basic BuddyPress installation delivers the very basic of features for your members; Extended Profiles, Messaging, Friends and Groups. These basic features typically need to be extended with add-on plugins in order to create social networks similar to those most are used to seeing.
The following list is those features that can be added by loading other plugins that extend the basic BuddyPress functionality:
Member Blogs – not a feature of BuddyPress but something that comes with WordPress and is available to all BuddyPress Social Networks. Members can create and edit their own blog posts and these can be moderated by the site admin.
Forums – adds site wide and Group specific forums to your site
Media – adds the ability to upload and share Images, videos, Audio to the site, either via sitewide galleries, group galleries or member’s own galleries.
Documents – adds the ability to collaborative document creation and for the creation of group document libraries.
Events – Adds the ability to create and manage events.
Points – Adds a points collection system with the ability to grant awards etc.
These are the commonly used BuddyPress Extensions, there are more, for example you can add Portfolios for artists or there are learning management plugins that allow you to run BuddyPress in an online learning environment.
You first step is to write down your own list of requirements and to compare this with those features provided by BuddyPress and it’s extensions to see if your basic ask can be supported.
A second concern is how complex your feature list will make BuddyPress? BuddyPress is an extension to WordPress which already means that we are taking a generic content management system and bolting on another form of content management, on which creates a complex dynamic system that will have a performance impact on the basic WordPress install, adding to these with further plugins will continue that performance impact. It’s possible that your final solution may have so much performance degradation so as to not be a suitable solution for you even though it has all the features you want.
The look and feel of your social network
In WordPress the basic look and feel of the website is down to the theme that you choose to load for your site and there are many themes to choose from. BuddyPress sites also use WordPress themes for their look and feel, and there are many BuddyPress specific themes to choose from, even themes not written specifically for BuddyPress often support it due to Theme Compatibility, there are also premium themes that you can buy.
It’s usually best to choose a theme that supports BuddyPress, you can look through the basic list here.
You can view some premium themes here.
Some premium themes come with much better BuddyPress pages such as the members Profile Page or the Members directory, others use the default BuddyPress page setup, this is an area to watch out for in that creating your own BuddyPress page view is typically a none trivial task so if you are going to pay for a theme then this is a key feature to look out for – does the theme deliver the profile/BuddyPress pages you are looking for or will they need some modification?
Planning: Are you able to find a theme suitable for your site?
This is often a critical concern for BuddyPress adopters, finding the right theme can take some time, for newbies the suggestion is that you look at the free BuddyPress themes from the WordPress Directory first, try some out and then maybe look at some premium themes.
However, you may already have a theme in mind, one that does not specifically support BuddyPress, you may for example be adding BuddyPress to an existing site with an established themes. This is not always a major problem. You will probably need to feel confident enough to perform some theme modifications but it’s certainly possible to support BuddyPress on generic themes.
Hosting: What type of hosting will be right for your site?
Once you have determined that BuddyPress can support your features and you have a good idea about which theme will be suitable, you will want to try to determine what type of hosting will be right for your site.
There are two main options; shared hosting or dedicated platform. With shared hosting your site will run on the same server as other sites so your site is sharing a timeslice of the processing power of the host machine. This is the entry level for most people looking to run WordPress sites. A dedicated platform on the other hand is where your site(s) run on a dedicated server and will therefore scale up to increased user activity much better, but this latter option can be a lot more expensive.
As a general rule of thumb, for a average low intensity BuddyPress network, a shared hosting platform is typically good for perhaps 50 concurrent users, however this number will vary massively depending on the complexity of the installation and also other factors such as the hosting providers bandwidth allocation to your host.
By this point you are ready to start playing with WordPress and BuddyPress, you can move on to my next article – Setting up WordPress ready for BuddyPress.