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

Display pages admin broken after importing a LAR from another liferay instance that has a display page mapped to an asset

    Details

    • Fix Priority:
      4

      Description

      Reproduced on:
      Tomcat 9.0.10 + MySQL 5.7. Portal master GIT ID: 209fe1d2cd5c3081e414d8301828ae5c6e751d6c.
      Tomcat 9.0.10 + MySQL 5.7. Portal 7.1.x GIT ID: bb01e4848d35bf3171f322946a02d18dfdd9330d.
      Tomcat 9.0.6 + MySQL 5.7. Portal 7.1.10 Fix Pack 2.

      Steps to reproduce:

      1. Create a display page
      2. Map the display page to basic web content structure (or any other web content structure)
      3. Publish the display page
      4. Navigate to Publishing > Export
      5. Export the site
      6. Start up a new liferay bundle with a clean database
      7. Create a site
      8. Import the LAR file into the site
      9. Navigate to Build > Pages > Display Pages

      Expected result:
      The display page will be there.

      Actual result:
      The display pages admin will be blank, and the display page will not be there. User also cannot add new display pages because clicking the plus button will do nothing. The following console error will appear:

      2018-10-30 20:21:01.313 ERROR [http-nio-8080-exec-10][IncludeTag:128] Current URL /group/test-display-page-only/~/control_panel/manage?p_p_id=com_liferay_layout_admin_web_portlet_GroupPagesPortlet&p_p_lifecycle=0&p_p_state=maximized&p_p_mode=view&_com_liferay_layout_admin_web_portlet_GroupPagesPortlet_tabs1=display-pages&p_r_p_privateLayout=false&p_p_auth=iEUNv8yJ generates exception: com.liferay.dynamic.data.mapping.kernel.NoSuchStructureException: No DDMStructure exists with the primary key 24701
      com.liferay.dynamic.data.mapping.kernel.NoSuchStructureException: No DDMStructure exists with the primary key 24701
              at com.liferay.dynamic.data.mapping.internal.DDMStructureManagerImpl.translate(DDMStructureManagerImpl.java:400)
              at com.liferay.dynamic.data.mapping.internal.DDMStructureManagerImpl.getStructure(DDMStructureManagerImpl.java:242)
              at com.liferay.dynamic.data.mapping.kernel.DDMStructureManagerUtil.getStructure(DDMStructureManagerUtil.java:132)
              at com.liferay.asset.kernel.model.BaseDDMStructureClassTypeReader.getClassType(BaseDDMStructureClassTypeReader.java:60)
              at com.liferay.layout.admin.web.internal.display.context.DisplayPageDisplayContext.getSubtypeLabel(DisplayPageDisplayContext.java:285)
              at org.apache.jsp.view_005fdisplay_005fpages_jsp._jspService(view_005fdisplay_005fpages_jsp:972)
              at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:111)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
              at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:411)
              at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:473)
              at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:377)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
              at com.liferay.portal.osgi.web.servlet.jsp.compiler.internal.JspServlet.service(JspServlet.java:319)
              at com.liferay.portal.osgi.web.servlet.jsp.compiler.internal.JspServlet.service(JspServlet.java:330)
              at org.eclipse.equinox.http.servlet.internal.registration.EndpointRegistration.service(EndpointRegistration.java:153)
              at org.eclipse.equinox.http.servlet.internal.servlet.ResponseStateHandler.processRequest(ResponseStateHandler.java:62)
              at org.eclipse.equinox.http.servlet.internal.context.DispatchTargets.doDispatch(DispatchTargets.java:120)
              at org.eclipse.equinox.http.servlet.internal.servlet.RequestDispatcherAdaptor.include(RequestDispatcherAdaptor.java:48)
              at com.liferay.portal.servlet.DirectServletPathRegisterDispatcher.include(DirectServletPathRegisterDispatcher.java:67)
              at com.liferay.portal.servlet.DirectRequestDispatcherFactoryImpl$IndirectRequestDispatcher.include(DirectRequestDispatcherFactoryImpl.java:179)

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              kyle.miho Kyle Miho
              Reporter:
              brian.chiu Brian Chiu (Inactive)
              Participants of an Issue:
              Recent user:
              Kyle Miho
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:
                Days since last comment:
                2 years, 41 weeks, 6 days ago

                  Packages

                  Version Package
                  Master