Your SlideShare is downloading. ×
Dev roadmap-scd clean
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Dev roadmap-scd clean

46
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
46
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
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
  • Transcript

    • 1. AGENDA Shopware 4.1 Refaktorierung Ausblick
    • 2. SHOPWARE 4.1
    • 3. TECHNISCHE ÄNDERUNGEN
    • 4.  Weniger komplexe Queries im Frontend Queries skalieren besser Aufteilung der Lese- und SchreibzugriffeOPTIMIERTE KATEGORIESTRUKTUR
    • 5.  Artikelmodul - Daten werden asynchron nachgeladen Artikel - Modul ist sofort verfügbar Split-View in Artikel-ÜbersichtNACHLADEN DER ARTIKELDATEN
    • 6. NACHLADEN DER ARTIKELDATEN
    • 7. PASSWORT-HASHING
    • 8. PASSWORT-HASHING Probleme MD5 + SALT veraltetes Verfahren Passwort Übernahme bei der Shopmigration auf Shopware
    • 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. PASSWORT-HASHING
    • 11. RANDOM-GENERATOR
    • 12. RANDOM-GENERATOR
    • 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. SICHERE DISPATCH-EVENTS
    • 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. SICHERE DISPATCH EVENTS$this->subscribeEvent(        Enlight_Controller_Action_PostDispatchSecure_Frontend ,        onPostDispatchFrontend);public function onPostDispatchFrontend(Enlight_Event_EventArgs $args){       [...]}
    • 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. CACHE-ORDNER
    • 19. CACHE-ORDNER Refaktorierung der generierten Daten Caches Meta-Daten Proxies
    • 20. PERFORMANCE
    • 21. PERFORMANCE Frontend Generelle Query Optimierungen Optimierung Kategorie-Datenbank-Struktur Stabiler HTTP-Cache
    • 22. PERFORMANCE Frontend Aggregierte Zwischenspeicherung der Marketingdaten Vollständige Auslagerung der SEO und Such –Indexgenerierung
    • 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. PERFORMANCE
    • 25. PERFORMANCE
    • 26. PERFORMANCE
    • 27. PERFORMANCE
    • 28. MUSS MEIN PLUGIN ANGEPASST WERDEN?
    • 29. MUSS MEIN PLUGIN ANGEPASST WERDEN?NEIN!
    • 30. MUSS MEIN PLUGIN ANGEPASST WERDEN?Es sei denn...
    • 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. UPGRADE – GUIDEUpgrade -GUIDE STEHT BEREIT!
    • 33. REFAKTORIERUNG
    • 34. REFAKTORIERUNG
    • 35. SYMFONY 2
    • 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. 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. AUSBLICK
    • 39. DEVELOPER-TOOLBAR
    • 40. DEVELOPER TOOLBAR
    • 41. BACKEND STANDARD-KOMPONENTEN
    • 42. BACKEND STANDARD KOMPONENTEN Vorgefertigten ExtJS Standardkomponenten Reduzierung des Entwicklungsaufwandes Leichte Erweiterbarkeit der Standardkomponenten Neuer Default PHP Backend Controller mit den vorgefertigten CRUDMethoden
    • 43. RESPONSIVE - TEMPLATE
    • 44. RESPONSIVE-TEMPLATE Ein Template für alle Geräte Gleicher Seitenaufbau und Interface Keine Installation notwendig
    • 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. AUSBLICK

    ×