Jira ICT wint MKB Beste Choice Award - Magento Workshops 2010
Jun
04

Magento Developers Paradise, Magento 2 en veel meer...

magento-developers-paradise-2011

Jira ICT reist af naar Ibiza voor Magento Developers Paradise. Deze blog groeit gedurende het congres.

De avond voorafgaand aan het Magento Developer Paradise was er tijd voor een drankje en een praatje met de bezoekers van het congres. Een uitstekend moment om de andere developers beter te leren kennen. 

Een aantal bezoekers vonden het vrij gezellig en hebben tot laat in de avond gepraat over van alles en nog wat, maar voornamelijk over Magento. Voor velen van hen begon dag 1 wat eerder dan gehoopt.

Dag 1:

Magento 1.6 CE, Magento 1.11 EE, Magento 2, en veel meer...

De dag werd geopend door een interessante presentatie van Yoav Kutner (YoavMagento), co-founder van Magento. Zijn keynote ging puur over Magento. Stukje geschiedenis, cijfers van nu en verwachte groei. Eind juli zal EE1.11 en CE1.6 verschijnen. De verbeteringen werden getoond. Daarnaast kwamen de verbeteringen in Magento Go en Magento 2 aan bod.

Hier een overzicht van nieuwe functies te zien in de komende Magento 1.6 CE en Magento 1.11 EE releases of Magento 2.

  • Order status widget voor guest users
  • Persistent shopping cart
  • RMA
  • Schedule import/export EE only
  • Price and promotion permissions EE/PE only
  • RDBMS - multi database
  • Minimum advertised price [MAP]
  • Magento Mobile analytics met Flurry.com
  • Magento Go platform (apps / gadgets / widgets)
  • jQuery native in Magento 2
  • Rewrite code voor Magento 2
  • Robust web API
  • Lost of documentation

Magento en RDBMS

update 11:05 De tweede presentatie kwam van Andrey Tserkus, Magento Core Team, over Magento en Multiple RDBMS. De markt voor Magento wordt vergroot door de ontwikkelingen om Magento te koppelen aan meerdere typen databases dan uitsluitend MySQL. Denk hierbij aan Microsoft SQL server, Oracle, Sybase en PostgreSQL. De aanwezige developers worden gewezen op de wijzigingen in de SQL statements. Het model om de database aan te spreken is gewijzigd, zodat er relatief weinig te wijzigen valt bij het toevoegen van een nieuwe database. Omdat de techniek nieuw is voor Magento werd afgesloten met Frequently Not Yet Asked Questions.

Lots of Code & Fun in the Sun

update 12:25 De derde presentatie is van Vitaly Koroton en gaat over de checkout flow. Magento kan veel meer dan je webshop nodig heeft. Beoordeel alle mogelijkheden van Magento en schakel de functionaliteiten uit die je niet nodig hebt. Was het in 1999 nog 8 sec, tegenwoordig ligt de laadtijd van een checkout pagina op 2 sec. Getoond wordt hoe Magento voorheen de orders afhandelde in de code. Changing Order steps sequence, Merging Order Steps , Adding custom data files en 3rd party systems integrations zijn de vier meest uitgevoerde wijzigingen aan de checkout. Per item worden ze besproken. Een andere methodiek om wijzigingen relatief eenvoudiger door te voeren is gebruik te maken van de "Quote Selector". Een extra mogelijke versnelling is mogelijk door het toepassen van "Order serialization". Deze verbetering is zeer gunstig voor de grotere webshops.

Uitbreiden van Magento hosting mogelijkheden

update 13:10 De vierde presentatie is van Philippe Humeau (NBS Systems) en gaat over het uitbreiden van Magento hosting mogelijkheden. En hoe om te gaan met websites die het gehele jaar redelijk rustig zijn en slechts een paar keer paar jaar een piekbelasting hebben. De rijken plaatsen extra servers, de armen worden gelimiteerd in bandwith, pessimisten aanvaarden de perfomance loss en evt crash van server en de slimme klanten zoeken samen met de provider naar andere oplossingen. Virtualisatie is een mogelijkheid. NBS Systems werkt samen met Xen en HP. Xen is een OpenSource virtualisatie oplossing. Xen is vergelijkbaar met VMware, maar dan OpenSource. De webshop worden verhuisd naar cloudservers. Deze oplossing zorgt er voor dat er automatische upscaling mogelijk is bij piekbelasting van de cloud waar de webshop naar toe verhuisd is. NBS Systems deelde een aantal tips en suggesies omtrent Load-Balancing en Sharing DocumentRoot.

Tips and tricks for making Mobile Magento apps.

