Legacy Knowledge Base
Published Jun. 30, 2025

Avoid update Journal Articles when Editing Structures in Liferay

Written By

Daniel Martinez Cisneros

How To articles are not official guidelines or officially supporteddocumentation. They are community-contributed content and may not alwaysreflect the latest updates to Liferay DXP. We welcome your feedback toimprove How to articles!

While we make every effort to ensure this Knowledge Base is accurate, itmay not always reflect the most recent updates or official guidelines.We appreciate your understanding and encourage you to reach out with anyfeedback or concerns.

Legacy Article

You are viewing an article from our legacy "FastTrack"publication program, made available for informational purposes. Articlesin this program were published without a requirement for independentediting or verification and are provided "as is" withoutguarantee.

Before using any information from this article, independently verify itssuitability for your situation and project.

Issue

Managing structures with a significant amount of associated content in Liferay can be resource-intensive. This article explores a potential workaround to mitigate the performance impact and provides guidance on evaluating its suitability for your project.

Environment

  • Quarterly Releases

Details

When editing a structure in Liferay, the system processes and updates all the associated DDMFields for the content items linked to that structure. This behavior is handled by the DDMStructureModelListener component. While this ensures consistency across all content items, it can lead to significant performance degradation in projects with a large volume of content or complex structures.

Workaround

  • To reduce the resource impact, you can temporarily disable the DDMStructureModelListener using the following command in the Gogo Shell:

    • scr:disable com.liferay.journal.internal.model.listener.DDMStructureModelListener
  • Impact of Disabling the Listener
    • No Structural Impact: If your changes do not affect the existing structure of the content (e.g., modifying literals, adding new fields, or adding options to an option), disabling the listener minimizes the performance overhead while ensuring new changes are still applied.
    • Structural Impact: If the changes involve altering the structure itself (e.g., changing field order, modifying existing fields, or deleting fields), disabling the listener is not recommended, as this could lead to inconsistencies in your content.
  • Testing the Workaround:
    1. Evaluate Changes in a Non-Production Environment: Before applying this workaround, test it in a pre-production environment to ensure it aligns with your project’s requirements and existing web content are not being impacted checking them and trying to edit any.

    2. Re-enable the Listener After Testing: Once you’ve made the necessary edits and ensured their validity, re-enable the listener with the following command to restore the default behavior:

      scr:enable com.liferay.journal.internal.model.listener.DDMStructureModelListener

Important

If you decide to explore this workaround, ensure that the changes you make have minimal structural impact. For changes with significant structural implications, disabling the listener is not advisable. 

 

Did this article resolve your issue ?

Legacy Knowledge Base