Afgelopen jaar heb ik voor het eerst mogen ervaren wat Magento Imagine inhoud en waarom wij hier een fysieke bijdrage aan willen leveren. Imagine is een in Las Vegas, door Magento georganiseerd, jaarlijks terugkerend evenement voor merchants, ontwikkelaars en solution integrators. Het programma bestaat uit drie dagen en trekt jaarlijks duizenden bezoekers van over de hele wereld. Overdag staat voornamelijk in het teken van vooraf geplande meetings, Magento keynotes en een gevarieerd scala aan learning sessies. De dagprogramma’s worden vaak afgesloten met een hapje en een drankje waarna je kort de tijd hebt voor een opfrisbeurt met daaropvolgend een netwerkborrel.

Goed… paspoort, toilettas, laptop, telefoon en voor een week aan schone kleding; check! klaar voor inmiddels mijn tweede opeenvolgende editie van Imagine! Vrijdagmiddag rond het middaguur ben ik samen met Mathijs vertrokken richting Schiphol voor onze vlucht van Amsterdam naar Atlanta en vanaf daar zijn we doorgevlogen naar Las Vegas, Nevada waar we rond middernacht lokale tijd aankwamen. Het blijven heftige reizen gezien het een aanrader is gedurende de vlucht wakker te blijven om daarmee een (heftige) jetlag te vermijden. De vele bakken koffie hebben me er uiteindelijk doorheen geholpen en was dan ook blij om na minimaal vierentwintig uur, eindelijk wat slaap te kunnen pakken.

Big Dam Run

Traditiegetrouw begon het op de zondagochtend voorafgaande aan het congres met een nieuwe editie van de Big Dam Run. De route, die startte en eindigde bij de Hoover Dam, bestaat uit twee afstanden waaronder de 5- en een 10 kilometer. Ligt ongetraind en puur op karakter hebben we beide de 10 kilometer afgelegd. Gesproken over karakter hebben we de opeenvolgende dagen ook de spierpijn op karakter moeten doorstaan, maar dat is een heel ander verhaal ;D

Magento

Tijd voor het echte werk: Imagine! De congresdagen hebben voor ons voornamelijk in het teken gestaan van afspraken, netwerken en kennissessies waarin we weer overspoeld zijn met details over onder andere nieuwe features in de Magento 2.3.0 release. Helaas is er wat betreft een release datum niet meer dan “within the year 2018”. Dit is ook wel logisch als je kijkt naar het aantal nieuwe onderdelen die zijn aangekondigd.

PWA Studio

Magento heeft al eerder aangekondigd bezig te zijn, samen met Google, aan de ontwikkeling van een eigen PWA studio (lees meer). Tijdens deze editie van Imagine werd er veel aandacht besteed aan dit onderwerp. Er is ook een speciaal nieuw PWA template genaamd Venia aangekondigd, welke in afzienbare tijd aan de markt geïntroduceerd zal gaan worden. Benieuwd naar dit onderwerp? Kom in november naar alweer de 10de editie van E-commerce insights of lees het persbericht van Magento.

Page Builder

Zeker weten doe ik het niet, maar Page Builder lijkt onderhuids een rebuild van de eerder aangekondigde Bluefoot module te gaan worden. Eén ding is zeker, de naam van de module zegt al honderd keer meer over wat het is en doet! Page Builder gaat beschikken over drag-and-drop functionaliteiten die de webshop beheerder een bepaald niveau van vrijheid van invulling van hun pagina gaat geven. Naast de standaard componenten zoals rijen, kolommen, knoppen etc. biedt de Page Builder module externe ontwikkelaars ook de mogelijkheid om extra componenten te bouwen die vervolgens op vele verschillende plekken in de shop geplaatst kunnen worden.

In samenspraak met de scheduling functionaliteit en het vooraf kunnen controleren van de gebouwde pagina of onderdelen, gaat dit product een enorme toegevoegde waarde aan elke webshop geven. Los van het feit dat Page Builder eerst nog als beta zal worden gereleased, kunnen wij niet wachten om er mee aan de slag te gaan!

Web API’s

Een mooie nieuwe toevoeging voor ontwikkelaar is de uitbreiding van het RESTful pakket. Magento gaat asynchrone RESTful calls in twee varianten mogelijk maken namelijk async en async-bulk. Dit betekent dat API’s kunnen worden aangeroepen en direct een reactie krijgen dat het verzoek is geaccepteerd. Een enkele entiteit converteert alle bestaande routes naar de asynchrone endpoints door er in plaats van /rest/ het suffix /async/ aan toe voegen. Dit alles zal op basis van de Message Queue werken.

2FA

Een wens die al een tijdje bij mij op de lijst stond is ‘two factor authentication’. Magento gaat het vanaf v2.3 mogelijk maken om gebruikers te laten inloggen op basis van 2FA. Deze techniek wordt steeds vaker toegepast in applicaties en biedt gebruikers een extra laag van beveiliging. Bij 2FA heb je nog steeds je gebruikersnaam en wachtwoord nodig. Wanneer je accountgegevens dan per ongeluk op straat belanden, komt nog steeds niemand je account in zolang je 2FA hebt geactiveerd. Twee factor authenticatie vereist namelijk nog een extra code. Deze code’s beheer je vaak met ‘Google Authenticator’, wat een app is voor Android en iOS.

