WordPress.org

Make WordPress Core

Opened 5 years ago

Closed 4 years ago

#35704 closed feature request (maybelater)

Add Groups/Teams functionality to Core

Reported by: catchmyfame Owned by:
Milestone: Priority: normal
Severity: normal Version:
Component: Users Keywords:
Focuses: Cc:

Description

I'd like to request that WordPress add the ability for a piece of content (e.g. page, post, image, etc.) to be associated or owned by a team or group, instead of a single user. The ability to create teams or groups would greatly enhance the usability, flexibility, and security of WordPress, and provide an often used feature in content administration that it currently lacks.

When I learned that WordPress, the most popular blogging/CMS tool on the market today, did not have this feature, I was blown away. I scoured the far corners of the web to make sure I hadn't missed something obvious, only to find information about roles and capabilities, neither of which accomplished this basic concept. If we need a group of people to work together on the same set of pages or posts, this is currently impossible to do, without also giving them access to all content created by anyone in the same role (currently editor and above). The small CMS I used previous had this functionality baked in, and when I started using WordPress I struggled to find a way to accomplish what it allows. Having groups or teams allows multiple users to collaborate on content without everyone within the same role also having access to such content.

For example, let's say we need our organization's IT department to update the company's operating status page, and everyone in the IT department has the Author role. Since Authors don’t have the edit_other_pages or edit_others_post capabilities, right off the bat no one in the IT group can edit the operating status page other than the person who created it. It would take someone with the privileges of being able to change the author to assign it to another user for them to edit. This is an extremely tedious, entirely manual, and slow process. However, let’s say everyone in the IT department had an Editor role so that they did have edit_other_pages or edit_others_post capabilities. Now everyone in the IT group can edit the operating status page -- but now they can also edit any other page and post in WordPress! Obviously that’s not desirable.

This could be solved with the concept of groups or teams. These disposable units would allow groups of users to edit any content that was “owned” by a group that they belonged to. It could even allow users within different roles to collaborate. Pages and post would still have an author or creator, but the “owner” would be the group (with the default owner being the author). Users should be able to add groups and users as contributors when creating content, thereby giving them the ability to collaborate. Administrators should be able to manage groups so users are able to easily select them like they would another user.

