Building a community: Buddypress, bbpress, wpmudev COMMUNITIES and wpmudev FORUMS

Firstly? I have to say wpmudev is the best in terms of Wordpress support that I've ever come across?I‘m very pleased with your services and support and I'll stay with you guys as long as I am still developing website using wordpress.

Here are some of my questions I want to clear up:
1. I want to use buddypress for my multisite, it seems sub-domain site can not have its own "buddypress social network" , all the sites under a multisite network share ONE buddypress social network. Search for members will return all members in the multi-site network.

2. Your communities plugin actually address to this problem by letting each sub-site have its own community and in the main site, it can show all activities and members of ALL sub-sites and let member be friends with other site's members?

3. Your forums plugin let every sub-site have its own forum (if activated), i.e. when member of abc.mydomain.com create a topic, the forum and the topic stays within abc.mydomain.com/forum... On the main site, I can create a forum (can I use bbPress?) to display all the forums and activities of ALL the sub-sites, e.g. mydomain.com/forum...

4. What is the best scenario to use buddypress and/or communities? How to choose between bbPress and Forums?

Thanks

Regards,
Sp Wong

    Predrag Dubajic

    Hey SP Wong,

    Thanks a lot for the kind words, it really means alot to us and keeps the morale up

    1. I want to use buddypress for my multisite, it seems sub-domain site can not have its own "buddypress social network" , all the sites under a multisite network share ONE buddypress social network. Search for members will return all members in the multi-site network.

    WordPress multisite actually works in a way that all users are stored under "one roof", and even though each subsite has it's own database tables there's still main table for users where they are all stored, regardless if they were registered only in network, on main site or a subsite.
    They then get roles depending on the subsite they were registered on.
    BuddyPress keeps the default WP behaviour and keeps the user data on main site.

    2. Your communities plugin actually address to this problem by letting each sub-site have its own community and in the main site, it can show all activities and members of ALL sub-sites and let member be friends with other site's members?

    Communities plugin is quite different from BuddyPress, it's actually a backend plugin and each user will see communities section when they visit WP admin section, in there they will be able to search for communities from around the network and join them in order to join the discussion.
    I'm afraid that there's no option to friend other members of community or to keep a track of their activity, you can only follow the communities boards and join the discussion there.

    3. Your forums plugin let every sub-site have its own forum (if activated), i.e. when member of abc.mydomain.com create a topic, the forum and the topic stays within abc.mydomain.com/forum... On the main site, I can create a forum (can I use bbPress?) to display all the forums and activities of ALL the sub-sites, e.g. mydomain.com/forum...

    With Forums plugin all the forums created are specific for the subsite they have been created on, and they are included on from end by using shortcode provided after the forum is created on backend.

    For example if you create forum on Subsite1 and on Subsite2 each one will have unique forum shortcode, for example [forum id="1"] and [forum id="2"].
    If your [forum id="1"] is from Subsite1 and you add that shortcode Subsite2 it will not work, only [forum id="2"] will work on Subsite2.

    4. What is the best scenario to use buddypress and/or communities? How to choose between bbPress and Forums?

    This really depends on the type of setup you're looking for, could you give us some more info about how this all should function, what users should be able to do, some real life examples etc.
    We could give you some further info and suggestions then.

    Best regards,
    Predrag

    SP Wong

    Thank you Predrag for your detailed explanations. Here is my real life example:

    I am planning to create a multisite about “English Learning”

    Key component of subsites
    ? Subsites are for various English learning centers, schools etc…
    ? Community (buddypress or communities) – for their own students and teachers.
    ? Forum (bbpress or forums) – for their own students and teachers.
    ? Point system (MyCRED) – to courage students to use the subsite and use points to “buy access” to online courses.
    ? LMS (coursepress) – to let individual language centers or schools to put up online English courses for their students (or any other user in the network)
    ? eCommerce (Woocommerce) – mainly use the “network wide” MyCRED POINTS to buy online courses (coursepress), and subsite can setup their own store (using multi-vendor plugin) to sell school t-shirts or redeem points.
    ? Q&A Questions and Answers – let student ask question to their teacher, your “support system” should do the job – [is it allow answering questions in the frontend???]
    ? Preferably: subsites can do all of the above within their sub-domain, i.e. site1.mainsite/forum | site1.mainsite/q&a etc- Don’t have to jump to: mainsite/forum or mainsite/q&a etc.

    Mainsite Requirements:
    ? Main site is like a “ONE ROOF” display site, which displays all the blogs, comments etc, etc from the subsite.
    ? Community – big community involve all the subsite students and teachers (members), subsite students can make friends with other subsite’s students and see their activities (as they are all English learners), and join all other subsite’s group if they want to.
    ? Forum – ONE ROOF big forum shows all forums and topics of all the subsites, users can participate in any topic.
    ? Points system (MyCRED) – subsite user can earn/use point within the network.
    ? LMS (coursepress) –There is a page displaying all the online course available within the network. Network user can join any subsite online course.
    ? eCommerce (Woocommerce) , can see multi-vendor shop across the network. (same as the point system (MyCRED) )
    ? Q&A – can display all subsite’s FAQ and a user can ask questions, subsite teachers (many subsites) can choose to answer the question (even the user is not their student, not registered under their subsite)

    That’s my plan – please let me know which one is achievable and which one is not.

    I know it’s a long list, thanks for your time. Your advice and opinion are most appreciated.

    Regards,
    Andy

    Adam Czajczyk

    Hello Andy!

    I think that the setup you'd like to achieve would be quite nice from user's perspective but if it comes to the "technical specs" it might need some slight adjustments, unless you are ready to go for "all custom" development.

    The BuddyPress would be in my opinion the best solution for "social networking" features on the site but, as it's been already said, it cannot work "per site" activated and if it's network enabled it's a kind of "central hub". Usually that works fine on quite big sites and I think since you are going to treat your main site as kind of "hub" that would work fine. There's always an option to create groups that can be e.g. private and and user profiles would be available in a central place.

    Furthermore, you can set BuddyPress to "multisite" option and while that doesn't make it "separate install" for each of the sub-sites (it's still the same, central BuddyPress) it makes it available directly from each subsite. Let me explain:

    - in a "regular" mode (default install) all profiles are under "maindomain.com/members/profile/username", members list is always "maindomain.com/members" etc

    - in a "multisite" mode plugin would work exactly the same but e.g. members list could be accessed both via "maindomain.com/members" and "sub-site.maindomain.com/members"

    As for forums. bbPress would be a good choice because it can work in any standard Multisite mode: can be activated "per site", can be "network enabled" and can be enabled on a single-sub site only. There's a lot of add-ons and what's most imporant - it's fairly well documented so there's always an option to add some features or even fully customized add-ons to it.

    WooCommerce: that cannot by default work "site-wide", it can work as a separate store on each sub-site but on the other hand if you'd decide to use main site as a kind of "hub" you could run it there only since it's going to be used mainly as a store for MyCred points. Which leads me to the point that MyCred can be used "site wide": it can be set the way that a common pool of points is used everywhere across the network.

    CoursePress would run separate courses per-site in Multisite but there's still a case of "network users".

    That actually seems to be the most crucial part of that entire setup. The issue with users on Multisite is that if a user signs up on subsite A he's not a "real user" of subsite B and subsite C etc. User account is stored in the same user database but while that user will be logged in with "subscriber-like" capabilities to each of the sub-sites he'll not be listed as a user on ony other sub-site than the one he/she registered for.

    That creates some problems as such a user may not be able e.g. to sign up for a course or participate in bbPress discussion on forums on that particular site. The simplest solution is to use "Join My Multisite" plugin that let's any user that's already registered on the network join any other site of the network with just a click of the button. Putting those buttons on sub-sites in most "crucial" user-flow points shouldn't decrease User Experience level much, I think, and would solve a lot of issues related to user being registered or not on a given sub-site.

    All that being said, I would start with setting up a vanilla Multisite and creating basic structure (sub-sites etc). Then, I'd setup BuddyPress and focused on making it work flawlessly, then setup bbPress and then proceed with other plugins. My point is that it would be best to go "step by step" and once one step is achieved and fully functional, then jump to the next one. That would make it easier for you to keep everything under control and we would be able to better help you "on the way" (if necessary).

    As for things like showing posts, courses, forums etc from across the network on a main site. Most of that could be achieved using our Post Indexer plugin as a base and then either one (or a combination) of our other plugins such as "Recent Global Posts" or just building a custom solution based on it.

    Best regards,
    Adam