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

Publishing to live/Importing a LAR may fail after upgrading to 6.1

    Details

      Description

      1. Startup 6.0
      2. Turn on staging for a community
      2. Add a web content structure with one text field and template
      3. Add a web content using that structure
      -Enter "Test" for the title
      -Make the text field localizable and put anything
      4. Add another web content with the structure
      -Enter "Test" for the title
      -Make the text field localizable and put anything
      -Save
      -Add a Chinese translation of the article and make the default language Chinese
      5. Publish the community to live

      The order and same title is important, the key is to have the first article have these locales:
      <root available-locales="en_US" default-locale="en_US">
      and second article:
      <root available-locales="zh_CN,en_US" default-locale="zh_CN">

      6. Upgrade to 6.1
      7. Try publishing to live (select data range to "All")
      8. You get a portlet unavailable error and exception:

      Caused by: com.liferay.portlet.journal.ArticleTitleException
      at com.liferay.portlet.journal.service.impl.JournalArticleLocalServiceImpl.validate(JournalArticleLocalServiceImpl.java:3459)
      at com.liferay.portlet.journal.service.impl.JournalArticleLocalServiceImpl.updateArticle(JournalArticleLocalServiceImpl.java:2011)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
      at java.lang.reflect.Method.invoke(Unknown Source)
      at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:122)
      at com.liferay.portal.spring.transaction.TransactionInterceptor.invoke(TransactionInterceptor.java:71)
      at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:118)
      at com.liferay.portal.spring.aop.ServiceBeanAopProxy.invoke(ServiceBeanAopProxy.java:211)
      at $Proxy205.updateArticle(Unknown Source)
      at com.liferay.portlet.journal.service.JournalArticleLocalServiceUtil.updateArticle(JournalArticleLocalServiceUtil.java:1001)
      at com.liferay.portlet.journal.lar.JournalPortletDataHandlerImpl.importArticle(JournalPortletDataHandlerImpl.java:715)
      at com.liferay.portlet.journal.lar.JournalPortletDataHandlerImpl.doImportData(JournalPortletDataHandlerImpl.java:2405)
      at com.liferay.portal.kernel.lar.BasePortletDataHandler.importData(BasePortletDataHandler.java:78)
      at com.liferay.portal.lar.PortletImporter.importPortletData(PortletImporter.java:1056)
      at com.liferay.portal.lar.PortletImporter.importPortletData(PortletImporter.java:996)
      at com.liferay.portal.lar.LayoutImporter.doImportLayouts(LayoutImporter.java:728)
      at com.liferay.portal.lar.LayoutImporter.importLayouts(LayoutImporter.java:147)
      at com.liferay.portal.service.impl.LayoutLocalServiceImpl.importLayouts(LayoutLocalServiceImpl.java:1382)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
      at java.lang.reflect.Method.invoke(Unknown Source)
      at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:122)
      at com.liferay.portal.service.impl.LayoutLocalServiceVirtualLayoutsAdvice.invoke(LayoutLocalServiceVirtualLayoutsAdvice.java:197)
      at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:118)
      at com.liferay.portal.service.impl.LayoutLocalServiceStagingAdvice.invoke(LayoutLocalServiceStagingAdvice.java:107)
      at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:118)
      at com.liferay.portal.spring.transaction.TransactionInterceptor.invoke(TransactionInterceptor.java:71)
      at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:118)
      at com.liferay.portal.spring.aop.ServiceBeanAopProxy.invoke(ServiceBeanAopProxy.java:211)
      at $Proxy27.importLayouts(Unknown Source)
      at com.liferay.portal.service.LayoutLocalServiceUtil.importLayouts(LayoutLocalServiceUtil.java:1037)
      at com.liferay.portal.staging.StagingImpl.publishLayouts(StagingImpl.java:990)
      at com.liferay.portal.staging.StagingImpl.publishLayouts(StagingImpl.java:1066)
      at com.liferay.portal.staging.StagingImpl.publishLayouts(StagingImpl.java:1825)
      at com.liferay.portal.staging.StagingImpl.publishToLive(StagingImpl.java:1086)

      Also another bug is:
      9. Edit the 2nd article
      10. Click the chinese translation
      11. Click remove translation
      12. Go back to web content page, the title is empty and in the database it's <root />

        Attachments

          Issue Links

            Activity

              People

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

                Dates

                • Created:
                  Updated:
                  Resolved:
                  Days since last comment:
                  6 years, 23 weeks, 6 days ago

                  Packages

                  Version Package
                  6.1.30 EE GA3
                  6.2.0 CE M3