Mautic Marketplace
Objective | To provide a Mautic Marketplace within the application which allows the easy installation and maintenance of third-party plugins for Mautic |
Due date | May 16, 2021 |
Key outcomes |
|
Status | IN PROGRESS |
Get involved
Join the Slack channel #i-mautic-marketplace (get an invite at https://mautic.org/slack)
Problem Statement
It is difficult to manage plugins and dependencies within Mautic
Currently there is no easy way to manage plugins within Mautic, or their dependencies. This makes it quite difficult for the end-user to install new plugins, and is also restricting the growth of our ecosystem as the process is so complex.Changes to plugins are coupled to Mautic releases
We are restricted in making changes or updates to plugins which are shipped with Mautic because they have to fit within the release cycle of Mautic itself. An issue might only affect a very small subset of Mautic users who actually use that plugin, but we have to ship the fix to every user of Mautic rather than every user of the plugin.Mautic Core is bloated by plugins that are not widely used
Mautic itself is quite bloated and complex due to the number of plugins that we ship with the core product, whereas if we had the architecture to support a decoupled approach to plugins we could streamline the product significantly. This would also mean that we could easily empower smaller teams (e.g. Tiger Teams) to support specific plugins and make updates much more quickly.
Resources
Read more in John Linhart’s proposal about the Mautic Marketplace here.
WIP PR: https://github.com/mautic/mautic/pull/8257
v1 ‘read only’ PR: https://github.com/mautic/mautic/pull/9650
Forum thread: https://forum.mautic.org/t/mautic-marketplace/12108
Scope
Must have:
List all packagist packages for Mautic (web and command line?)
Allow the install of packages
Allow the removal of packages
Allow the searching of packages
Checks for malicious code/activity and maybe bad practices?
Core plugins broken out into individual repositories and included as plugins
Nice to have:
Allow/deny list of packages
A way to raise the profile of sponsors (financial)
A way to raise the profile of contributors
Some kind of validation / certified status
Report this plugin feature (sends an issue to a private Github repo maybe for the team to review)
Not in scope:
Proposed phases
Move all existing core plugins to independent repositories
Provide alpha with browsing capabilities - we need some UI/UX experts to review and give advice here! Could be released now.
Once the Composer work is done and Composer 2 support is in place, release a beta for people to review & test
Will ship as stable with Mautic 4.0 due to BC breaks & requirement for Composer 2 support (at this point we may remove certain plugins from shipping with core and make them optional installs)
Blockers
Mautic needs to be installable as a project using Composer
This will not work with Shared Hosting - may need to get some community input on this, maybe from Mautic 4.0 onwards saying we do not support Mautic being used on shared hosting?
Cannot move to Composer 2 until we get to Mautic 4 (due to dependency blocking which would be a BC break) and Composer 1 is too slow for plugins to be managed via the UI
Composer plugin may need to be reviewed to make sure it will support Composer 2
Initiative Coordinator/s | Contributors | Stakeholder/s |
---|---|---|
Position vacant | @Jan Linhart | Product Team (@Ruth Cheesley @Dennis Ameling @Norman Pracht (Unlicensed)) |
Timeline
Milestones and deadlines
Milestone | Owner | Deadline | Status |
---|---|---|---|
|
| NOT STARTED | |
|
|
|
|
|
|
|
|