Composer Support

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.

"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 (Deactivated) @Jan Linhart @Dennis Ameling

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

Milestones and deadlines

Milestone

Owner

Deadline

Status

Milestone

Owner

Deadline

Status

Decide on folder structure to be used

@Nick Veenhof (Deactivated)

Feb 10, 2021

IN PROGRESS

Implement proposed structure in a PR for 4.0

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

Mar 31, 2021

NOT STARTED

Reference materials


Meeting notes and decision docs

Branch and tag naming strategies for maintaining the project

Driver

Approver

Contributors

2021-04-30 Meeting notes

Date

Participants

Github organisation governance

This is a WIP!

Status

IN PROGRESS

How to manage/maintain multiple decoupled repositories

Status

IN PROGRESS

2021-03-31 Meeting notes

Date

Participants

2021-03-03 Meeting notes Composer Support Initiative

Date

Participants

Folder structure that will be used to support Composer natively

Add your comments directly to the page. Include links to any relevant research, data, or feedback.

Status

IN PROGRESS

2020-12-17 Meeting notes Composer Support Initiative

Date

Participants