U&SM| S03 Sprint 17 | 2.18-3.3, U&SM| S03 Sprint 18 | 3.3-3.17, U&SM| S03 Sprint 19 |3.17-3.31, U&SM| S03 Sprint 20 |3.31-4.14, U&SM| S03 Sprint 21 |4.14-4.28
LPS-105970 provides a UI to create and assign segments to regular roles. However site admins and site content producers will not necessarily have access to the Control Panel, so this story enables the capability of assigning site roles to segments defined at the site level.
Here's a relatively straightforward way to implement site-level roles. Add an Assign Site Roles action menu to the existing segments created in a site's People > Segments portlet.
The experience would look like:
- Create a site role in Control Panel > Users > Roles > Site Roles.
- Create a segment in the site menu > People > Segments.
- Click on the new segment's action menu > Assign Site Roles. (new. This action menu item should appear between View Members and Permissions)
- Show a dialog allowing user to assign/unassign site roles. (This is the same pattern as site menu > People > Memberships > Users > a user's action menu > Assign Site Roles)
- When a site-level segment is assigned a site role, all users in that segment should be provisioned with the permissions defined for that site role
- Conversely to #1, when a site-level role is unassigned from a segment, all segmented users should be de-provisioned.
- Similarly to #2, when a segment is deleted, all segmented users should be de-provisioned.
|Test Scenarios||Is it covered by FrontEnd ? (JS-Unit)||Is it covered by BackEnd ? (unit or integration)|
|All users in segment will have permissions defined for a site role where it is assigned||No||Yes||
|All segmented users will lose site-level permissions when site-level role is unassigned from segment||No||Yes||SegmentsEntryRoleContributorTest#testHasGroupPermissionWhenDeletingSegmentsEntryRole|
|All segmented users will lose site-level permissions when segment is deleted||No||Yes||SegmentsEntryRoleContributorTest#testHasGroupPermissionWhenDeletingSegmentsEntry|
|All segmented users will lose site-level permissions when the site-level role is deleted||No||Yes||SegmentsEntryRoleContributorTest#testHasGroupPermissionWhenDeletingSiteRole|