Mautic Community Forums

Creating Add-On's / Extensions

Just looked at Mautic. I’m really impressed. This is going to be a game changer. :)



Is there any documentation on creating add-on’s / extensions? Does Mautic use hooks / filters / actions like Wordpress does?



Being a younger product, Mautic doesn’t do everything I want yet. I’d like to integrate it with my CRM (Highrise). I’m pretty familiar with the Highrise API. I just wanted to know if there was any documentation on creating add-on’s for Mautic.

Just looked at Mautic. I’m really impressed. This is going to be a game changer. :slight_smile:

Is there any documentation on creating add-on’s / extensions? Does Mautic use hooks / filters / actions like Wordpress does?

Being a younger product, Mautic doesn’t do everything I want yet. I’d like to integrate it with my CRM (Highrise). I’m pretty familiar with the Highrise API. I just wanted to know if there was any documentation on creating add-on’s for Mautic.

Hi MysticalMatt517

So I have started out writing a basic tutorial for making for Mautic. Its not yet published anywhere but I would love your feedback if you’re going to make an addon on following this guide.

https://docs.google.com/a/websparkinc.com/document/d/1qIBgk7wp7WyvDYLYjzfvxiliawmubEpKoNYOx0MIXoU/edit

Some notes:

  1. It only shows you how to get the base of an addon working, I need to make a second tutorial on doing things like adding specific functionality, so this is definitely not going to get you all the way.

Not sure exactly what you imagine your integration doing with Highrise CRM. are you thinking of pushing leads from Mautic to Highrise? If so then the thing to look at for some ideas would be the CRM Bundle:

https://github.com/mautic/mautic/tree/staging/addons/MauticCrmBundle

Which has some examples for things like Salesforce, Sugar and Zoho:

https://github.com/mautic/mautic/tree/staging/addons/MauticCrmBundle/Integration

With the base addon in the tutorial and this sample code you can probably get an integration up and running.

And - if you want to share the experience I’d love to see a tutorial on ‘a crm plugin’ for Mautic!

Thanks for sharing! Basically I’d like Mautic to push leads to Highrise.

Ideally I’d also like Mautic to add tags in Highrise when specific events happen.

Thanks for getting me started. I’ll dig into the links you sent. :slight_smile:

Hey @Chad … is the above link still the most up to date dev resource reference?

Any other places we should research when doing dev?

Also, what are the rules and regs going to be around the Mautic Add-ons marketplace - is there any policy/ideas around that yet?

Hi Max

In terms of published and somewhat thought out directions, that doc is still relevant. Nothing has changed recently in the structure of how to build addons. We have fixed a number of things lately though which will actually help developers .

For instance, we’re adding:

Allow bundles to not have ‘mautic’ in their bundle name
https://github.com/mautic/mautic/pull/282

More reusable common entity api
https://github.com/mautic/mautic/pull/281

Fix bug with publish up / down expressions:
https://github.com/mautic/mautic/pull/280

And probably most importantly, 3rd party javascript:
https://github.com/mautic/mautic/pull/259

example:

<?php echo $view['assets']->buildAddonScript('bundlename/assets/my-js.js'); ?>

In terms of 3rd party dev marketplace guidelines, I don’t have an answer on that right now, but one should be coming soon as its on the radar!

awesome … thanks for reply :slight_smile:

Just to chime in, I’m actively working on a much more comprehensive developer document that will go over pretty much everything needed to write addons :slight_smile:

Thanks,
Alan

sorry for being a pain, one last questions for now.

What about update notifications for Mautic add-ons? For CMS/app plugins/connectors they have their own plugin/connector update notification system based on the CMS/app.

What is your recommendation for doing that for a commercial add-on? Reverse-engineer/duplicate the core Mautic update function … or something else? Also, is there a “standard/preferred” way to implement an update key (like via ARS) to authenticate an update?


that’d be awesome @Alan … thanks :slight_smile:

Hi,

I’m trying to create an addon by following the document you linked to but it isn’t showing up in the list of addons. I’m not running the development version of Mautic but have installed v1.0.2 locally. I’ve gone over the locations of the required files and all seems to be correct

/mautic/addons/MyAddonBundle/MyAddonBundle.php
/mautic/addons/Config/Config.php

I’ve even tried duplicating an existing add on but nothing happens so I’m guessing I need to register the addon elsewhere so that it autoloads?

Any suggestions?

Cheers

Chris

If you are running on a case sensitive operating system (such as Linux), then Config/Config.php should be Config/config.php.

Thanks,
Alan

Hi Chris

It looks like your config file is in the wrong place. Should be:

/mautic/addons/MyAddonBundle /Config/Config.php

You’re missing the bundle name in there. perhaps that’s wrong in my document. But, that said, I have written a test base bundle which should help.

It is available here:
https://github.com/drmmr763/TestAddonBundle

That should really help get off the ground with some sample code to look at.

One further note: Upgrade to 1.0.3! It has a really important fix for views in it:
https://github.com/mautic/mautic/pull/282

The documentation is still correct but actually wouldn’t work pre-1.0.3 because of this.

Hi anybody knows where the Mautic Marketplace can be found?