Skip to content

Repository files navigation

DDEV Development Environment for Apache Solr for TYPO3

DDEV-based development setup for contributing to EXT:solr and related Apache Solr extensions for TYPO3 CMS.

Prerequisites

Estimated setup time if prerequisites are missing: ~30 min.

Quick Start

ddev start

Estimated first-time startup: ~5 min (image build + composer install).

Once started, run ddev describe to see the project URLs:

  • TYPO3 Frontend: the listed https://<project-name>.ddev.site URL
  • TYPO3 Backend: https://<project-name>.ddev.site/typo3/

The DDEV project name differs per branch (e.g. solr-ddev-site on main, solr-13.1 on release-13.1.x). ddev describe is the source of truth for the actual URLs.

Backend credentials: admin / Password1!

To reset to a clean database state:

ddev solr:clean:ddev-site

Running Tests

All test suites used by EXT:solr* GitHub Actions can be run locally inside the DDEV web container via ddev composer tests:solr:<type>.

Note: If using ddev ssh, make sure you are in /var/www/html before running composer tests:* commands.

# Coding standards
ddev composer t3:standards:fix -- packages/ext-solr

# Static analysis
ddev composer tests:solr:phpstan

# Unit tests
ddev composer tests:solr:unit

# Integration tests
ddev composer tests:solr:integration

# Pass PHPUnit arguments with --
ddev composer tests:solr:integration -- --filter=IndexerTest
Tests for other EXT:solr* extensions (tika, solrfal, solrconsole)
# Coding standards for EXT:solr add-on
ddev composer t3:standards:fix -- packages/ext-<add-on>

# EXT:tika
ddev composer tests:tika:phpstan
ddev composer tests:tika:unit
ddev composer tests:tika:integration

# EXT:solrfal
ddev composer tests:solrfal:phpstan
ddev composer tests:solrfal:unit
ddev composer tests:solrfal:integration

# EXT:solrconsole
ddev composer tests:solrconsole:phpstan
ddev composer tests:solrconsole:unit
ddev composer tests:solrconsole:integration

See DDEV Commands Reference for additional ddev solr:tests:* shorthand commands.

Contributing to EXT:solr

ddev start automatically clones the packages/ext-solr (and related) repositories. However, as a contributor you are responsible for:

  • Forking https://github.com/TYPO3-Solr/ext-solr on GitHub
  • Adding your fork as remote inside packages/ext-solr/:
    cd packages/ext-solr && git remote add origin git@github.com:<your-username>/ext-solr.git
    cd ../../
    ddev clone already sets https://github.com/TYPO3-Solr/ext-solr as upstream automatically.
  • Switching to the correct branch before starting work
  • Pushing your changes to your fork (origin) and opening a pull request against upstream

Each packages/ext-* directory is an independent Git repository — commits, remotes, and branches are managed separately from this solr-ddev-site repo.

Please note: EXT:solr* git repositories use a linear history, so please do not use git merge commands but always git rebase to integrate upstream changes into your branch.

Backports & parallel release branches

Always start your work on the main branch — maintainers will backport merged PRs to active release branches by default.

If a maintainer asks you to do the backport yourself, check out solr-ddev-site on the matching release branch (e.g. release-13.1.x) into a separate directory as an independent DDEV project. Each release branch already ships with its own unique name: in .ddev/config.yaml (e.g. solr-13.1), so the projects run side-by-side without conflict. Example layout used by maintainers:

~/PhpstormProjects/solr-ddev-site.main    # name: solr-ddev-site  (from main branch)
~/PhpstormProjects/solr-ddev-site.13.1    # name: solr-13.1       (from release-13.1.x branch)
~/PhpstormProjects/solr-ddev-site.12.1    # name: solr-12.1       (from release-12.1.x branch)

This allows testing ported features across multiple EXT:solr major releases simultaneously.

Keep solr-ddev-site up to date

This environment evolves alongside EXT:solr. Pull upstream changes regularly to get the latest DDEV configuration, test helpers, and dependency updates:

git pull --rebase upstream main
cd packages/ext-solr && git pull --rebase upstream main
cd ../../
ddev start

Getting Help

Further Documentation

About

Docker based development environment for TYPO3 and solr based on ddev

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages