Het zijn boeiende tijden voor Magento developers. In november 2015 verscheen een nieuwe versie van het open source e-commerce platform dat wereldwijd door meer dan 240.000 webshops wordt gebruikt. Met een compleet herschreven architectuur, de introductie van dependency management en een ingrijpende optimalisatie voor het toenemend gebruik op mobiele toestellen heeft de community heel wat om over te praten.

Ook bij Baldwin zijn we laaiend enthousiast over de nieuwe uitdagingen en oplossingen die Magento 2.0 biedt, zo kon je in februari al lezen in een interview met onze developers. Op 12 en 13 mei trokken ze naar een zonovergoten en oergezellig Utrecht voor de 8e editie van ‘het meest innovatieve Magento event’, Magento Meet.

10u00: Migrating from Magento 1 to Magento 2

Uiteraard lag de klemtoon vooral op Magento 2. Bij deze presentatie door Matthias Zeis ging het in een aantal tips over hoe je je shop of eigen geschreven uitbreidingen gedeeltelijk geautomatiseerd kan migreren van versie 1 naar versie 2. Magento zelf heeft een tweetal extensies beschikbaar gemaakt die daarbij kunnen helpen: een eerste tool om de database te migreren van de ene naar de andere versie en een tweede tool om ook je code te migreren.

Er wordt sterk aangeraden om eerst je Magento 1 shop te upgraden naar de allerlaatste Magento 1 versie alvorens te migreren. We leerden dat er altijd nog behoorlijk wat manueel werk bij kan komen kijken om de laatste details goed in orde te krijgen.

Een andere belangrijke opmerking is om eerst te evalueren of alle features van je vorige shop wel noodzakelijk zijn om om te zetten naar de nieuwe versie. Misschien worden sommige features niet gebruikt en is het niet noodzakelijk om deze mee te nemen.

10u30: Messing up dependency injection

Dependency injection is één van de nieuwe technische features die gebruikt wordt in Magento 2. Jisse Reitsma ging in op enkele best practices voor het gebruik ervan, maar haalde ook enkele code-smells aan in de Magento 2 code base waar deze feature nog een beetje misbruikt wordt. Uit deze minder goeie implementaties konden we leren om onze eigen code in extensies wel goed op te bouwen. o.a. Ben Marks gaf aan dat er gewerkt werd aan het opkuisen van deze code in Magento 2 en dat dit in nieuwere versies van Magento 2 geleidelijk aan in orde zal komen. Voor de duidelijkheid: dit gaat niet om functionele bugs, maar om hoe proper de code in elkaar zit.

11u00: Deployments with Magento 2

Hierna was het tijd om luisteren naar Bart Delvaux die ons vertelde welke stappen we allemaal moesten uitvoeren om een Magento 2 shop te deployen naar een server. Er moeten een aantal stappen uitgevoerd worden die vrij lang duren, zoals bvb: composer dependencies installeren, static files genereren, php classes genereren en compilen, databasemigraties uitvoeren, … Deze zaken kunnen vrij lang duren, waardoor we de deploy workflow die we volgden voor Magento 1 grondig zullen moeten herzien. Magento 2 deploys kunnen nu meerdere minuten duren, tot soms wel een halfuur als je bv. veel verschillende talen gebruikt.

11u30: Security in Magento Shops

Tijd om te gaan luisteren naar een sessie van Andreas von Studnitz over beveiliging in Magento 1. De laatste jaren worden kredietkaartgegevens, wachtwoorden van administrators en klantengegevens een steeds belangrijker target voor hackers om te bemachtigen. Het was goed om te vernemen dat we met Baldwin al goed op schema zitten om onze shops te beschermen, en op dat vlak weinig aan onze werkwijze zullen moeten bijsturen.

14u00: Magento performance – Know your database

Deze sessie werd geleid door Ivan Chepurnyi, een van de vijf eerste Magento core developers. Hij had het – in tegenstelling tot wat de titel doet vermoeden – niet echt over het verhogen van de performance van Magento specifiek, maar meer algemeen over het optimaliseren van SQL queries voor een MySQL database bij grote datasets (> 100 000 records). Best wel interessant bvb om te zien dat het opsplitsen van queries ipv 1 grote query te gebruiken de performance significant kan verhogen bij grote datasets.

15u00: Composer, the right way

Composer is een tool die helps om code te delen en die de manier waarop we met code afkomstig van verschillende bronnen omgaan. Composer wordt meer en meer gebruikt bij het ontwikkelen van allerhande CMS-systemen of frameworks, en ook in Magento. Rafael Dohms toonde ons enkele veelgemaakte vergissingen en vooral hoe ermee aan de slag te gaan op de correcte manier.

15u30: Magento 2 content under version control

Het gebeurt niet elke dag dat Magento developers zich laten inspireren door WordPress, maar student en module developer Gordon Lesti was van mening dat versiecontrole van CMS content binnen Magento een must is en ontwikkelde er een module voor. Het idee is vrij eenvoudig maar kan een handige oplossing zijn bij het corrigeren van foutief ingevoerde content door naar een eerder bewaarde versie terug te keren. De module is beschikbaar op GitHub.

16u00: The 12 habits of highly secured Magento merchants

Beveiliging van e-commerce business kan een gewichtige taak zijn. Jerry Eadeh van de hostingfirma Nexcess gidste ons door door de officiële PCI security standards, een reeks standaarden vastgelegd door een globaal forum dat zich over de ontwikkeling en implementatie van beveiligingsstandaarden voor het beschermen van data buigt. Verder kregen we een mooi overzicht van aandachtspunten, gaande van wachtwoordbeheer tot SSL certificaten, en enkele beschikbare tools inzake beveiliging van Magento shops.

16u30: Hackers traced: a case study

In de presentatie “Hackers traced: a case study” ging spreker Tim Muller nog een stapje verder: hij beschreef hoe hackers te werk zijn gegaan en hoe ze hun hacks probeerden uit te buiten op een ‘honeypot‘. Dat is een Magento shop specifiek opgezet om hackers aan te trekken en zo hun aanvallen te kunnen analyseren zonder dat ze daadwerkelijk toegang kregen tot gevoelige informatie of functionaliteiten die het mogelijk kunnen maken om schade aan te richten. Conclusie is en blijft dat beveiliging een zaak is van opvolging en pro-actief maatregelen nemen.

De presentaties van de sessies vind je hier

Laten we samenwerken

Wil je een nieuw project opstarten of ben je het aan het overwegen? Vertel ons erover. Hoe meer we erover weten, hoe beter we onze eerste kennismaking kunnen voorbereiden. Want we komen graag voorbereid. Altijd. Vul dus het projectformulier in en we contacteren je asap voor een afspraak.

Een offerte aanvragen