Uploaded image for project: 'PUBLIC - Liferay Portal Web Content Experience'
  1. PUBLIC - Liferay Portal Web Content Experience
  2. WCM-1347

User Segment Content List Portlet preferences are not correctly exported

    Details

    • Fix Priority:
      4
    • Sprint:
      Augustine

      Description

      Preconditions

      1. Set up two instances of DXP (Fix Pack >= 10), with a site on each (instance 1 -> Site A; instance 2 -> site B).
      2. Deploy Audience Targeting (AT) from Marketplace it both instances.

      Steps to reproduce

      1. In site A: Configure AT and add some user segment by rule.
      2. In site A: Add Segment Content List Portlet to a page and configure it to show any of the previous user segment(s).
      3. In site A: Export User Segment and download its LAR file.
      4. In site A: Export Segment Content List Portlet and download its LAR file.
        (Checkpoint: Both export processes are OK)
      5. In site B: Add Segment Content List Portlet to a page.
      6. In site B: Import previous exported preferences from site A.
        (Checkpoint: Import process is OK)

        Expected behaviour
        In site B, the Segment Content List Portlet shows the same configuration as in site A

        Observed behaviour
        In site B, the Segment Content List Portlet shows the error message "User Segment Content List is temporarily unavailable."
        And an exception is thrown in log:

        08:50:55,981 ERROR [http-nio-8080-exec-2][PortletRequestDispatcherImpl:261] javax.servlet.ServletException: com.liferay.portal.kernel.search.SearchException: java.lang.RuntimeException: Unable to get class name from id 30051 
        javax.servlet.ServletException: com.liferay.portal.kernel.search.SearchException: java.lang.RuntimeException: Unable to get class name from id 30051 
        	at org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:953) 
        	at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:885) 
        	at com.liferay.taglib.servlet.PageContextWrapper.handlePageException(PageContextWrapper.java:164) 
        ...
        ...
        ...
        Caused by: com.liferay.portal.kernel.search.SearchException: java.lang.RuntimeException: Unable to get class name from id 30051 
        	at com.liferay.portal.kernel.search.BaseIndexer.getFullQuery(BaseIndexer.java:273) 
        	at com.liferay.portal.kernel.search.BaseIndexer.doSearch(BaseIndexer.java:1535) 
        	at com.liferay.portal.kernel.search.DefaultSearchResultPermissionFilter.getHits(DefaultSearchResultPermissionFilter.java:79) 
        	at com.liferay.portal.kernel.search.BaseSearchResultPermissionFilter.search(BaseSearchResultPermissionFilter.java:94) 
        	at com.liferay.portal.kernel.search.BaseIndexer.search(BaseIndexer.java:644) 
        	at com.liferay.portlet.asset.util.AssetUtil.searchAssetEntries(AssetUtil.java:738) 
        	at com.liferay.portlet.asset.util.AssetUtil.searchAssetEntries(AssetUtil.java:717) 
        	at com.liferay.asset.publisher.web.util.AssetPublisherUtil.getAssetEntries(AssetPublisherUtil.java:360) 
        	at com.liferay.asset.publisher.web.util.AssetPublisherUtil.getAssetEntryResultsByDefault(AssetPublisherUtil.java:1532) 
        	at com.liferay.asset.publisher.web.util.AssetPublisherUtil.getAssetEntryResults(AssetPublisherUtil.java:778) 
        	at com.liferay.asset.publisher.web.util.AssetPublisherUtil.getAssetEntryResults(AssetPublisherUtil.java:744) 
        	at org.apache.jsp.view_jsp._jspService(view_jsp:705) 
        	... 208 more 
        Caused by: java.lang.RuntimeException: Unable to get class name from id 30051 
        	at com.liferay.portal.util.PortalImpl.getClassName(PortalImpl.java:1518) 
        	at com.liferay.portal.kernel.util.PortalUtil.getClassName(PortalUtil.java:546) 
        	at com.liferay.portlet.asset.util.AssetSearcher.getSearchClassNames(AssetSearcher.java:68) 
        	at com.liferay.portal.kernel.search.BaseIndexer.getFullQuery(BaseIndexer.java:248) 
        	... 219 more 
        
        
      7. In site B: Import previous exported user segment from site A.
        (Checkpoint: Import process is OK)

        Expected behaviour
        In site B, the Segment Content List Portlet shows the same content as in site A

        Observed behaviour
        Same error as above.


      As a workaround can be used an Asset Publisher portel configuring it as "Dynamic" and adding a Filter with a Category selected as AT rule.

        Attachments

          Activity

            People

            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Packages

                Version Package
                2.1.1