-
Type:
Bug
-
Status: Closed
-
Resolution: Fixed
-
Affects Version/s: 7.2.X, 7.3.X, Master
-
Fix Version/s: 7.2.10 DXP FP10, 7.2.10.4 DXP SP4, 7.2.X, 7.3.10 DXP FP1, 7.3.10.1 DXP SP1, 7.3.6 CE GA7, 7.3.X, 7.4.13 DXP GA1, Master
-
Component/s: Segments Editor
-
Branch Version/s:7.3.x, 7.2.x
-
Backported to Branch:Committed
-
Fix Priority:4
-
Epic Link:
-
Sprint:TANGO | #46 DEV | Sep25-Oct09, TANGO | #47 DIS | Oct09-Oct23, TANGO | #48 DEV | Oct31-Nov13, TANGO | #49 DEV | Nov13-Nov27
Motivation
Now it is not possible to disable Assigning Roles to User Segments, even when this functionality has a high impact on performance (the documentation of this feature can be found here). We are adding a configuration for it and will set it as disabled by default, so customers can decide whether use it or not in a conscious way.
We have created a document with the requirements for this task here.
Design
Technical Requirements
- There will be a new checkbox in System settings > Segments with the copy: Enable Assign roles by segment. It will be unchecked by default and will have the help text: When checked, this option allows assigning roles to users dynamically.
- The current option Segmentation Enabled will change into Enable segmentation, and the help text below it will be the following one: _Disable this option to prevent user segmentation on every request. If disabled, Collections and Experiences personalization won't be available._
- Both options can be checked and unchecked independently (the availability of Assign roles doesn't depend on the Segmentation enabled option to be checked)
Performance results
We have executed the SignIn performance test with 100 segments (test 14), you can check the full result in the table below:
Portal Version | Git Id | Session Count | Mean Time of Login | Portal CPU Usage (%) | DB CPU Usage (%) | Session count changes(%) |
---|---|---|---|---|---|---|
BaseLine | e1efdfd9 | 39050 | 262 | 96,96,96 | 0,0,0 | |
Segment(100 segments) | e1efdfd9 | 2016 | 35000 | 53,53,53 | 0,0,0 | -94.83738796 |
How to test it
1. Create a user (test1).
2. Create a segment in Global Site(containing only the user created in the previous step).
3. Create a Role:
3.1 Permission Content Dashboard All:
3.2 Assigness > Segments > (add segment created in step 2).
4. Log in as the user created in step 1
5. Content Dashboard is NOT shown in the App Menu.
6. Go to System Settings > Segments > Segments Services (and enable Segmentation by roles)
7. Log in as the user created in step 1
8. Content Dashboard is shown in the App Menu.
Test Scenarios
AC ID | Test Strategy | Test Scenarios | Is it covered by FrontEnd ? (JS-Unit) | Is it covered by BackEnd? (unit or integration) | Poshi? |
---|---|---|---|---|---|
01 | High | When a the Enable Segmentation by roles is checked, a user with the role segmented in the Asignees > Segment, will have the permissions of that role | YES | ||
01 | High | When a the Enable Segmentation by roles is unchecked, a user with the role segmented in the Asignees > Segment, will NOT have the permissions of that role | YES |
- is a dependency of
-
LPS-120006 Performace issues with segments due to excesive Elasticsearch queries
- Closed
- is related to
-
LPS-123768 Poshi Automation: Disable by default Assigning Roles to User Segments
-
- Closed
-