moving gradient dot moving gradient dot
random background dots
random background dots
random background dots
random background dots
random background dots
random background dots
random background dots
random background dots
random background dots
random background dots
random background dots
random background dots
random background dots
random background dots
random background dots
random background dots

OCTO, Onze job processor voor statische websites.

Floris - Oct 21, 2020 - 2 Minuten

Headless websites; we hebben er al meerdere gerealiseerd en ook al diverse berichten geschreven over onze headless kunsten, maar dit is toch wel de klap op de vuurpijl. Van probleem naar oplossing, in deze blog lees je over Octo.

Octo Bikinibroek s nachts

Headless websites, waar liepen we tegenaan?

Met Headless websites konden we, met de huidige vorm van Craft CMS en de ingebouwde GraphQL server, geen directe mutaties aanbrengen. We konden dus niet gemakkelijk een formulier inzending inschieten, opslaan en e-mailen naar een klant of beheerder, omdat we geen back-end meer hadden waarmee we konden communiceren. Dit zou wel kunnen door middel van een normale POST-request naar de back-end server. Maar is het, nu we tegenwoordig alles headless maken, niet veel handiger om iets te bouwen waaraan we in de toekomst alle headless websites kunnen koppelen?

Het Niice Koppelplatform ontstond. En inderdaad, ook wij waren het unaniem eens dat die werknaam snel vervangen moest worden door een naam die meer bij ons past. Het koppelplatform is geschikt voor verschillende calls en je kan er alle kanten mee op. Het is een soort spin in een web, maar dan leuker: Octo Tentakel was geboren.

Job processor

Wat is Octo precies?

Na een mooie introductie van de tool is er inmiddels structureel op doorontwikkeld. Deze doorontwikkeling ging heel natuurlijk, zo zijn zaken pas ontwikkeld wanneer het moment er naar was, zijn nieuwe koppelingen toegevoegd en is monitoring en dashboarding uitgebreid. Maar wat is Octo dan precies?

Octo kent drie data modellen: Contact, Inzendingen, en Order.

Deze drie modellen zijn dan ook de input die je op een specifiek endpoint moet leveren.

Vervolgens kun je in het dashboard van Octo zelf een workflow aanmaken. Per POST request op een endpoint kun je één workflow-id meegeven, wel kan iedere workflow uit verschillende jobs bestaan. Een job is een door ons gedefinieerde/configureerbare actie. Zo kunnen we inmiddels een formulier inzending verwerken, notificatie mailings versturen en deze ook nog eens in één call vanuit de headless website doorzetten naar Mailchimp of Spotler. Door deze flexibiliteit beginnen we steeds meer vrijheid en gemak te ervaren.

🚀

Dit kan Octo al

  • In een workflow meerdere jobs uitvoeren.
  • Iedere workflow en iedere job kan configurabele callbacks sturen.
  • Spotler contact toewijzing inclusief mapping van velden.
  • Mailchimp contact toewijzing inclusief mapping van velden en selectie van lijst.
  • Job voor orders naar Shops-united.
  • Job voor orders naar DHL-Parcel.
  • Formulier inzending met configurabele velden, template, taal en mailserver.
  • Formulier inzending opslaan in database.
  • Alle requests/workflows worden als Job in de queue geschoten en verwerkt.
  • Dashboard weergave met Laravel Horizon voor Redis Queues. (zie afbeelding)
Laravel Horizon Octo

En nu?

We blijven structureel doorontwikkelen met Octo. Op het moment bestaan dan ook geen directe plannen om dit headless hulpmiddel in de markt te zetten, we willen er voorlopig graag zelf nog aan sleutelen en innoveren. Heb je tips voor ons of wil je ervaringen uitwisselen? Dat horen we natuurlijk graag!

pijltje-links-witCreated with Sketch. pijltje-rechts-witCreated with Sketch.
🚀
mail-iconCreated with Sketch.