Liferay defines a customization as any item used or deployed in a Liferay stack with a code base distinct from Liferay Digital Experience Platform, Liferay Portal EE, or Liferay Commerce ("the product") or not modified in accordance with the documentation at the time a product is shipped or otherwise updated by Liferay. This includes but is not limited to layouts, themes, portlets, modules, fragments, hooks, integrations, webs, exts and other code modifications even if the item in question was created using Liferay product APIs.
Subscription Services is not required to assist with the design, development, testing, deployment, guidance or implementation of any customizations. If an issue occurs while utilizing the product and customizations are involved, then the reported issue will enter the Diagnostic Workflow. Issues which remain in the investigating status workflow will be resolved on a case-by-case basis. If a customization is determined to be the root cause of an issue, then the resolution of that issue is the responsibility of the customer.
In order to properly identify the root cause of reported issues and resolve product defects, it is necessary to reproduce issues in an uncustomized environment. An uncustomized environment should not include customizations such as those listed above, but can include the instance-specific configurations such as portal properties, patching information or GUI settings necessary to reproduce a reported issue. For more information please see the Issue Reproduction and Diagnostic Workflow policies.
Some issues may only be reproducible with the use of a specific third-party product. In these cases the use of the third-party product will still be considered an uncustomized environment as long as the investigating status workflow has determined that the third-party product is necessary to reproduce the reported issue. If a root cause analysis indicates that the issue is caused by a third-party product defect or configuration rather than a defect with the product, then that issue is the responsibility of the third-party vendor to resolve. For more information, please see the Third-Party Technology Defects, Optimizations and Configurations coverage article.
Liferay API Issues
If an issue in the product code inhibits your development, then our support engineers will provide assistance in order to verify any Liferay product defect. When reporting the issue, please provide clear information on the specific API. This includes its expected and actual results, and a simple application or script that demonstrates the issue (if available).
Liferay seeks to resolve issues according to the intended functionality of the product. You may need to change any custom development that leverages unintended functionality.
If intended functionality is reported as an API issue, Subscription Services will explain the functionality using the existing code of the product, offer supporting documentation or a simple example. With API issues the intended functionality is not only defined in the official Admin Guide but in the javadocs and the JSON webservice listings. Please see the Liferay API Documentation knowledge base article for more information.
The Code Development and Architectural Assistance policies also guide the resolution of reported Liferay API issues.
Contact your Account Executive or Customer Experience Manager to discuss options for getting assistance with your custom development.
Issue Resolution and Custom Development
Product defect resolutions such as patching will change the product code. If, by changing this code, custom development is adversely affected, then it is the responsibility of the customer to resolve the issue by adjusting the custom code. Subscription Services will assist in providing documentation concerning the product code changed as a result of installing a specific patch.