Add your comments directly to the page. Include links to any relevant research, data, or feedback.
Background
We want to move to supporting Composer-base install and upgrades natively in Mautic. To do that we have identified several challenges:
Composer would wipe out everything each time, so we need to change the structure to prevent that happening otherwise custom plugins and themes would be lost,
Local.php will need to be moved to the database as some file systems are not writeable, and many using Composer will expect this - at present there are all kinds of hacky things going on to work around it like creating an empty file,
Plugin and theme discovery is difficult - it should be possible to look for the folders rather than pre-specify the locations so that they can be moved to suit the environment,
We are essentially moving from being a Symfony project to being a library - this needs to be taken into consideration
We need to brainstorm the folder structure that we need, and come to an agreement of what it would be:
Would have to be released in 4.0, we expect, but we can work on it now and get those decisions made
We need to think about shared hosting and make it configurable so Mautic can still work without the folders being a level above - this should be the default with an option during the install process to move it
Relevant data
From the previous meeting Nick Veenhof (Deactivated) had suggested something similar to what happens in Drupal:
docroot/index.php
Docroot/plugins
Docroot/themes
Docroot/core < - Core Mautic application
Docroot/core/plugins < - Core plugins
Docroot/core/themes < - Core themes (could also have a contrib and custom folder)
Docroot/plugins/contrib < - Downloaded by composer
Docroot/plugins/custom < - Self written code for this instance
Docroot/config/ < - Configuration (user created)
Questions / discussion points
Multiple Mautic instances - would that be a problem?
Options considered
Option 1: | Option 2: | |
---|---|---|
Description | ||
Pros and cons | ||
Estimated cost | LARGE | MEDIUM |