Update 14:45 Na de lunch werd het congres voortgezet met een presentatie van Nickolay Tischenko, Technical Development Manager voor Magento Mobiel, over Mobile Magento apps. Het meerendeel van de smartphones werkt met Android en iOS. Een aantal vereisten vanuit de gebruiker is dat het snel moet zijn (5 sec), optimized design interface en goedkoop zijn in gebruik. Steeds meer mensen hebben een smartphone en maken bij de aanschaf van producten gebruik van de smartphone. Het is daarom interessant om je eigen webshop beschikbaar te maken voor de smartphone. Tijdens de presentatie werd middels XML files aangetoond hoe bepaalde zaken afgehandeld kunnen worden. Denk hierbij aan schermresolutie en lokalisatie.
Naast mobile apps kun je ook de mobiele versie van je webshop gebruiken door het iPhone theme te selecteren. De spreker noemt meer voordelen ten gunste van de Mobile app in vergelijk met de mobiele versie van de website. Tijdens het Mobilism congres waar Jira ICT recentelijk geweest is werd dit onderwerp ook besproken met als resultaat dat de keuze voor een Mobile APP of Mobile website afhangt van de wensen van de klant. Speciale aandacht voor Mobile Paypal betaalmethode. Deze staat wijzging van verzendwijze niet toe en getoond wordt hoe hiermee om te gaan.

Dag 2:

Varnish your Magento store, make it fly!

Update 09:50 Dag 2 begint met een presentatie van Alistair Stead (@Alisterstead) over Varnish. Er is een directe link tussen performance en conversion rate. Er is een verschil tussen perceived performance en physical performance. De applicatie kan snel zijn en toch traag binnenkomen bij de eindgebruiker. De eindgebruiker ziet hem dan toch als traag. Varnish kan hierbij helpen. Voornamelijk bekend als een http accelerator. "Expiration allows you to scale, validation saves bandwidth." Na een korte uitleg over de algemene werking van caching en validatie (middels E-Tags) wordt de positie van Varnish uitgelegd. Deze komt tussen de client cache en de applicatie op de server. De caching met Varnish gaat direct in het RAM geheugen en kan gebruikt worden door meerdere eindgebruikers. Met een aantal voorbeelden van druk bezochte webshops wordt het voordeel van Varnish aangeduid en toont aan dat Magento in combinatie met Varnish significant meer bezoekers kan verwerken. Dit geldt voor zowel voor cachebare en niet-cachebare pagina's. "Is Varnish the best solution?" Er zijn een aantal beperkingen waar men rekening mee moet houden. Met een aantal zaken om over na te denken wordt de presentatie afgesloten. Varnish biedt een zeer goede mogelijkheid je webshop te versnellen.

De presentatie is terug te lezen via Slideshare.

Magento Security

Update 10:40 De tweede presentatie is van Dmitry Vasilenko en gaat over Magento security. Jaarlijks maakt de Open Web Application Security Project (OWASP), een open-source application security project, een top10 lijst van meest voorkomende zwakheden in software.

  • A1-Injection
  • A2-Cross Site Scripting (XSS)
  • A3-Broken Authentication and Session Management
  • A4-Insecure Direct Object References
  • A5-Cross Site Request Forgery (CSRF)
  • A6-Security Misconfiguration
  • A7-Insecure Cryptographic Storage
  • A8-Failure to Restrict URL Access
  • A9-Insufficient Transport Layer Protection
  • A10-Unvalidated Redirects and Forwards
Meer informatie is terug te vinden op de website van owasp.org

Middels een live demo wordt een cross site scripting vulnerability getoond en hoe deze opgelost kan worden. Door het uitschakelen van een stukje beveiliging in de code van Magento was het voor deze demo mogelijk om scripts te verwerken in het opmerkingenveld van de contactpagina. Magento heeft een beveiliging waarbij dit normaliter niet mogelijk is.

De volgende demo wordt een bestand geupload waarmee de site gehacked kan worden. Magento lost dit o.a. op door te controleren of de extensie van het bestand toegestaan is voor de upload, verbied de upload van .htaccess, .php, .pl en soortgelijke bestanden en sta niet toe dat bestanden verwijzen naar een andere directory.

De volgende demo gaat over SQL injection. Dankzij open source kan de hele wereld bijdragen aan het verbeteren van Magento. Hackers maken hier ook graag gebruik van om na te gaan waar zwakheden in Magento zitten. Zo komen ze dus ook aan tabelnamen en kunnen zodoende SQL statements verwerken in inputvelden. Magento heeft dit op diverse manieren opgelost waardoor de SQL statements als gewone tekst komt te staan en niet uitgevoerd wordt.
sql_injection_comic_smallsource: unknown 

