Contributing to the forks
This page is for developers who found a bug or wrote an improvement while working on a DXP project. The project grows through contributions; the se7enxweb repositories accept pull requests.
Contents
- Where a change belongs
- Reporting a bug
- A pull request, step by step
- Testing a fork change in your project
- Security reports
- Places to talk
Where a change belongs
| The problem is in | Repository |
|---|---|
| The install guide, the project template | se7enxweb/exponential-platform-dxp-skeleton |
| Which packages the DXP installs | se7enxweb/exponential-platform-dxp |
| The content kernel and its commands | se7enxweb/exponential-platform-dxp-core |
| The administration interface | se7enxweb/admin-ui (assets: se7enxweb/admin-ui-assets) |
| Rich text | se7enxweb/fieldtype-richtext |
An upstream ibexa/* package the DXP requires unchanged | the upstream project; if it is a blocker for the DXP, open an issue on the metapackage too |
composer show -s and composer why <package> tell you which package a class comes from.
Reporting a bug
Use the issue tracker of the repository. Include the PHP version, composer show "se7enxweb/*", the exact error from
var/log/, and steps to reproduce on a fresh skeleton install (SQLite makes that quick,
SQLite for development). Writing good issues
applies here as well.
Check first that the behavior is not deliberate. Some reported bugs are negative features: behavior that is on purpose or open to interpretation, which other projects depend on. Changing one needs a clear justification, works best as an option rather than a new default, and may take several rounds of review before it is merged.
A pull request, step by step
The skeleton's README describes the path:
- Fork the repository on GitHub.
- Clone your fork and create a branch:
git checkout -b feature/my-improvement. - Install the full development stack (
APP_ENV=dev). - Make the change, following the repository's coding standards.
- Test with
php bin/phpunitand check for regressions. - Push the branch and open a pull request against the default branch (
masterfor the skeleton). - Answer the review.
Write the commit message as the project does: what changed and why, with a prefix such as Added: or Updated:
(Commit messages).
Testing a fork change in your project
Point Composer at your clone with a path repository, in a branch of your project, never in production:
{
"repositories": [
{ "type": "path", "url": "../admin-ui", "options": { "symlink": true } }
]
}composer require "se7enxweb/admin-ui:dev-my-branch as 5.0.5.99"Remove the repository entry again before you merge your project's branch.
Security reports
Do not open a public issue for a vulnerability. The skeleton's README gives a security mail address for responsible reports; use it, and give the maintainers time to publish a fix.
Places to talk
The skeleton's README lists the community places: GitHub Discussions on the metapackage's repository, the forums at share.exponential.earth, and the chat channels. See also Who is the Exponential Foundation?, Community places.
Related pages
- Contributing back with pull requests
- The se7enxweb forks and
replace - Develop with Git
- Free documentation: this page is free to copy, translate and improve under the GNU FDL 1.3.
Become an Exponential Partner
Partners share their information, provide funding, contribute back and develop the products with us, and that is how Exponential grows. A partner website and dashboard are planned for mid-2027: please become a partner today to speed up our growth rate and land new features faster.