Declaratieve schema’s

Declaratieve schema’s zijn bedoeld om de installatie- en upgrade processen van Magento te vereenvoudigen. Eerder moesten ontwikkelaars fysieke PHP code schrijven voor elke nieuwe versie van Magento. Hiervoor waren verschillende klassen vereist.

Met de nieuwe declaratieve schema-aanpak kunnen ontwikkelaars de uiteindelijke gewenste status van de database declareren en het systeem automatisch laten aanpassen, zonder overbodige bewerkingen uit te voeren. Ontwikkelaars hoeven niet langer klassen te schrijven voor elke nieuwe versie. Bovendien kunnen met deze aanpak gegevens worden verwijderd wanneer een module wordt verwijderd.

Upgrade patches

Binnen de /Setup/ folders komt vanaf v2.3 de mogelijkheid om patch classes te schrijven. Er bestaan twee typen patches, namelijk /data/ en /schema/. Beide spreken vermoedelijk voor zichzelf. De patches zijn in het leven geroepen omdat vanaf Magento v2.4 de normale setup scripts deprecated worden gesteld. Weer een mooie stap in het optimaliseren van een duidelijke structuur.

GraphQL ondersteuning binnen extensies

GraphQL is een querytaal en runtime die je, net als RESTful, in staat stelt om een applicatie met de buitenwereld te laten verbinden. Met GraphQL kan een ontwikkelaar, bijvoorbeeld in een front-end applicatie, opdrachten versturen naar Magento. Met behulp van zelf samen te stellen queries kan de ontwikkelaar hierin exact duidelijk maken wat hij/zij aan data nodig is. Magento vertaalt deze queries naar functies die data kunnen ophalen of aanpassen. Hierin zie je ook meteen het grootste verschil met RESTful. RESTful biedt over het algemeen meerdere endpoints en GraphQL API er slechts één nodig is. Dit maakt het mogelijk om met een enkel verzoek exact de data op te halen die je nodig hebt in tegenstelling tot REST waar je vaak meerdere opdrachten moet versturen om vervolgens de data te combineren.

Magento gaat het vanaf v2.3 mogelijk maken om modules te voorzien van Graphql schemas. Hiervoor wordt aangeraden een aparte module speciaal voor GraphQL te schrijven. Dus naast Guapa/Megamenu zal er ook een Guapa/MegamenuGraphQl gemaakt worden. Binnen de /etc/ folder komt een nieuwe bestand genaamd ‘schema.graphqls’ met een bijbehorende map /graphql/.

Multi source inventory

Vanuit de Magento community is het [MSI project] ontstaan. Zoals de naam zich al voordoet is dit basaal gezegd een voorraad management module voor meerdere locaties die vanaf v2.3.x vast geïntegreerd zal zijn. Modules zoals de Multi Warehouse Inventory van Amasty kunnen hierdoor vermoedelijk als overbodig beschouwd gaan worden.

Een hele specifieke en vernieuwende feature is de stock reservering. Bij native Magento gaat de voorraad tijdelijk op slot op het moment van bestellen, wordt het aantal afgeschreven en wordt vervolgens de overige voorraad vrijgegeven. Een nadeel hiervan is dat klanten in theorie op elkaar moeten wachten. Vanzelfsprekend merk je hier als klant niets van. Met de reserveringen wordt dit probleem getackeld. Neem gerust contact op mocht je meer willen weten over de werking hiervan.

Cache management

Cache management is ook vanuit de community ontstaan. Cache management maakt het vanaf v2.3 mogelijk om op basis van ACL rollen te bepalen wie welke cache mag beheren. Dit kan exact gezien worden als hoe de huidige gebruikers ACL rollen werken. Hierin kan een administrator / ontwikkelaar bepalen wie waar toegang tot heeft in de backend.

Wat verder ter tafel kwam

Naast deze grote features zijn er ook nog tal van kleine features aangekondigd. Zo gaat Magento eindelijk upgraden van TinyMCE v3 naar v4, krijgen alle composer package versies een wild flag in plaats van hard gedefinieerde versie nummering en zal PHP7.2 ondersteund worden!

Magento Association and Community Insider Program

Magento heeft te kennen gegeven dat ze meer willen doen in de ondersteuning van de community. Dit gaan ze op twee manieren doen. De eerste is het wereldwijde event Meet Magento ondersteunen. Samen met de Meet Magento Association gaan ze de community ondersteunen met events, trainingen en cursussen en dit zal dus gaan gebeuren onder de naam Magento Association. Er zal met bestaande organisaties en initiatieven overleg plaatsvinden met als doel voor het einde van dit jaar de nieuwe Magento Association officieel te kunnen formaliseren.

De tweede manier is het Community Insider Program. Dit is voor individuele developers (ZZP’ers) en kleine agencies die toegang zullen gaan krijgen tot tools en informatie om snel en succesvol te kunnen groeien in hun kennis en kunde. Dit brengt goede nieuwe aanwas voor het officiële partner programma van Magento en zorgt voor een hogere kwaliteit in ook de community (open source) implementatie, wat weer goed is voor de naam van Magento.

Meer weten of mee naar Barcelona?

Wil je meer weten over onze belevenissen in het grote en een beetje gekke Las Vegas? Neem dan contact met ons op of beleef het zelf en ga met ons mee naar Magento Live in Barcelona.