-
Introduction
- Understanding Matomo
-
Matomo Core development
- Contributing to Matomo Core
- Contributing to Matomo Plugins
- Coding Standards
- Using GitHub Issues
- Pull Requests and Reviews
- The Core Team Workflow
- Maintaining Plugins
- Maintaining Translations
- Matomo APIs
- Debugging Core
- Profiling Code
- Reproducing Issues
- FAQs
- Core Components
- Composer dependencies
- Release Management
- Using GitHub Actions
- Matomo's Roadmap
- Matomo Plugin development
- Web Interface
- Utils
- Reporting API
- Data Model
- Tests
- Tools
-
Plugin Development
This documentation is for an outdated Matomo version.
Click here if you want to read this article for the latest version.
Click here if you want to read this article for the latest version.
Core Components
As part of Matomo we maintain a few components which we embed into core using composer packages. See the list of components on GitHub.
Updating a component
Step 1: releasing a new version
- Create a pull request as usual and get it merged
- Then go to
Releasesin GitHub for the repository - Click on
Draft a new release - Enter the version number and release title. We usually enter for both the same value. The new version number should be higher than before and use Semantic Versioning.
- Click on
Publish release. - The newly published version should then populate on Packagist.
Step 1B: Special step only needed for doctrine cache fork matomo-org/cache
- You need to increase the required version number in component-cache/composer.json see example PR.
- Basically you require the newly released version number and then run
composer update matomo/doctrine-cache-fork. - Push
composer.jsonandcomposer.lock. - Create a PR and get it merged.
- Release a new version for the component cache which is same as step 1.
Step 2: Updating the component in Matomo core
- Update the version number for the updated component in matomo/composer.json if needed
- Execute
composer update matomo/$COMPONENT_NAME. You need to replace$COMPONENT_NAMEwith the name of the component. For the cache component you may need to executecomposer update matomo/cache matomo/doctrine-cache-fork. - Push
composer.jsonandcomposer.lock. - Create a PR and get it merged.