Details

    Description

      As stated in The State of Frontend Infrastructure:

      Liferay has invested several years into Soy believing it was the holy grail. We believed the ability to compile closure templates would provide us the performance of JSP with the reusable components of other JavaScript frameworks. While it came close to achieving some of those goals, we never hit the performance we wanted and more importantly, it always felt like we were the only people using this technology.

      As a result, Soy support was already deprecated in 7.3.

      The goal of this epic is to remove soy support from DXP to clarify our stance and focus on our future infrastructure.

      Acceptance Criteria

      • Soy Portlets are no longer available
      • Rendering Soy templates server-side is no longer possible
      • All remaining server-side rendered soy modules or files are deleted

      Additional Considerations
      Soy can be rendered in 2 different ways:

      • Server Side: From Java during request handling to output HTML
      • Client Side: From JS during runtime as part of some component update.

      Removing support focuses mostly the fist variant, Server Side. Extraneous soy files could remain as long as they're only rendered in JS during runtime.

      Teams still relying on Soy should've removed it by the time this epic is started. Most impacted teams are:

      • Commerce: Mostly runtime components
      • DDM: Forms
      • Lima: Image Editor

      Test Information

      Test Scenarios:

      Requirement Test Case Covered by frontend/backend unit test? (Yes/No) Test Priority (business impact)
      LPS-122954 Given a terminal at portal root
      When run `find . | grep 'portal-template-soy-api|portal-template-soy-context-contributor|portal-template-soy-impl|portal-template-soy-renderer-api|portal-template-soy-renderer-impl'`
      Then no lines are returned
      no 3-medium
      LPS-122955 Given a terminal at portal root
      When run `find . | grep 'portal-portlet-brige-soy-api|portal-portlet-bridge-soy-impl'`
      Then no lines are returned
      no 3-medium

      Other Validation checks:

      Requirement Test Case Covered by frontend/backend unit test? (Yes/No) Test Priority (business impact)
      LPS-122954 Given PR
      When run ci:test:relevant
      Then all tests pass or resolved as unrelated
      no 5-critical
      LPS-122954 Given PR
      When run ci:test:lima
      Then all tests pass or resolved as unrelated
      no 4-major
      LPS-122954 Given PR
      When run ci:test:forms
      Then all tests pass or resolved as unrelated
      no 4-major
      LPS-122954 Given PR
      When run ci:test:commerce
      Then all tests pass or resolved as unrelated
      no 4-major

      Exploratory testing to consider:

      Requirement Test Scenarios Covered by frontend/backend Unit Test? Test Priority (business impact)
      LPS-122955 Exploratory: Review Breaking Changes document for SoyPortlet deprecation note no 2-low
      LPS-122956 Exploratory: Review Breaking Changes document for soy templates deprecation note no 2-low

      Attachments

        Issue Links

          Activity

            People

              support-lep@liferay.com SE Support
              jose.balsas Chema Balsas (Inactive)
              Wesley Gong Wesley Gong
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Packages

                  Version Package