[Docs] Roles and Tools: document UI/UX changes after Dojo → Angular migration
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 970
- Forks
- 486
- Avg merge
- 3d 33m
- Merged PRs (30d)
- 170
Description
Goal
Document the shipped Roles and Tools Angular portlet — user-facing docs (screenshots + behavior) plus a short developer note (rollback + code paths + iframe boundaries). Depends on the FE+BE PR being merged.
Scope
User docs
- Update the Roles and Tools page on the dotCMS docs site to reflect the shipped UI
- Cover:
- Layout: two-column shell,
Home > Settings > Rolesbreadcrumb - Roles panel:
Newbutton,Filter rolessearch, folder icon for parent roles, shield icon for child roles, user-count badges, expand/collapse, inline+to add a child, drag-and-drop to reparent a role - Role detail header: role name +
N users · M tools grantedsubtitle +Edit Rolebutton - Users tab:
Grant to Userpopover (search + click to grant), members table (NAME / EMAIL / GRANTED FROM chip showing direct vs. inherited), remove and bulk remove, empty state copy - Permissions tab: note this tab currently embeds the existing permissions UI inside an iframe as an interim while the Angular redesign is scoped; behavior parity with the previous portlet
- Tools tab: note this tab currently embeds the existing Tool Groups management inside an iframe as an interim while the Angular redesign is scoped; behavior parity with the previous portlet
- Add Role dialog: Role*, Key, Parent (default
None (top level)), Can Grant checkboxes, Description - Edit Role dialog: same fields +
Delete Roledestructive action
- Layout: two-column shell,
- Capture fresh screenshots from the shipped build
- License + role gating preserved and documented (
rolesportlet, admin-only surfaces)
Developer note
- Short note (developer docs or repo doc) covering:
- Rollback story: the Dojo
rolesportlet entry stays registered — admins revert by removingroles-betafrom their layout and addingrolesback - New Angular portlet:
core-web/libs/portlets/dot-roles/ - Data-access service:
core-web/libs/data-access/src/lib/dot-roles/ - Portlet enum:
PortletID.ROLES(unchanged — Beta uses theroles-betaportletId inportlet.xml) - Backend gating: v1
RoleResource,PortletResource,ToolGroupResource,PermissionResourcegated byrequiredPortlet("roles") - Iframe wrapper JSPs used by the Permissions and Tools tabs, with the
postMessagecontract and how to swap them out for the eventual Angular replacements - Follow-up
[Task]links for the Angular replacements of the Permissions and Tools tabs
- Rollback story: the Dojo
Implementation findings (what shipped, tab-by-tab behavior notes, iframe wrapper postMessage contract, drag-to-reparent behavior) are captured in a comment below as reference material for whoever writes the docs.
Inputs
- Shipped PR: (link once merged)
- Parent epic: #36909
- Design reference: https://claude.ai/design/p/20548219-a454-4b14-becf-5dd4dc0b84a1?file=Roles.dc.html&via=share (internal — auth required)
Definition of Done
- Roles and Tools user docs page updated and published with the sections above, with fresh screenshots taken from the shipped build
- Developer note published in the appropriate developer docs location (or repo doc), including the iframe wrapper
postMessagecontract and Angular-replacement follow-up links - Docs page cross-linked from this issue and from epic #36909
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
Start by reading the Angular portlet at core-web/libs/portlets/dot-roles/ and its data-access service at core-web/libs/data-access/src/lib/dot-roles/, then review the listed RoleResource, PortletResource, ToolGroupResource, and PermissionResource entry points. Done means publishing the updated Roles and Tools user page with fresh screenshots and a developer note covering rollback, iframe postMessage behavior, gating, and replacement follow-up links.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- angular, java
- Domain
- backend, documentation, frontend
- Issue type
- Documentation
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 52/100