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

    Details

      Description

      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

      https://www.figma.com/file/DIJlCFD8omCFhHAmqXpPwf/LPS-121943-disable-assigning-roles-to-user-segments?node-id=0%3A1

      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

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              team-tango Product Team Tango
              Reporter:
              cristina.gonzalez Cristina Gonzalez
              Participants of an Issue:
              Recent user:
              Yunlin "Steven" Sun
              Engineering Assignee:
              Cristina Gonzalez
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:
                Days since last comment:
                43 weeks, 2 days ago

                  Packages

                  Version Package
                  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
                  Master