Skip to:
Content
Pages
Categories
Search
Top
Bottom

Buddypress roles

  • Avatar of James
    James
    Participant

    @janismo

    hi all,

    I am trying to add to the main site of my BP installation four more roles, which would have the same capabilities as default BP subscriber (another crazy idea).
    There are several plugins to achieve this, as I see, at the moment best one is (however it does not have default role for super admin):
    http://wordpress.org/extend/plugins/capsman/

    The issue is that I can not find list of roles capabilities for the default BP installation. I mean superadmin can do….., author…., subscriber… and so on.

    Are roles in BP the same as WP?
    If I have multisite activated, do I need to search for some WPMU roles?

    thank you!

Viewing 20 replies - 1 through 20 (of 20 total)
  • Avatar of Hugo
    Hugo
    Moderator

    @hnla

    Roles and capabilities are a WP factor not BP, as far as I’m aware BP does not create any roles or specific capabilities.

    If you want a good role manager plugin I would suggest Justin Tadlock’s one ‘Members’ however ‘capsman’ may well suit your requirements.

    Avatar of techguy
    techguy
    Participant

    @crashutah

    “as far as I’m aware BP does not create any roles or specific capabilities.”

    Except for Groups and Forums where users can be given more roles.

    Avatar of Jeff Sayre
    Jeff Sayre
    Participant

    @jeffsayre

    With the limited exception of BP groups, BuddyPress offers only one role — that of user. The forums are controlled by bbPress code, integrated into BuddyPress, but it’s bbPress that is in control of offering additional roles. Even when bbPress is relaunched as a WordPress plugin, forum roles will still be controlled by bbPress.

    BuddyPress is a social layer that sits on top of WordPress. As such, the notion of user and author are synonymous. What does all of this mean?

    With the exception for BP groups mentioned above, BuddyPress is a user-centric platform where there are currently no-jointly owned or controlled subsets of data. Ignoring the overall Site Administrator, in BuddyPress, there is a one-to-one relationship between a given piece of datum and a single owner of that datum. The key is who owns data. That person is the one with ultimate control (ignoring the super admin). Even with groups, the original group creator is the owner of the group–at least until he or she adds another admin. Group mods do not own the group data, they just help to manage it. Now, if the original group admin leaves the group, the new admin becomes the sole owner.

    So user roles are irrelevant to the operation of BuddyPress as it focuses on users and not user roles. It is a social networking layer after all and not a content authoring and management layer like WordPress.

    “Except for Groups and Forums where users can be given more roles.”

    to clarify – this is internal buddypress “roles” (group admin/mod) not plugging into wp_cap/roles

    Avatar of Hugo
    Hugo
    Moderator

    @hnla

    yep groups and forums are not roles in the strict sense of WP roles and capabilities, which is what I guess I meant in my initial comment.

    For BP 1.3, we’re going to add current_user_can checks throughout so if someone wanted to add a capability to a certain role or user, they could.

    Avatar of Hugo
    Hugo
    Moderator

    @hnla

    Already doing that personally, you can run a check on current_user_can to see what capability they have. Roles and capabilities are handed down to all users regardless by WP or am I missing the point?

    Avatar of Jeff Sayre
    Jeff Sayre
    Participant

    @jeffsayre

    “For BP 1.3, we’re going to add current_user_can checks throughout so if someone wanted to add a capability to a certain role or user, they could.”

    Providing that flexibility is nice. However, with the exception of groups, there is no reason that the current BP core components need to offer the ability to assign roles. Why would a user want to grant someone the right to control their personal content? Facebook and Twitter don’t offer users that option.

    Blogs, which live outside of BuddyPress, are different of course. It makes sense to allow blog owners the ability to add helpers to their blog, to allow others to add content as authors or editors, etcetera. In BuddyPress, this type of collaboration is also currently possible with the group component.

    But for all other core components, assigning additional roles seems like a bad idea as the focus is on individual users creating their own content which they alone control.

    Avatar of Andrea Rennick
    Andrea Rennick
    Participant

    @andrea_r

    “If I have multisite activated, do I need to search for some WPMU roles?”

    MNope. They are the same, with one extra: Super Admin. They can do anything.

    Avatar of larrysmith1000
    larrysmith1000
    Member

    @larrysmith1000

    “Providing that flexibility is nice. However, with the exception of groups, there is no reason that the current BP core components need to offer the ability to assign roles. Why would a user want to grant someone the right to control their personal content? Facebook and Twitter don’t offer users that option.” — Jeff Sayre

    Hi Jeff, sorry to reopen this topic, but I think it needs a revisiting.

    The ability to easily hook into wp user capabilities and extend them to buddypress user capabilities is useful in several social network contexts. And, I hope buddypress is trying to be a more flexible platform than facebook or twitter since it is an open source platform that developers would like to be robust and scalable. I understand the idea of an egalitarian social network like facebook, etc. However, there are many social contexts in which a hierarchical social network structure might be needed. Furthermore, adding the flexibility to developers as an additional component of buddypress would not complicate it’s egalitarian default settings.

    One example of a hierarchical context is an educational institution with Administrators, Professors, Instructors, Teaching Assistants, Students, Prospective Students, Alumni, etc.:

    As it is now, there are only bbPress roles within groups (which are needed). However, without the ability to assign capabilities within buddypress outside the scope of groups, it is nearly impossible to create capabilities restrictions such as:

    user_may_create_groups
    user_may_start_forum
    user_may_delete_comment (e.g. spam or inappropriate comments)
    user_may_assign_capabilities
    and so on.

    In particular, the ability to restrict certain users from creating groups has been a topic in many other forums about buddypress. Yet, it hasn’t been well addressed.

    Avatar of larrysmith1000
    larrysmith1000
    Member

    @larrysmith1000

    Here’s a little bump of requests, and reasons for added user capability management and/or user roles in buddypress. Sorry for the list, but it seems like there is some resistance in the BP community to doing this, while there are many requests for it.

    This couldn’t be done without user roles:
    http://buddypress.org/community/groups/how-to-and-troubleshooting/forum/topic/sticky-a-group-in-the-directory/
    Because clearly you won’t want to all anybody to make a group “sticky”

    A recommendation to hack buddypress to create roles:
    http://buddypress.org/community/groups/how-to-and-troubleshooting/forum/topic/assigning-user-roles-to-members-cant-find-it/

    Crazy use of multiple wp plugins to create user roles for bp, with no success:
    http://buddypress.org/community/groups/how-to-and-troubleshooting/forum/topic/setting-roles-for-registered-users/

    End of this thread about restricting group creation
    http://buddypress.org/community/groups/how-to-and-troubleshooting/forum/topic/forum-user-roles-and-moderator-ability-bp-12-rc2-wp-291/

    Another shaky attempt to restrict group creation
    http://wpmu.org/how-to-restrict-buddypress-group-creation-based-on-user-roles-and-capabilities/

    Unanswered request for user capabilities management admin
    http://buddypress.org/community/groups/how-to-and-troubleshooting/forum/topic/better-user-management-capabilities/

    Another request not answered:

    http://buddypress.org/community/groups/creating-extending/forum/topic/customizingadding-group-user-roles/

    @Jeff. We are in desperate need of limiting roles of users on BP. We are operating in a K-12 environment with students and teachers. Can we limit the roles of local users (students)? We just upgraded to WP3.1 and the new BP as well.

    Thanks

    Avatar of larrysmith1000
    larrysmith1000
    Member

    @larrysmith1000

    Fitz, LMS’s would be yet another good purpose for roles in buddypress. Not sure why we’re not getting a response here. Seems like a big issue.

    Avatar of Arwym
    Arwym
    Participant

    @arwym

    Sorry to sort of bump into a somewhat old topic, but I would like to add that I am also in the need to control user roles in BP. I am using BP for a client who only wants to allow advanced profiles for users with paid memberships. If there’s currently any way I can achieve this, I would really appreciate if anyone gave me a hint towards said solution.

    Avatar of joevansteen
    joevansteen
    Member

    @joevansteen

    @larrysmith1000, @Arwym, @FitzUCF, @janismo, @hnla
    I don’t know if anyone is still looking at this, but I think it is a topic that is worth pursuing. What seems to be getting lost though is what it takes to do the job.

    A facility like Justin Tadlock’s members plugin is a big help. It provides a mechanism to define and edit roles and apply them to users. That covers a lot of territory. However, unless the content management part of the software looks for and enforces those roles, it is meaningless. Justin provides a facility to do that if what you are talking about posts/pages and potentially custom post types. That is fine for WP content or even things like BuddyPress Docs where Boone implemented it as a custom content type (although I haven’t look at the details of his implementation relative to permissions). However, BP adds additional content types. And it is not just FORUMS. Groups are a content type. Private messaging is a content type. etc.

    That is where the current_user_can() checks make sense. Users should have permission to perform actions. That doesn’t necessarily mean new roles, but it does mean distinct capabilities. Those capabilities can then be assigned to any role that makes sense. But the capability list needs to be published like it is for WP http://codex.wordpress.org/Roles_and_Capabilities

    The mechanism for assigning capabilities to roles and roles to users and doing the actual check is all WP. It’s already there. Justin provides UI to access it. What I am seeing missing in BP is published string literals that have meaning in terms of capability sets and I assume the current_user_can() checks that actually make it happen. (I looked for it on Google and this is where I was directed!)

    @DJPaul you talked here in terms of BP1.3, which is now 1.5 I believe. Did any of this actually make it into the code? If not, it sure would make sense to me to find it’s way on to a revised RoadMap.

    My 2 cents!

    Bump. I agree it should at the least make its way onto a Roadmap. If I’m understanding this correctly, there is no unified user-management system in the code base itself. I know I’m significantly hacking a number of Buddypress features to work around this issue in two of my current projects, and it seems like this missing functionality is a barrier to BuddyPress’s evolution.

    I needed to restrict which user could “Create a Group” in my WordPress 3.3.1 and BuddyPress 1.5.3.1 installation. I was able to do this easily by using these 3 plugins:

    BuddyPress Restrict Group Creation (http://wordpress.org/extend/plugins/buddypress-restrict-group-creation/)

    s2Member (http://wordpress.org/extend/plugins/s2member/)

    User Role Editor (http://www.shinephp.com/user-role-editor-wordpress-plugin/)

    For example, I wanted to allow only an “s2Member Level 4″ member to have the ability to create new Groups. I did the following:
    1. Added user capability “publish_posts” as a new rule to the Restrict Group Creation settings.
    2. Selected the role “s2Member Level 4″ and added the “publish_posts” capability in the User Role Editor settings.

    Thereafter, the “Create a Group” button only showed up for members who were s2Member Level 4. The button also showed up for Authors, Editors, and Administrators…but that could easily be controlled by changing the rule in Restrict Group Creation.

    Avatar of oyegigi
    oyegigi
    Participant

    @oyegigi

    Hey all. I am new to BuddyPress and am working on building an LMS to accompany in-person classes. I am hitting a bit of a wall though on trying to create the following scenario.

    • I am trying to figure out how I can create different roles that can create certain number of groups.
    • For instance, user role “package 1″ can create up to 5 groups; user role “package 2″ can create up to 10 groups, etc.

    Does anyone have any suggestions on how I can go about doing this?

    I tried doing a combination of Members with Restrict Group Creation but I need to restrict group creation based on roles, not capabilities.

    I am willing to pay for a custom plugin as well if that’s the direction I need to go in. Any suggestions would be really helpful!

    Thanks.

    Avatar of laura.lee
    laura.lee
    Participant

    @lauralee-1

    I am not using BuddyPress for a forum. I am using BuddyPress for only volunteer groups on my website. I am just getting started with that. I tried to control access to the Group Page by WordPress Member Role… and running into issues. I see that persons want role control for reasons probably like mine. My site is a team membership site, it is not open to the general public. It’s not the vision of a community forum that I think persons are trying to force from their own vision of what a BuddyPress site “should be like”. :) It’s like they are trying to force a square into round hole thinking that there should be no admin management by WordPress user role. :) They’re thinking of an “open community”… and this is a closed community. If persons registered to my site and went to become member of a team in my team group… they would mess up my whole site and all of my volunteer structure. Not just anyone can join a volunteer team in my site.

    So, enough said about why the BuddyPress vision of everyone is equal and should have power on a hosted website hosted by an individual for a specific cause… just is not a conducive philosophy to my website and my group creation.

    But, here is a plug-in. I have reasons why it conflicts a bit with other things I am using… and I am not ready to implement this. But, check it out please…

    http://presspermit.com/wp-content/uploads/PP-RS-Feature-Grid.pdf

    - BuddyPress group as Permission Group

    is an option on both the free and pro version of Permit Plus.

    https://wordpress.org/plugins/press-permit-core/faq/

    Can Press Permit Pro do everything Role Scoper can do?
    Press Permit Pro introduces some important new features, including custom post statuses,

      BuddyPress group role assignments and bbPress compatibility

    . For most sites, it is a functional equivalent to Role Scoper, with major improvements in UI and performance. A few of Role Scoper’s more obscure features are not currently provided by PP Pro:

    HTTP Authentication for feeds
    Supplemental roles and restrictions for links defined in wp-admin/link-manager.php
    Customization of NextGEN Gallery editing permissions

      Group membership requests and recommendations (but supplemental roles can be assigned to BuddyPress groups, inheriting any membership control)


    Role assignment for limited content date range (but membership in custom-defined permission groups can be date-limited)

    http://presspermit.com/extensions/

    Plugin Extensions:
    PP Compatibility Pack
    PUBLISHED IN PLUGINS, PRESS PERMIT ON JUNE 7, 2013
    PP Compatibility Pack
    Adds compatibility and/or integration with bbPress, Relevanssi, CMS Tree Page View, Subscribe2, BuddyPress, WPML, various other plugins. For multisite, provides network-wide permission groups.

    Read & Discuss »
    PP Circles
    PUBLISHED IN PLUGINS, PRESS PERMIT ON JUNE 7, 2013
    PP Circles
    Visibility Circles and Editorial Circles block access to content not authored by other group members. Any WP Role, BuddyPress Group or custom Group can be marked as a Circle for specified post types.

    Read & Discuss »
    PP Buddypress Role Groups
    PUBLISHED IN PLUGINS, PRESS PERMIT ON JUNE 7, 2013
    PP Buddypress Role Groups
    Modify any BuddyPress group’s access to specified content. Assign type-specific supplemental roles and post-specific exceptions as with PP-defined groups.

    ********

    I haven’t tried these… I am not far enough along in my website construction. Plus, sadly, the role scoper has group request and add… the new version doesn’t… and I am as stubborn as a horse lead to water that won’t drink… when asked to give up a feature I LOVE!! :) I don’t want to give up that group feature I would lose from Role Scoper. So, I have not migrated.

    Here’s some solutions for you that you can try, that I have read about.. but I have not tried myself yet.

    **The author of these plug-ins ought to be a multi-millionaire… but lacks in sales and marketing skills. :) But, I’m helping him out here for free. lol

    Blessings!

    Cheers!

    Laura Lee

    Avatar of oyegigi
    oyegigi
    Participant

    @oyegigi

    @lauralee-1: thanks for the tips! I will make sure to check out those plugins.

Viewing 20 replies - 1 through 20 (of 20 total)

You must be logged in to reply to this topic.