Objective

To allow Mautic to be managed by Composer

Due date

 

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

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.

    "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

Position vacant

Nick Veenhof John Linhart Dennis Ameling

Product Team (Ruth Cheesley Dennis Ameling Norman Pracht)

Milestones and deadlines

Plot out milestones and deadlines using the table below. Put each milestone on its own row, @mention milestone owners, and type /date to quickly add deadlines.

Milestone

Owner

Deadline

Status

Decide on folder structure to be used

Nick Veenhof

Implement proposed structure in a PR for 4.0

Composer Initiative (Ruth Cheesley Dennis Ameling Nick Veenhof)

Reference materials

Add links to relevant research and any other key documents


Meeting notes and decision docs