Veel Magento installaties volstaan niet alleen met uitsluitend Magento. Veelal worden 3rd party extensies geinstalleerd voor het uitbreiden van de functionaliteit van Magento. Omdat niet elke ontwikkelaar een security specialist is kan dit potentieel een gevaar opleveren voor de Magento website. Daarom dat de code van 3rd party developers door diverse kanalen beoordeeld wordt.

GOing with style

Update 11:45 De derde presentatie is van Max Ekaterinenko en gaat over Customizing Magento Go with Themes & Apps. Magento Go is een hosted SaaS service voor kleine en startende webshops. De Magento Go platform stelt ontwikkelaars in staat apps en themes te ontwikkelen voor Magento Go. De applicaties en projecten die gebruikt worden in de ontwikkeling van apps voor Magento Go komen voorbij. Apps kunnen gebruikt worden voor zowel Magento Go als de andere versies van Magento.

Middels een aantal demo's wordt de standaard weergave van Magento Go aangepast. In plaats van FTP wordt de gui gebruikt voor het uploaden van css en js aanpassingen. Via de gui wordt de app vervolgens geactiveerd. De volgende demo's werden getoond:

  • Toevoegen van een slider op de voorzijde van de website
  • Weergeven van featured artikelen
  • Toevoegen van een geavanceerde zoekbox
  • Twitter connectie

<.>commerce

Update 12:25 De vierde presentatie is van John Lunn, Paypal, en gaat over diverse commerce methodieken. eCommerce, mCommerce, tCommerce, fCommerce, qrCommerce en pCommerce.
Bij eCommerce is Group buying flink in opkomst. Één koper verkoopt aan meerdere kopers één product. Paypal heeft hiervoor een oplossing gevonden.
Voor mCommerce is een mobiele betaalmethode ontwikkeld en reeds in Magento verwerkt. Heb je eenmaal met je telefoon iets betaald via Paypal, dan hoef je daarna niet meer in te loggen. Paypal herkent je telefoon. Let wel… iPhone only.
tCommerce wordt gebruikt voor televisie en is flink aan het groeien. Traditionele betaalmethodieken voor tv werken niet. De oplossing is om je iPhone of iPad te koppelen aan je televisie en vervolgens producten van je tv naar je mobiele device te slepen en daar in je winkelmandje te plaatsen en te betalen.
fCommerce wodt gebruikt voor Facebook en ook deze is groeiende. In plaats van een link in je Facebook bericht naar je website om product aan winkelwagen toe te voegen heeft Paypal een Facebook integratie gemaakt om direct vanuit Facebook te kopen. Slechts een kleine javascript toevoeging is voldoende hiervoor.
qrCommerce wordt gebruikt om via de QR-code iets te kopen. Scan QR-code, bevestig de aankoop, betaal en klaar.
pCommerce is personal Commerce en PayPal draagt hierbij aan bij door via derden push berichten te sturen met korting op een bepaald product als je langer dan een bepaalde tijd in een bepaalde winkel naar het bepaalde product kijkt.

Magento 2.0

Update 14:35 De eerste presentatie na de lunch is van Dmitriy Soroka, System Architect, en gaat over Magento 2.0 . Deze nieuwe versie van Magento blijft werken met PHP, maar gaat wel meerdere databases ondersteunen en wat betreft Javascript wordt jQuery als voornaamste library gebruikt. Naar verwachting wordt de nieuwe versie van Magento halverwege 2012 opgeleverd en bevat alle functionaliteiten die nu ook in Magento 2.0 zitten. Vele verbeteringen en nieuwe functionaliteiten komen er bij. Een van de betere verbeteringen is documentatie. De mogelijkheid om een Magento pagina ontwerp te exporteren naar een enkele phtml bestand. Upgrade in preview modus. Herdefiniering van de modules in de directorystructuur. Op dit moment worden verschillende termen gehanteerd. Standarisatie van templates. Modulaire opzet van themes. Meerdere fallbackmethodieken voor de themes. Gerelateerde extensies gegroupeerd in componetnen ter vereenvoudiging van de afhankelijkheid. En dit is slechts een kleine greep uit de wijzigingen die Magento 2 met zich meebrengt.

MVC - Model Lessons Learned

Update 15:!5 De zesde presentatie van de dag is van Anton Makarenko, Magento Inc., en gaat over de data modellen in Magento. De huidige wijze van het verwerken van modullen in Magento is onder de loep genomen en bekeken waar een en ander verbeterd kan worden. De verbeteringen worden gepresenteerd. Middels Doctrine zou Magento verbeterd kunnen worden. Verbeterde weergave voor domain modellen. DB abstractie laag is verbeters voor betere integraties met RDBMS support. LIchtgewichte service laag.

presentatie van Magento Developers paradise Hack-a-thon

