Dev roadmap-scd clean

271 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
271
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • A. Ja, wenn Sie einen neuen Tab im Artikelmodul hinzufügen B. Ja, wenn Sie direkt per SQL auf die Kategorie-Tabellen zugreifen
  • A. Ja, wenn Sie einen neuen Tab im Artikelmodul hinzufügen B. Ja, wenn Sie direkt per SQL auf die Kategorie-Tabellen zugreifen
  • Dev roadmap-scd clean

    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

    ×