Details
-
Epic
-
Status: Closed
-
Major
-
Resolution: Completed
-
None
-
None
-
To Do
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) |
---|---|---|---|
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 | |
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) |
---|---|---|---|
Given PR When run ci:test:relevant Then all tests pass or resolved as unrelated |
no | 5-critical | |
Given PR When run ci:test:lima Then all tests pass or resolved as unrelated |
no | 4-major | |
Given PR When run ci:test:forms Then all tests pass or resolved as unrelated |
no | 4-major | |
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) |
---|---|---|---|
Exploratory: Review Breaking Changes document for SoyPortlet deprecation note | no | 2-low | |
Exploratory: Review Breaking Changes document for soy templates deprecation note | no | 2-low |
Attachments
Issue Links
- causes
-
LPS-125066 <clay:management-toolbar-v2> is not rendering the component
- Closed
- links to