AGENDA Shopware 4.1 Refaktorierung Ausblick
SHOPWARE 4.1
TECHNISCHE ÄNDERUNGEN
 Weniger komplexe Queries im Frontend Queries skalieren besser Aufteilung der Lese- und SchreibzugriffeOPTIMIERTE KATEG...
 Artikelmodul - Daten werden asynchron nachgeladen Artikel - Modul ist sofort verfügbar Split-View in Artikel-Übersicht...
NACHLADEN DER ARTIKELDATEN
PASSWORT-HASHING
PASSWORT-HASHING Probleme MD5 + SALT veraltetes Verfahren Passwort Übernahme bei der Shopmigration auf Shopware
PASSWORT-HASHING Lösung neuer Login Algorithmus Automatisch Umstellung auf bcrypt für sicheres Passworthashing Live Mig...
PASSWORT-HASHING
RANDOM-GENERATOR
RANDOM-GENERATOR
RANDOM-GENERATOR// Returns random integerShopwareComponentsRandom::getInteger(5, 99);// Generate random string the followi...
SICHERE DISPATCH-EVENTS
SICHERE DISPATCH EVENTS$this->subscribeEvent(        Enlight_Controller_Action_PostDispatch,        onPostDispatchFrontend...
SICHERE DISPATCH EVENTS$this->subscribeEvent(        Enlight_Controller_Action_PostDispatchSecure_Frontend ,        onPost...
SICHERE DISPATCH EVENTS Enlight_Controller_Action_PreDispatch_{Modulname} Enlight_Controller_Action_PostDispatch_{Moduln...
CACHE-ORDNER
CACHE-ORDNER Refaktorierung der generierten Daten Caches Meta-Daten Proxies
PERFORMANCE
PERFORMANCE Frontend Generelle Query Optimierungen Optimierung Kategorie-Datenbank-Struktur Stabiler HTTP-Cache
PERFORMANCE Frontend Aggregierte Zwischenspeicherung der Marketingdaten Vollständige Auslagerung der SEO und Such –Inde...
PERFORMANCE Backend Pre-Loader für Backend-Module Asynchrones Nachladen von Modul-Content Optimierung HTTP-Requests O...
PERFORMANCE
PERFORMANCE
PERFORMANCE
PERFORMANCE
MUSS MEIN PLUGIN ANGEPASST WERDEN?
MUSS MEIN PLUGIN ANGEPASST WERDEN?NEIN!
MUSS MEIN PLUGIN ANGEPASST WERDEN?Es sei denn...
MUSS MEIN PLUGIN ANGEPASST WERDEN?A. Ja, wenn Sie einen neuen Tab im Artikelmodul hinzufügenB. Ja, wenn Sie direkt per SQL...
UPGRADE – GUIDEUpgrade -GUIDE STEHT BEREIT!
REFAKTORIERUNG
REFAKTORIERUNG
SYMFONY 2
SYMFONY 2 Warum Symfony 2? Code-Qualität / Dokumentation / Community Shopware 4 verwendet Symfony 2 bereits http-Cache...
REFAKTORIERUNG Sukzessives Vorgehen Zuerst Basket / Order Objekte Plugin-Hersteller & Partner erhalten frühzeitig Zugri...
AUSBLICK
DEVELOPER-TOOLBAR
DEVELOPER TOOLBAR
BACKEND STANDARD-KOMPONENTEN
BACKEND STANDARD KOMPONENTEN Vorgefertigten ExtJS Standardkomponenten Reduzierung des Entwicklungsaufwandes Leichte Erw...
RESPONSIVE - TEMPLATE
RESPONSIVE-TEMPLATE Ein Template für alle Geräte Gleicher Seitenaufbau und Interface Keine Installation notwendig
AUSBLICK Update auf ExtJS 4.2.0 ~ 20-25 % höhere Rendering-Performance Backend Performance-Verbesserungen & Erweiterung...
AUSBLICK
SCD13: Die technische Roadmap von Shopware 4
Nächste SlideShare
Wird geladen in …5
×

SCD13: Die technische Roadmap von Shopware 4

927 Aufrufe

Veröffentlicht am

  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

SCD13: Die technische Roadmap von Shopware 4

  1. 1. AGENDA Shopware 4.1 Refaktorierung Ausblick
  2. 2. SHOPWARE 4.1
  3. 3. TECHNISCHE ÄNDERUNGEN
  4. 4.  Weniger komplexe Queries im Frontend Queries skalieren besser Aufteilung der Lese- und SchreibzugriffeOPTIMIERTE KATEGORIESTRUKTUR
  5. 5.  Artikelmodul - Daten werden asynchron nachgeladen Artikel - Modul ist sofort verfügbar Split-View in Artikel-ÜbersichtNACHLADEN DER ARTIKELDATEN
  6. 6. NACHLADEN DER ARTIKELDATEN
  7. 7. PASSWORT-HASHING
  8. 8. PASSWORT-HASHING Probleme MD5 + SALT veraltetes Verfahren Passwort Übernahme bei der Shopmigration auf Shopware
  9. 9. PASSWORT-HASHING Lösung neuer Login Algorithmus Automatisch Umstellung auf bcrypt für sicheres Passworthashing Live Migration der Passwörter Passwörter können bei Shopmigration übernommen werden Über Plugin erweiterbar auf spezielle Algorithmen
  10. 10. PASSWORT-HASHING
  11. 11. RANDOM-GENERATOR
  12. 12. RANDOM-GENERATOR
  13. 13. RANDOM-GENERATOR// Returns random integerShopwareComponentsRandom::getInteger(5, 99);// Generate random string the following charlist: a-zA-Z0-9ShopwareComponentsRandom::getAlphanumericString(20);// Generate random float between 0..1ShopwareComponentsRandom::getFloat();
  14. 14. SICHERE DISPATCH-EVENTS
  15. 15. SICHERE DISPATCH EVENTS$this->subscribeEvent(        Enlight_Controller_Action_PostDispatch,        onPostDispatchFrontend);public function onPostDispatchFrontend(Enlight_Event_EventArgs $args){        $view    = $args->getSubject()->View();        $request = $args->getSubject()->Request();        if (!$request->isDispatched()            || $response->isException()            || $request->getModuleName() != frontend            || !$view->hasTemplate() ) {            return;         }         [...]}
  16. 16. SICHERE DISPATCH EVENTS$this->subscribeEvent(        Enlight_Controller_Action_PostDispatchSecure_Frontend ,        onPostDispatchFrontend);public function onPostDispatchFrontend(Enlight_Event_EventArgs $args){       [...]}
  17. 17. SICHERE DISPATCH EVENTS Enlight_Controller_Action_PreDispatch_{Modulname} Enlight_Controller_Action_PostDispatch_{Modulname} Enlight_Controller_Action_PostDispatchSecure Enlight_Controller_Action_PostDispatchSecure_{Modulname} Enlight_Controller_Action_PostDispatchSecure_{Modulname}_{Controllername}
  18. 18. CACHE-ORDNER
  19. 19. CACHE-ORDNER Refaktorierung der generierten Daten Caches Meta-Daten Proxies
  20. 20. PERFORMANCE
  21. 21. PERFORMANCE Frontend Generelle Query Optimierungen Optimierung Kategorie-Datenbank-Struktur Stabiler HTTP-Cache
  22. 22. PERFORMANCE Frontend Aggregierte Zwischenspeicherung der Marketingdaten Vollständige Auslagerung der SEO und Such –Indexgenerierung
  23. 23. PERFORMANCE Backend Pre-Loader für Backend-Module Asynchrones Nachladen von Modul-Content Optimierung HTTP-Requests Optimierung der Backend-Ressourcen Modul-Optimierung für große Datenmengen
  24. 24. PERFORMANCE
  25. 25. PERFORMANCE
  26. 26. PERFORMANCE
  27. 27. PERFORMANCE
  28. 28. MUSS MEIN PLUGIN ANGEPASST WERDEN?
  29. 29. MUSS MEIN PLUGIN ANGEPASST WERDEN?NEIN!
  30. 30. MUSS MEIN PLUGIN ANGEPASST WERDEN?Es sei denn...
  31. 31. MUSS MEIN PLUGIN ANGEPASST WERDEN?A. Ja, wenn Sie einen neuen Tab im Artikelmodul hinzufügenB. Ja, wenn Sie direkt per SQL auf die Kategorie-Tabellen zugreifen
  32. 32. UPGRADE – GUIDEUpgrade -GUIDE STEHT BEREIT!
  33. 33. REFAKTORIERUNG
  34. 34. REFAKTORIERUNG
  35. 35. SYMFONY 2
  36. 36. SYMFONY 2 Warum Symfony 2? Code-Qualität / Dokumentation / Community Shopware 4 verwendet Symfony 2 bereits http-Cache Model-Validierung Bepado wurde komplett auf Basis Symfony 2 entwickelt
  37. 37. REFAKTORIERUNG Sukzessives Vorgehen Zuerst Basket / Order Objekte Plugin-Hersteller & Partner erhalten frühzeitig Zugriff auf RC Der bestehende Code wird mit Unit-/Integrations-Tests abgesichert Sofern möglich werden die bestehenden Core-Klassen Events übernommen
  38. 38. AUSBLICK
  39. 39. DEVELOPER-TOOLBAR
  40. 40. DEVELOPER TOOLBAR
  41. 41. BACKEND STANDARD-KOMPONENTEN
  42. 42. BACKEND STANDARD KOMPONENTEN Vorgefertigten ExtJS Standardkomponenten Reduzierung des Entwicklungsaufwandes Leichte Erweiterbarkeit der Standardkomponenten Neuer Default PHP Backend Controller mit den vorgefertigten CRUDMethoden
  43. 43. RESPONSIVE - TEMPLATE
  44. 44. RESPONSIVE-TEMPLATE Ein Template für alle Geräte Gleicher Seitenaufbau und Interface Keine Installation notwendig
  45. 45. AUSBLICK Update auf ExtJS 4.2.0 ~ 20-25 % höhere Rendering-Performance Backend Performance-Verbesserungen & Erweiterung Rest-API Alte API wird in der 4.3.0 entfernt Entwickler-Goodies ab 4.2.0 – z.B. Events als Konstanten vordefinieren für Auto-Vervollständigung etc.
  46. 46. AUSBLICK

×