[FEATURE] Allow Categories to drive permissions
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 970
- Forks
- 486
- Avg merge
- 3d 33m
- Merged PRs (30d)
- 170
Description
Feature Title
Allow Categories to drive back end content permissions
Problem
We have a number of use cases where we need a way to permission content (in the back end) based on more than the site/folder on which that content lives.
If we want to have a shared content type - say "events", the only way we can permission an shared event content object is by sticking it into a site or folder. This grants it singular permissions and does give a user a way to share it to other sites or folders. In order to share it, we tell customers to use categories, except that categories are sub par on the back end, as they do not control who can see or edit a content object. From an editors perspective, this causes issues because they can see everyones events, even though they do not have access to the categories that the event has been categorized with.
We have struggled with this use case historically - categories are permissioned but they do not control what a user can see or edit in the back end. This makes creating a content type where a content object can be shared between 1 or more channels difficult.
Another example subpar workaround is Dean's classic custom field that allows an editor to select 1 or more hosts on which to share/display a news item. In a top down multi-tenant operation, an admin wants to create a news article and push it down to a set or subset of sites. We have to fake this behavior with a custom field. Or in higher education, where a department is in charge of their own events "category/channel" but when they go to edit events, they can see every departments events.
Bottom line, it would be very helpful in multi-tenant and multi-channel content modeling if we could also use the categories of a content when calculating who can see and edit a content.
Goal
Allow a System content object to be shareable across 1 or more sites.
Target Personas
- Developer teams
- Content teams
- DevOps teams
- System administrators (dotCMS)
Demo Expectations
In the demo, we will show how we can enable content types to also respect categories for permissions and how system content can be selectively shared across content teams.
Acceptance Criteria
No response
User Stories
No response
Links
No response
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No files or tests are named. Start by locating the backend permission calculation for System content and the existing category-permission handling; define how shared content across sites should be visible and editable, then verify the demo scenario for selective sharing across content teams.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- authorization, backend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100