search_core/Documentation/development/contribution.rst

2 KiB

Contribution

Everyone is welcome to contribute, whether it's code, issues, feature requests or any other kind.

Below is a documentation what to respect during contributions.

Setup

To start contributions regarding code, make sure your environment matches the following requirements:

  • composer is executable
  • PHP on CLI is executable
  • MySQL is up and running with user dev and password dev on 127.0.0.1 or to overwrite the environment variables, see Makefile. And MySQL is not set to strict mode as TYPO3 doesn't support strict mode, see https://review.typo3.org/#/c/26725/3/INSTALL.md.
  • Elasticsearch is installed and up and running on localhost:9200.

Then setup your system:

git clone git@github.com:codappix/search_core.git \
    && cd search_core \
    && export typo3DatabaseName="searchcoretest87" \
    && export TYPO3_VERSION="~8.7" \
    && make install \
    && make unitTests \
    && make functionalTests

If all tests are okay, start your work.

If you are working with multiple TYPO3 versions make sure to export typo3DatabaseName and TYPO3_VERSION in your environment like:

export typo3DatabaseName="searchcoretest76"
export TYPO3_VERSION="~7.6"

Also run the install command for each version before running any tests. Only this will make sure you are testing against the actual TYPO3 Version and database scheme.

Development

All changes are introduced through pull requests at Github and should contain the following:

  • Adjusted tests if tests existed before. Otherwise they will break on travis-ci.
  • New tests whenever possible and useful.
  • Code has to follow PSR-2.
  • Adjusted documentation.
  • Make sure to follow the documented concepts.