The good news is that there is a plugin (co-authored by WordPress' own Automattichttps://automattic.com/) called Co-Authors Plus (https://wordpress.org/plugins/co-authors-plus/ and https://github.com/Automattic/Co-Authors-Plus) that almost completely fills this void. The bad news is that this plugin isn't part of the core, and that it looks like it's not very actively maintained.

Please consider making groups/teams a core part of WordPress.

Change History (8)

#1 @dd32
5 years ago

  • Milestone Awaiting Review deleted
  • Resolution set to maybelater
  • Status changed from new to closed

I don't think this is something that would pass any form of a 80/20 test - it's not something that would realistically be useful to more than 80% (or 20%) of users.

The fact a plugin exists that can support this style of permission system is intentional - WordPress has very little capability management built in, we have the entire underlying architecture to allow it, but choose to instead allow a plugin to add the UIs for it instead.
Plugins managing the UI allows for others to create different capability styles, be that extra Roles with custom capability sets, different permission styles (Groups), or allowing multiple users to have the edit capability for a single post. The many permutations are almost endless.

For now, this isn't something that's going to be supported by WordPress core. A plugin is free to add or support it, it sounds like a pretty useful feature for some users, but it's not something that WordPress itself needs to maintain.

#2 @catchmyfame
5 years ago

  • Resolution maybelater deleted
  • Status changed from closed to reopened

I disagree with your 80/20 comment, and without some sort of survey or data to back it up it sounds like conjecture. In fact, in a recent core mailing list wishlist request (https://make.wordpress.org/core/2015/08/19/wordpress-4-4-whats-on-your-wishlist/) this same request was very well received: "This is a great suggestion.", "That sounds pretty cool.", and "+1 on groups".

The problem with relying on plugins to fill this void that is that it allows WordPress to move in one direction which could cause the plugin to stop working and leave its users up the proverbial creek, or the developers could simply abandon it. Having groups as part of the core would ensure this couldn't happen. Adding such a feature would not interfere with the existing system nor take away from anything that WordPress currently offers. It only adds flexibility to the existing system, enabling greater collaboration.

I respectfully ask you to leave this feature request open so that it can be discussed more fully.

#3 @SergeyBiryukov
5 years ago

  • Milestone set to Awaiting Review

#4 @chriscct7
4 years ago

  • Version trunk deleted

#5 follow-up: @johnjamesjacoby
4 years ago

  • Milestone Awaiting Review deleted
  • Resolution set to maybelater
  • Status changed from reopened to closed

Anyone that stumbles into this ticket, please consider trying out my User Groups plugin:

https://wordpress.org/plugins/wp-user-groups/

I agree with Dion, that this type of functionality does not seem to fill a current need inside of the greater WordPress project.

BuddyPress also comes with User Group functionality, which is much more inline with why it may be desirable for users to be grouped, or group themselves.

At the risk of playing the open/close game, I'm going to re-close this ticket, and make a motion that it only be reopened by a team lead when enough healthy discussion has occurred. Until then, there are reliable alternatives that hug very closely to WordPress core.

Note also that the "maybelater" resolution is, I think, a proper designation for this ticket. It's currently a no-go, people are actively building plugins to provide this functionality, and maybe later when WordPress is bursting at the seams without this feature, we can reopen it, survey the landscape, and merge something in. (And we can keep this issue out of other milestones until then.)

Last edited 4 years ago by johnjamesjacoby (previous) (diff)

#6 in reply to: ↑ 5 @catchmyfame
4 years ago

  • Resolution maybelater deleted
  • Status changed from closed to reopened

Please don't hijack this thread to promote your plugin. Also, no one would force you to configure groups ("I can't imagine installing WordPress and immediately needing to configure groups of users for any post, page, or media publishing purpose.") and many others have commented that this would be an excellent addition. You're not understanding the concept of groups as a simple container for multiple users to edit the same content, whereas now you're forced to make a 1-to-1 association between content and user.

I would like to see WordPress have the simple, yet powerful, ability to let a user create content and be able to assign the author or owner to a group, not a single person, so that any member of the group can contribute and collaborate on it. It's a simple concept and lies at the heart of a true CMS. Yes other plugins exist that try and fill this hole, an other than Co-authors Plus (developed in part by Automattic) there are none that are widely used or actively supported. My suggestion also has nothing to do with BuddyPress.

Again I ask you to keep this ticket open to continue this discussion instead of simply closing it for your convenience. It's a valid suggestion, and as I've been repeatedly told this is the place to post such requests. My first two posts in this thread sum up the case need and explain why we should not have to rely on plugins for this functionality.

Replying to johnjamesjacoby:

Anyone that stumbles into this ticket, please consider trying out my User Groups plugin:

https://wordpress.org/plugins/wp-user-groups/

I agree with Dion, that this type of functionality does not seem to fill a current need inside of the greater WordPress project.

BuddyPress also comes with User Group functionality, which is much more inline with why it may be desirable for users to be grouped, or group themselves.

At the risk of playing the open/close game, I'm going to re-close this ticket, and make a motion that it only be reopened by a team lead when enough healthy discussion has occurred. Until then, there are reliable alternatives that hug very closely to WordPress core.

Note also that the "maybelater" resolution is, I think, a proper designation for this ticket. It's currently a no-go, people are actively building plugins to provide this functionality, and maybe later when WordPress is bursting at the seams without this feature, we can reopen it, survey the landscape, and merge something in. (And we can keep this issue out of other milestones until then.)

#7 @johnjamesjacoby
4 years ago

Please don't hijack this thread to promote your plugin.

I think, friend, that you're misunderstanding my intention. Myself and @kenshino maintain WordPress's Roles & Capabilities Component, so I care deeply about the functionality and feature-set of what I believe is one of the most critically important APIs in all of WordPress.

My plugin suggestion was only to point you towards code that already exists to address one of the issues you're raising, of which I believe there are 3 separate issues:

  • Groups of users
  • Using a group as user mask
  • Groups of roles for users (#36939)

Also, no one would force you to configure groups ("I can't imagine installing WordPress and immediately needing to configure groups of users for any post, page, or media publishing purpose.") and many others have commented that this would be an excellent addition. You're not understanding the concept of groups as a simple container for multiple users to edit the same content, whereas now you're forced to make a 1-to-1 association between content and user.

It's unfair (not to mention perceivably hostile) to make assumptions about what someone does or does not understand. I will not do this to you, and I'll ask that you treat others with that same consideration here. Thanks in advance.

To be clear, no one here said or thinks any of the ideas you propose are bad – there are no bad ideas.

I would like to see WordPress have the simple, yet powerful, ability to let a user create content and be able to assign the author or owner to a group, not a single person, so that any member of the group can contribute and collaborate on it. It's a simple concept and lies at the heart of a true CMS. Yes other plugins exist that try and fill this hole, an other than Co-authors Plus (developed in part by Automattic) there are none that are widely used or actively supported. My suggestion also has nothing to do with BuddyPress.

Conceptually simple; maybe. Relatively complex; absolutely, particularly inside of WordPress, which in its current form is not welcoming to many-to-many relationships, even less welcoming for User objects.

For additional context, Co-authors Plus is a plugin I helped maintain while at Automattic, so I'm deeply aware of how it does (and does not) attempt to address other ideas you present here.

Again I ask you to keep this ticket open to continue this discussion instead of simply closing it for your convenience. It's a valid suggestion, and as I've been repeatedly told this is the place to post such requests. My first two posts in this thread sum up the case need and explain why we should not have to rely on plugins for this functionality.

Nobody said the idea is invalid, and tickets do not need to remain open to continue discussion in them.

Please also consider, both a WordPress project lead (Dion) and a maintainer of the component that would need improving (myself) do not consider this something WordPress itself needs to provide the API for currently, but think there's value in keeping it around for later.


As an aside, I think the ticket-toggle is wasted energy. Historically no one (including myself) reacts very well to seeing their tickets be closed, but it rarely means what it maybe seems like it does. No one is shutting you down, trying to hijack anything, or trying to tuck anything under any rugs. We do want to be open and honest about the likelihood of core progress, to you and anyone else that finds this ticket, and the most efficient way to do that for everyone is to properly designate & categorize them according to our best assessment of viability, level of effort, and value added.

I, for one, am happy you took the time to document your thoughts here, and welcome much more healthy discussion about the ideas you've presented regardless of what milestone or status is assigned to it.

Last edited 4 years ago by johnjamesjacoby (previous) (diff)

#8 @SergeyBiryukov
4 years ago

  • Resolution set to maybelater
  • Status changed from reopened to closed

Re-closing as maybelater. Tickets do not need to remain open for discussion to continue.

Note: See TracTickets for help on using tickets.