New BuddyPress plugin: BP Group Management

BuddyPress has great group administrator functions – the ability to invite members to groups, to promote them to different statuses, the ability to ban certain member, and so on. But unless the sitewide administrator is also the administrator of the group, the site admin does not have the same abilities. On some sites – like here on the Academic Commons, where it’s frequently desirable to add members manually to groups – this limitation for sitewide admins can be somewhat restricting.

This plugin, BP Group Management, creates a new administration panel to the Dashboard, accessible only by the sitewide administrator, which does the following:

  • provides a sortable list of all groups (public, private, and hidden) with their created-on dates and ID numbers
  • allows admins to delete groups easily
  • allows admins to view lists of current members, and to promote/demote/ban them
  • allows admins to add any member of the site directly to the group, skipping the need for invitations

Download the plugin here.

The version of the plugin in the repository only works for versions of BuddyPress 1.2 and greater. For a mostly functional version of the plugin that works with BP 1.1.3 (no guarantees on any other versions, but it should work down to BP 1.1 at least), click here.

33 thoughts on “New BuddyPress plugin: BP Group Management”

  1. Hi Boone,

    Great plugins and I appreciate you sharing your expertise with the community. Can’t seem to get this one to work correctly. The plugin lists the correct group users under “manage current and banned group members” but no users are listed under “add members to group.” Any suggestions? We’re using BP Group Management 0.3 / WPMU 2.9.1.1 / BP 1.2.2.1 – BP Default theme. Thanks for your support.

  2. Hi Kisu – I’m not sure what could be going wrong. Here’s something to try. Comment out lines 373 and 376, so it reads

    // if ( !$members ) {
    $members_obj = BP_Core_User::get_users('alphabetical');
    $members = $members_obj['users'];
    // }

  3. Thanks for the hint.

    No luck when I comment out lines 373, 376. When I uncomment some of the other code in there, it tells me the number of members is 0 (line 379: count($members). When I click on members using the BuddyPress 1.2 Default theme, it displays the number of users correctly (472 users). I’ve disabled the Friends component in Buddypress does that matter?

    It might be something wierd exclusive to my site. I’ve also activated your Invite anyone plugin (0.3.2), but I’m having a similar problem to Laurent with no members showing in the select window. (http://dev.commons.gc.cuny.edu/2010/02/07/new-buddypress-plugin-bp-include-non-member-comments/#comment-419). Having said that, when I disable your invite anyone plugin and turn on the friends component, I’ve discovered even users who have friends have no members showing in the invite friends list. So, maybe it’s me.

    Aside from turning off plugins and a fresh install, any other directions that you can point me towards? Thanks for all of your help. Appreciate it.

  4. Hi Kisu,

    Invite Anyone and this plugin get their sitewide member lists in the same way, so I’m not surprised that they’re both breaking.

    It could be that I’m loading a member list in the wrong way. Try replacing line 374 (where $members_obj is declared) with
    $members = bp_core_get_users('type=alphabetical&per_page=10000');
    and let me know what you get.

  5. Thanks for all of your help, Boone.

    If I replace line 374, I get an Invalid argument supplied for foreach() in line 401. I uncommented your old for statement in line 400 to get around the error, but I just get a list of Add links with no users. The link is missing member_id info and looks something like this: http://site.com/wp-admin/admin.php?page=bp-group-management%2Fbp-group-management-bp-functions.php&action=edit&id=4&member_id&member_action=add&_wpnonce=32387be6dc

    I did notice that other people have had similar problems where the invite friends list on the group page is empty: http://buddypress.org/forums/topic/group-invite-issues (2 months ago), which makes me wonder if the problem is in BP and not the way you’re loading the member list. Jamesyeah could recreate the problem of missing users on testbp.org http://buddypress.org/forums/topic/group-invite-issues#post-31799 , but I just created a few accounts on testbp and the users are showing up correctly in the invite friends list. Is testbp.org showcasing a newer version of BP than 1.2.2.1?

    I’m going to try a fresh install of BP on a different server to see if that makes a difference. Thanks again for all of your support. Cheers, Kisu.

  6. Shoot, it sounds like I typed the line wrong. It should be

    $members_obj = bp_core_get_users('type=alphabetical&per_page=10000');

    That should fix the foreach problem, at least.

    Not sure if that will make the total difference though. In any case, I will do some more troubleshooting on different kinds of setups and see if I can find out what’s going on.

  7. Kisu – I had a revelation while walking home from the subway.

    Are you installing BP on top of a WP installation that has already been in use for some time? To populate the member list, I’m using a function that only sees members who have had some activity while BP is installed. If you created a bunch of users before installing BP, and those users never logged in and did anything, then they would not show up in the list. Does that fit your description?

    In any case, I’m going to rewrite that code so that the plugin gets a more comprehensive list of users, right from WP rather than from BP.

  8. Hi Boone,

    Problem solved. The new development version of the plugin now shows a complete list of all users. Thanks for the incredible support – we threw some coffee money your way into the donate bin at teleogistic.

    Just to respond to your revelation from the subway, we’re not creating users in the typical BP fashion. We used the Dagon Design Import Users plugin to bulk create student user accounts into WPMU. Our students are in grades 7/8 so for privacy reasons, we’ve assigned numeric usernames and left the first / last name fields blank. Buddypress was already installed when we imported the users and some students have recently logged into the WPMU site. (For example, the buddypress members tab recognizes 24 active members from the 400+ WPMU student accounts.) Having said that, in testing your plugin, we created a few new accounts via Users > Add New which still didn’t show up correctly. (We’ve disabled new registrations since it’s a closed site.) We did later fill out the profile fields (first / last names) but these new users were not showing up in your plugin.

    Since the fix seems to be working, can you also apply it to your Invite Anyone plugin?

    In future versions, it would be great to have the ability to upload CSV formatted data similar to Greg’s Bulk Create Blogs plugin or DD Import Users. Alternatively, checkboxes to add multiple users to a group simultaneously. As we manage several hundred users, a CSV field would be easier.

    Thanks again for sharing with the community. Cheers, Kisu

  9. Fantastic that it got solved, Kisu! I just checked in version 0.3.1 of this plugin with the fix in place. I’ll work on putting it into Invite Anyone later today (might be a bit tricker because of some JS issues) so watch your Plugins panel for updates.

    Thanks for your patience and for the kind donation!

  10. Chris – What problems are you having? I’m running the plugin on a test install with the latest WP 3.0 and BP 1.2.5.2 with no apparent problems. Can you describe in more detail?

  11. What an awesome plugin.

    I have been searching for something that would help me with user groups for a while now and am so happy to have found this.

    Just tested it out with fresh installs of WP 3.0 and BP 1.2.5.2, works perfectly.

    It’s also nice to see that Boone provides great support if problems arise.

  12. not sure if my comment went through – i was just asking whether wordpress v3.01 is compatiable with this plugin and whether it would work without having to edit it!

  13. This plugin is so useful, thanks very much!

    Can I make a feature request? The one addition that would make it perfect for my usage would be the addition of the group access type (public, private, hidden) to the admin interface. On a site I’m building I plan to let users have the freedom of profanity, strong views etc in hidden groups but not in public ones. I’d like to be able to do regular visual sweeps of the Groups list to moderate the acceptability of Group avatars and names against the Group type to ensure the public list is clean.

    Thanks again for this great plugin.

  14. Thanks for sharing, we ve been looking for something like this. Im going to wait to install it to see how it works. We like the feature that enables us to have better access control.

  15. First of all thanks for sharing. This kind of plugins really made WP shine, and grow from “simple” blogging platform to fully qualified multi-purpose content management system.
    Now, can anyone verify that it will work with 3.2, Beta 1 ? I have upgraded to latest beta (yeah I know, not too smart) before I have made all backups, so I wonder if anyone tried it on latest beta? Thanks in advance.

  16. Hey Boone,

    Thank you for your awesome development of some great plugins for a great… well, plugin, buddypress!

    I hope you can help me out.

    I seem to be experiencing the same issues as Kisu, where members are not showing under “Add members to group” in the admin menu. I’ve linked an image to help explain my experience.

    I’m hesitant to modify the files as the issues Kisu was experiencing are now more than a year old and used a different version.

    Here are some side notes:

    * WordPress 3.2.1 (single site install)
    * Buddypress 1.2.9
    * BP Group Management 0.5.1

    Thank you in advance for your support and development, it is greatly appreciated!

    Regards,

    Travis

  17. Boone,

    From reading past user experiences, and now having my own, you never disappoint! The latest update fixed the issue magnificently!

    Thanks again for your prompt support!

    Travis

  18. I just configured two Spanish classes into eight different groups in about 5 minutes flat.
    Last year when I did the same thing I had to ask students to send me requests, then go through and accept each one by one, then go back and figure out who was missed.

    With this plug-in, you made this an easy and far more organized task.

    THANK YOU, THANK YOU, THANK YOU!

    /dtk
    Dave Karow

  19. Boone, thanks a lot for a great plugin.
    I have a question. Presently I am migrating from my old website to a new one. I have already imported old users by using user import plugin through CSV. I have 1040 members in total. Now I want to group them. Could it be possible to do it automatically through CSV and with your plugin.

  20. Soubarna – The Group Management plugin doesn’t have native support for CSV import. But you can certainly use it to add users manually to a group. Or if you want to do it automatically, you can open up the plugin files to see how it works – using the BP function groups_join_group(). You can write your own script that uses this function, adding members in a loop.

  21. Thanks for this awesome plug-in. Just one problem with multi-site use though. When I activate the plugin at the Network or site level the menu does not show up. Can you help?

  22. There’s a bug that makes some parts of the plugin’s admin screens not work properly on certain multisite setups. I may fix this soon. Otherwise, please wait for BuddyPress 1.7, which will have all of the features of this plugin baked in. Once BP 1.7 is released, my plugin will be deprecated.

  23. Does anyone know a plugin that kind of does the opposite? I want users who are the Admins of a BuddyPress Group, (but NOT sitewide Admins) to be able to access the backend of the groups and add other existing users into that group. Therefore, bypassing needing to become friends with a user to invite them to be part of a group?

Leave a Reply

Your email address will not be published. Required fields are marked *

*
To prove you're a person (not a spam script), type the security word shown in the picture. Click on the picture to hear an audio file of the word.
Anti-spam image