Composer Support

Objective

To allow Mautic to be managed by Composer

Due date

May 16, 2021 

Key outcomes

  • Users are able to install Mautic Core using Composer

  • Users are able to update Mautic Core using Composer

  • Users are able to apply patches to Mautic Core using Composer

  • Users are able to install and update third party plugins using Composer

Status

NOT STARTED

Get involved

Problem Statement

Forum thread here: https://forum.mautic.org/t/as-a-developer-i-want-to-be-able-to-apply-patches-and-upgrade-mautic-core-within-the-existing-composer-json/13750

Right now it is not possible to run composer update and update Mautic. For example, in Drupal the command is the following:

composer update drupal/core --with-dependencies

Within the current Mautic composer.json it is not possible to upgrade Mautic.

As a result, it is also not possible to apply patches like this in the composer.json.

1 2 3 4 5 6 7 "extra": { "patches": { "mautic/core": { "#8352 Allow custom fields in search for companies": "https://github.com/mautic/mautic/pull/8352.patch" } } }

Not having this makes it very difficult to maintain patches in production.

Increasingly, hosting setups don’t allow modification of PHP files from within the application and instead use a GitOps approach and only allow changes to be made via Git. Therefore, Composer support is becoming a requirement in order for people to be able to deploy and maintain Mautic in these environments.

This project aims to establish mautic/core as a new composer package using the type mautic-core, similar as to how Drupal is structured, and to enable the management of Mautic and third party plugins via Composer.

Scope

Must have:

Nice to have:

Not in scope:

Initiative Coordinator/s

Contributors

Stakeholder/s

Initiative Coordinator/s

Contributors

Stakeholder/s

Position vacant

@Nick Veenhof @John Linhart @Dennis Ameling

Product Team (@Ruth Cheesley @Dennis Ameling @Norman Pracht)

Milestones and deadlines

Milestone

Owner

Deadline

Status

Milestone

Owner

Deadline

Status

Decide on folder structure to be used

@Nick Veenhof

Feb 10, 2021

IN PROGRESS

Implement proposed structure in a PR for 4.0

Composer Initiative (@Ruth Cheesley @Dennis Ameling @Nick Veenhof)

Mar 31, 2021

NOT STARTED

Reference materials


Meeting notes and decision docs