This repository has been archived by the owner on Sep 26, 2024. It is now read-only.
Plugin integration services must start with mautic.integration.
(undocumented)
#194
Labels
Just broke my head for two hours over why my plugin icon + settings didn't show up in Mautic's plugin page.
Turns out that every integration HAS to be registered as
mautic.integration.NAME
(EXAMPLE), and it's currently mentioned incorrectly in the Integration Framework docs:These names need to be the EXACT same for it to work:
mautic.integration.helloworld
(lowercase) inConfig/config.php
Integration/HelloWorldIntegration.php
(including the class nameHelloWorldIntegration
)Without proper naming, the plugin IS registered and activated, but has the default icon because the integration isn't recognized (note: the config options also don't show up):
With proper naming, the plugin is correctly recognized as an integration and things like the icon/config options all show up:
This is the code in Mautic that's responsible for this behavior:
https://github.com/mautic/mautic/blob/7a2875bc16a6de50a1803fbc41b64278ae9b5428/app/bundles/PluginBundle/Helper/IntegrationHelper.php#L292-L300
Since integrations should now be tagged with
mautic.basic_integration
in the IntegrationBundle, we could simply get all services that are tagged withmautic.basic.integration
in the container, and get their keys dynamically. This would be a breaking change that we could introduce in Mautic 4. What do you think @alanhartless?Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
The text was updated successfully, but these errors were encountered: