Uploaded image for project: 'PUBLIC - Liferay Portal Community Edition'
  1. PUBLIC - Liferay Portal Community Edition
  2. LPS-121943

Disable by default Assigning Roles to User Segments




      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.



      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


          Issue Links



              team-tango Product Team Tango
              cristina.gonzalez Cristina Gonzalez
              Participants of an Issue:
              Recent user:
              Sophia Zhang
              Engineering Assignee:
              Cristina Gonzalez
              0 Vote for this issue
              0 Start watching this issue


                Days since last comment:
                1 year, 31 weeks, 6 days ago


                  Version Package
                  7.2.10 DXP FP10
         DXP SP4
                  7.3.10 DXP FP1
         DXP SP1
                  7.3.6 CE GA7
                  7.4.13 DXP GA1