Mautic voor ontwikkelaars: aan de slag en aangepaste plugins

Blog
Gepost op
Mautic voor devs

Ik ben al vele jaren een Drupal developer en bij Dropsolid was ik een van de eerste back-end developers die met Mautic werkte. Er zijn veel overeenkomsten en verschillen tussen Drupal- en Mautic-ontwikkeling. Door beide te combineren, kan ons team wrijvingsloze digitale ervaringen ontwerpen, bouwen en ondersteunen voor onze klanten met behulp van open-source technologie. Maar tot daar geraken, was best een reis. Onze developers, zoals ikzelf, waren in het begin een beetje bang, misschien zelfs sceptisch, bij het adopteren van Mautic als nieuwe technologie in ons portfolio. Maar dat veranderde absoluut in de loop van de tijd!

In deze blog deel ik enkele belangrijke lessen voor developers die beginnen met Mautic.

  1. Wat is Mautic, en hoe verschilt het van Drupal?
  2. De structuur van Mautic
  3. Starten met Mautic als developer
  4. Bouwen van je eerste Mautic Plugin

1. Wat is Mautic, en hoe verschilt het van Drupal?

Mautic is een open source marketing automation platform. Het is zelfs het meest gebruikte open source marketing automation platform ter wereld. Marketingteams gebruiken het om e-mailmarketing, leadgeneratie, webformulieren en geautomatiseerde marketingcampagnes te creëren.

Het is een SaaS-product dat kan worden geïnstalleerd, gehost, geconfigureerd en direct gebruikt door marketeers. Zodra de e-mailverzendconfiguratie is voltooid, kunnen marketingteams e-mails, formulieren en campagnes maken. Dit verschilt van Drupal-projecten, waar sitebuilding en theming door developers moeten worden gedaan voordat marketeers de website kunnen beheren. De Mautic-gemeenschap is echter nog niet zo volwassen als de Drupal-gemeenschap. Mautic Inc. werd opgericht in 2019. In de afgelopen jaren zijn de gemeenschap, de installatiedatabase en het aantal actieve bijdragen snel gegroeid.

Om het e-mailplatform in de digitale ervaring te integreren, kan enige aanpassing in Mautic nodig zijn. Dat dit mogelijk is, is een groot voordeel van Mautic vergeleken met propriëtaire Marketing Automation oplossingen. Er zijn verschillende manieren om in Mautic te ontwikkelen. Hier ga ik dieper op in in het volgende deel.

Laten we eens kijken naar de vergelijking tussen Mautic en Drupal:

 MauticDrupal
Open sourceJaJa
Grootte van de gemeenschapKleinerVolwassen
Kan worden gebruikt door marketeers zonder development traject aan het beginJaNee
Staat maatwerkontwikkeling toe om aan de exacte behoeften van de klant te voldoenJa - bij voorkeur via pluginsJa - via modules
Staat integraties met andere technologieën toeJaJa

2. De structuur van Mautic

Mautic is open source. De kerncode van Mautic is beschikbaar voor ontwikkeling. Als je echter soepel wilt kunnen updaten naar toekomstige versies van Mautic, wordt aanbevolen om:

  • plugins te bouwen,
  • ervoor te zorgen dat je plugins beschikbaar blijven en onderhouden worden in toekomstige versies van Mautic.

Out of the box heeft Mautic 2 soorten "plugins":

  1. Core bundles
    • Deze bevatten de vereiste, kernfuncties van Mautic. Vergeleken met Drupal zijn dit de kernmodules. Ze zijn essentieel voor het functioneren van Mautic zoals het hoort.
    • Voorbeelden: formulieren, contacten, e-mailcampagnes
    • Beschikbaar in app > bundles.
  2. Optional bundles
    • Dit zijn optionele bundels die de kernfunctionaliteit van Mautic uitbreiden. Vergeleken met Drupal zijn dit de contrib modules.
    • Voorbeelden: CRM-integraties, social media aggregators, automatiseringsintegraties
    • Beschikbaar in de plugins map.

De File structure ziet er zo uit: 

File structure Mautic

Een korte uitleg van de structuur.

App: Mautic core: vereiste functionaliteit voor het draaien van Mautic

  • Assets: vereiste statische bestanden zoals CSS-code, iconen, javascript…
  • Bundles: De Core bundles: zie hierboven
  • Config: Bestanden die instellingen of variabelen bevatten (ook wel configuratie genoemd) die Mautic gebruikt.
  • Middlewares: herbruikbare functies die door heel Mautic worden gebruikt
  • Migrations: migratie-/upgrade-scripts die worden gebruikt om gegevens en instellingen te migreren naar een nieuwere versie van Mautic.
  • Media: Bestandsstructuur om assets op te slaan die naar Mautic worden geüpload. Dit bevat ook geaggregeerde bestanden en andere bestanden die nodig zijn voor het renderen van de Mautic UI in de browser.
  • Plugins: Bevat alle optionele plugins
  • Themes: Bevat alle e-mailthema's (sjablonen en assets)
  • Translations: Bevat optionele vertaalbestanden
  • Var: Dit wordt gebruikt om cachebestanden, logbestanden en uitgaande e-mails op te slaan

3. Starten in Mautic als een developer

Nu je de algemene structuur van Mautic kent, laten we beginnen met het bouwen van je eerste plugin. Een belangrijk punt om op te merken bij Mautic, zoals eerder vermeld, is dat wanneer je de Mautic-broncode downloadt, deze zowel de "Mautic core" als optionele plugins bevat om die kernfunctionaliteit uit te breiden.

Als je als ontwikkelaar die kernfunctionaliteit nog verder wilt uitbreiden, is dat mogelijk. Dit kan worden gedaan door je eigen plugins te vindenof te maken en ze in de Plugins-map op te slaan. Omdat de Plugins-map deel uitmaakt van de Mautic core, is het belangrijk om deze in de gaten te houden tijdens updates. Afhankelijk van je update-strategie is het mogelijk dat deze map wordt overschreven, met verlies van data (en functionaliteit) als gevolg.

Hetzelfde geldt voor je configuratiebestanden in de App/Config-mappen. Het maken van back-ups, het opzetten van versiebeheer en het gebruik van een package manager zoals Composer wordt aanbevolen.

4. Bouwen van je eerste Mautic Plugin

Zoals hierboven uitgelegd, kun je bundels ontwikkelen om de kernfunctionaliteiten van Mautic, zoals formulieren, e-mails en campagnes, te verbeteren. Ik zal je enkele voorbeelden geven:

  • Je hebt de behoefte om de standaardlogica van Mautic te manipuleren of uit te breiden,
  • ...

Je kunt ook plugins gebruiken om de mogelijkheden van Mautic uit te breiden met extra functionaliteiten of te integreren met externe databronnen. Enkele voorbeelden:

  • Integreren met een niet-ondersteunde CRM. Bestaande plugins zijn beschikbaar voor enkele grote CRM's zoals Salesforce, Microsoft of SugarCRM.
  • Aangepaste content in e-mails insluiten, zoals Drupal.
  • Aangepaste branding van de interface.
  • Extra GrapeJS-blokken
  • ...