Update 15:25 Na de geslaagde Catamaran trip aan het einde van de eerste dag vond een vier uur durende programmeer bijeenkomst plaats. Een aantal groepen van developers kregen de opdracht een bepaald onderdeel van Magento op te pakken en te verbeteren op een bepaald vlak. Voor enkele groepen betekende dit dat zij nog tot ver na middernacht aan het werk waren. Tijdens deze bijeenkomst worden de resultaten van het werk getoond en evt. verwerkt in een update van Magento.

Do's and Dont's vor Magento Customizations

Update 16:40 De laatste presentatie van dag 2 is van Alex Gotgelf en gaat over Do's and Dont's vor Magento Customizations: Magento Expert Consulting Group Use Case. Het doel bij customizatie van Magento is dat alles werkt zoals we verwachten dat het werkt. Middels een aantal cases worden de tips en suggesties gedeeld.

Upgrade naar nieuwe Magento versie. Alles gaat prima zo lang de klant geen aanpassingen heeft op zijn website. Maar meestal zijn er wel wijzigingen doorgevoerd. Hanteer daarom het volgende stappenplan: code review, voorbereiding naar nieuwe versie, upgrade naar nieuwe versie. De upgrade naar nieuwe versie voer je eerst uit op een staging server en daarna herhaal je de handelingen op de live server. Extra aandacht werd geschonken aan het eerste stuk "code review" uitgesplitst naar de volgende onderdelen: Debugging, Import, Custom Attributes, Install/Upgrade scripts, Adding filter to collection, Logging to external system.

Dag 3:

Developing loosely coupled modules with Magento

Update 9:50 De eerste presentatie van de laatste dag is van Sergey Shymko (Magento Inc.) en gaat over het programmeren van modules in Magento. Volg de basis instructies voor de koppeling van modules. Bijvoorbeeld gebruik events voor de communicatie met modules. Breid modules alleen uit wanneer geen enkele event geactiveerd wordt. Rapporteer de verzoeken wanneer nieuwe events toegevoegd worden. Aarzel niet en maak gebruik van events bij het maken van je 3rd party modules en extensies.

eBay en Magento

Update 10:10 In tegenstelling tot wat het programma aangeeft was er een korte presentatie van Yoav Kutner (Magento Inc. CTO) over het nieuws welke op dag 2 gepubliceerd werd aan de wereld. eBay gaat Magento overnemen. In het kort legt hij de beweegredenen toe. eBay wil nummer 1 worden in eCommerce en heeft daarbij de community flink nodig. Magento kan hieraan bijdragen met het innovatieve open source platform. Zowel de visie van eBay als die van Magento komen overeen. Magento zal blijven groeien en eBay heeft dat nodig. De komende weken volgt meer nieuws

Unravelling the PayPal Magento Spaghetti

Update 10:35 De derde presentatie is van Tin Cheung (PayPal) en gaat over de Express Checkout van PayPal. Hij start met het tonen van het verschil tussen de normale checkout en de Express Checkout. Het verschil is duidelijk merkbaar, omdat je met Express Checkout een stuk sneller klaar bent. De voornaamste gegevens zijn reeds ingevoerd bij je PayPal account. Er zijn slechts drie Express Checkout API's:

  • setExpressCheckout
  • getExpressCheckoutDetail
  • doExpressCheckoutPayment
Op de pagina van het winkelwagentje komt de knop "express checkout" van PayPal er bij, zodat de klant kan kiezen welke versie gebruikt moet worden.

 

Pro is de volgende PayPal betaalmethodiek die gepresenteerd wordt. Pro is nog niet overal ter wereld beschikbaar. Nederland kan er vooralsnog niet van genieten. Om Pro te kunnen gebruiken heb je PayPal Pro account nodig.

In het configuratie scherm is een eenvoudige integratie gemaakt voor het ophalen van API gegevens.

Advanced Event Observers & Database AUto-Install Scripts

Update 11:55 De laatste presentatie van het event is van Jay El-Kaake (Sweeth Tooth) en gaat over Advanced Database Install scripts. De installatiescripts van Magento zijn cool. Ze worden gebruikt wanneer modules voor het eerst toegepast wordt, maar ook wanneer de nieuwste versie van de module toegepast wordt. In deze technische presentatie wordt uitgelegd hoe je je modules opzet en wat de relatie met de database install script is. Magento kent meerdere installatie en upgrade scripts en volgt deze bij installatie en upgrade van modules totdat hij bij de meest recente versie aangekomen is.

Afsluiting

Update 11:55 De afsluiting van het event hebben we niet mee kunnen maken vanwege de vlucht terug naar Nederland.

Home Blog Magento Developers Paradise, Magento 2 en veel meer...