Streamlining Group Blogs

Rodney Blevins and Marius Ooms wrote a fantastic plugin for BuddyPress called Groupblog, which allows BP groups to easily create a blog associated with their group. The killer feature of the plugin is the ability to add all group members to the blog (as authors, editors, subscribers, whatever you’d like) in a more or less automatic fashion – a far, far easier task than adding users manually through Dashboard > Add User.

I found, though, that the process wasn’t quite as automatic as I’d like. They’d based the code for adding users on a plugin by Burt Adsit called Community Blogs. Community Blogs only triggered the user adding process on a one-by-one basis: members of a group weren’t added to the group’s blog until they visited the blog. This is problematic for a few reasons. First, it’s an added step that creates some confusion among group admins and members, who assume that community blog membership should be automatic. Second, we’ve enabled various levels of privacy for blogs at the CUNY Academic Commons, and group members who were not yet members of a private group blog couldn’t really visit the blog to kick start the process. (Strictly speaking, that’s not true: the add user process was hooked to a process that took place when the blog’s login screen popped up, which happens when you persistently try to visit a blog to which you don’t have access. But this is extremely confusing.)

I took a bit of time today to rework how Groupblog handles the add user process. With the new setup, every member of a group is added to the group blog at once. The process is put into motion when the blog’s administrator updates and saves the group’s Group Blog settings. Other members of the BP community who join the group after the initial blog setup are added automatically to the blog as well, in accordance with the settings that the admin has determined for member permissions.

All the changes I made to the plugin are found in the main plugin file, bp-groupblog.php. You can download the modified file here: bp-groupblog.php.txt (don’t forget to make sure that the file is named bp-groupblog.php to make the plugin work). Just replace the stock version of the file with this one to make the changes. I intentionally did not clean up the plugin – all the original code is deactivated but still present beside the new code – because I wanted users to be able to differentiate what I had written from what the original authors had written (at least for now).

6 thoughts on “Streamlining Group Blogs”

  1. were they able to include this code with their new versions? because now version 1.2.4 which you edited is out of date.

  2. Ajdin and Deryk – I believe that the edits I discuss above were rolled into the Groupblog plugin by the authors. So the most recent version of the plugin should contain all the edits I discuss here, and you should not have to make them yourselves.

    I’ve heard from several people that the plugin breaks with recent versions of WP/BP, but I haven’t had the time to look at it myself. I encourage you to get in touch with the plugin’s author to find out whether he plans to update it. If I get to it before he does, I’ll post about it here.

  3. After I have activated the plugin, if I go to the plugin setting I have this fatal error:

    Fatal error: Call to undefined function get_site_allowed_themes() in /web/htdocs/www.derevolutione.com/home/wp-content/plugins/bp-groupblog/bp-groupblog-admin.php on line 310

    I have this error also if I use the normal plugin without your new file!
    Could you help me please? Thank you very much!

  4. This is a great plugin idea – but it doesn’t seem to work with the latest (as of today) version of wordpress, 3.5.1. The group roles don’t map right to the blog roles. It seems to be random. If anyone could reach out to me for help – that would be so much appreciated. Thanks!

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