Contributing to Liferay Development
You can contribute to Liferay DXP by opening a pull request against the liferay-portal repository on GitHub. This section covers the two common contribution paths — fixing a bug and proposing a new feature. Before working through either path, build Liferay DXP from source and learn the codebase layout:
-
Building Liferay DXP from Source — clone
liferay-portal, install the build prerequisites, and produce a working bundle. -
Organizing the Source — a tour of the
liferay-portalrepository layout so you can find the code you want to change.
Fix a Bug
-
Reproduce the bug against the tip of the
masterbranch ofliferay/liferay-portal. The bug may already be fixed in a development build. -
Use Organizing the Source to locate the relevant code. Liferay DXP is large, but the codebase follows consistent patterns.
-
Fix the bug, rebuild, and restart Liferay DXP to verify. Keep changes minimal — don’t touch more code than necessary.
-
File a bug report at issues.liferay.com (or find the existing ticket) and click Contribute Solution to accept the Contributor License Agreement. See Filing a Jira Ticket for details.
-
Commit your changes referencing the Jira ticket key (for example,
LPS-XXXXX) and open a pull request against themasterbranch ofliferay/liferay-portal. Pull requests targeting other branches are not accepted unless a maintainer asks you to backport. See Submitting a Pull Request on GitHub for the full workflow. -
Add a link to your pull request in the Jira ticket.
Contribute a New Feature
If you’ve never developed for Liferay DXP, work through a bug fix first to learn the contribution process.
Most new functionality in Liferay DXP ships as a module published through Liferay Marketplace. If a feature can ship as a Marketplace plugin, build it as one — Marketplace plugins are easier to accept than core contributions.
For features that can’t ship as a Marketplace plugin, contribute through the core repository.
-
Start a discussion in the Product Ideas category of the Liferay Discussion Forums to gauge interest and find collaborators before investing significant implementation effort.
-
File a feature request at issues.liferay.com and click Contribute Solution to accept the Contributor License Agreement. See Filing a Jira Ticket for details.
-
Build Liferay DXP from source (see Building Liferay DXP from Source) and use Organizing the Source to find where the feature belongs.
-
Implement the feature with associated tests and verify it behaves as intended.
-
Commit your changes referencing the Jira ticket key and open a pull request against the
masterbranch ofliferay/liferay-portal. See Submitting a Pull Request on GitHub for the full workflow. -
Add a link to your pull request in the Jira ticket.