Nick Veenhof |
https://drive.google.com/file/d/1leLp74ZfN_Cl3do3-qnIPxCJdmucc6W1/view But I would love to discuss this in more detail as the change required for this is quite substantial and probably needs to be pushed to 4.x or 3.2/3.3 |
john |
This is the point where I hit the wall with the Mautic Marketplace. The dir structure is not suited well for composer builds and it needs a lot of hacks to do so today. But moving directories around would be a BC break.Having Mautic installable via Composer would make the marketplace much simpler. |
Nick Veenhof |
Yes |
Nick Veenhof |
So if we can decide we do this for Mautic 4.0 this would be great. Any other suggestions how to handle this change is welcome. The actual patch is most likely trivial though |
Nick Veenhof |
well, not that trivial if we want to support multiple folders for plugins, but still it won’t be that massive |
john |
I would prefer to get rid of all core plugins for M4 and make them “easily” installable with Marketplace/Composer. (edited) |
Nick Veenhof |
As in, make them part of the default mautic project within composer next to mautic core? |
Nick Veenhof |
That’s not quite how Drupal handles this, but sure - we could go this way |
Nick Veenhof |
the question then usually arises, what is part of Mautic core and how far do your integration tests go to make sure it all works |
Nick Veenhof |
and where does that line stop |
Ruth Cheesley (she/her) |
Definitely a topic we need to come to a consensus on but I agree @john it would be good to slim down Mautic’s core, and make it super easy for people to then selectively bring in the things that they need, rather than dump them with everything just in case. But it relies on both the underlying tooling and the marketplace to make that happen |
Nick Veenhof |
@Ruth Cheesley (she/her) yes, however - you do need to decide which of those plugins are critical for the end-user-experience of Mautic and which are not. This heavily impacts the decision what to keep in the core product, even as a plugin, and what not. |
Ruth Cheesley (she/her) |
Yes, indeed I see your point |
Ruth Cheesley (she/her) |
I think that focus items is maybe the only plugin I see in the UI that is required for Mautic to function, if you want to use focus items. |
Ruth Cheesley (she/her) |
But getting back to the original topic - I do think that from an infrastructure perspective it would make sense if we we were able to support a composer-based installation process. It would by the sounds of it be a BC break so it would have to be Mautic 4 at the earliest (May 2021) which could give us a decent amount of time to also work up the Marketplace proposition in parallel / depending on that feature |
Nick Veenhof |
@Ruth Cheesley (she/her) you most likely could speak to Dries as well or internally in Acquia about the auto update initiative based on https://www.drupal.org/docs/8/update/automatic-updates & libsodium. How this then works with Composer -> No idea |
Nick Veenhof |
but basically auto updating Mautic will be heavily impacted by this |
Nick Veenhof |
either it’s composer flow, or you go the way mautic has today |
Nick Veenhof |
they are not compatible with eachother and cause major data issues if used in combination |
Nick Veenhof |
[#3104116] brings you deeped in the rabbit hole |
Nick Veenhof |
deeper* |
Nick Veenhof |
So to keep things simple it somehow needs to be clear how one can update Mautic. In my experience nearly all Drupal installations for serious installs go through composer, but the reason not to exclusively go with this is the initial install experience. |
Ruth Cheesley (she/her) |
The main audience for Drupal is (afaik) developers. That’s not the case with Mautic. Most of our installers will be marketers. So I’m not sure it’s the same kind of user we are thinking of in terms of competence at command line, using Composer etc |
Ruth Cheesley (she/her) |
However I do see the value that, if you use Composer in the rest of your stack, it’s super helpful to be able to use it here too. |
Nick Veenhof |
@Ruth Cheesley (she/her) That doesn’t mean Marketeers need to have buy in from their developers in order to get it up and running or buy it from a technical party that wants to get control of the update path (hint, Acquia or Dropsolid)
|
john |
We can use composer with attached UI to it. That’s what I wanted to do with the Marketplace. Composer is a PHP library and so it can be Mautic’s dependency. Composer 2 should be fast enough for HTTP requests. |
Ruth Cheesley (she/her) |
Yes absolutely, but I am just making sure that we do remember, we are not the user in the majority of cases. |
Ruth Cheesley (she/her) |
UI on top would be a great option |
Nick Veenhof |
@john true, that is also what the Drupal community is doing now, and using encryption libraries to allow safe and verified updates |
Nick Veenhof |
so that in the UI you are eating your own cake internally - would be stoked if we can use this. That said, we should allow an option to not allow auto updates so that ci/cd pipelines can take over. Or even more into the dreamland, that the auto update triggers a webhook instead of the update code so that a ci/cd pipeline can be executed and prepare a “release” for you |
Ruth Cheesley (she/her) |
It sounds to me like this could be a really good initiative to take into Mautic 4 which would in itself have a lot of benefits (one of the areas I want us to improve is the installation process!) but also enable other innovations like the Marketplace. Do you feel like this is something you’d be up for leading @Nick Veenhof if we did make it a Mautic 4 initiative? |
Nick Veenhof |
I need to be careful taking anything extra on my plate to be honest - certainly in these times I feel my limit has been reached. If we can get financial support somehow together I can delegate that to someone internally here or I am happy to be a soundboard for feedback. I feel honored with the question but also scared I will not be able to dedicate enough time for it |
Ruth Cheesley (she/her) |
That’s a whole other question re. the financial support - as to how we decide to use the funds that the community has available to it |
Nico Grienauer (he/him) Drupal/Analytics/Styleguides |
I talked also with some friends/partners, and they struggle with the current updatesystem etc too. |