AGENDA
 Shopware 4.1
 Refaktorierung
 Ausblick
SHOPWARE 4.1
TECHNISCHE ÄNDERUNGEN
 Weniger komplexe Queries im Frontend
 Queries skalieren besser
 Aufteilung der Lese- und Schreibzugriffe
OPTIMIERTE KATEGORIESTRUKTUR
 Artikelmodul - Daten werden asynchron nachgeladen
 Artikel - Modul ist sofort verfügbar
 Split-View in Artikel-Übersicht
NACHLADEN DER ARTIKELDATEN
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 Migration der Passwörter
 Passwörter können bei Shopmigration übernommen werden
 Über Plugin erweiterbar auf spezielle Algorithmen
PASSWORT-HASHING
RANDOM-GENERATOR
RANDOM-GENERATOR
RANDOM-GENERATOR
// Returns random integer
ShopwareComponentsRandom::getInteger(5, 99);
// Generate random string the following charlist: a-zA-Z0-9
ShopwareComponentsRandom::getAlphanumericString(20);
// Generate random float between 0..1
ShopwareComponentsRandom::getFloat();
SICHERE DISPATCH-EVENTS
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;
         }
         [...]
}
SICHERE DISPATCH EVENTS
$this->subscribeEvent(
        'Enlight_Controller_Action_PostDispatchSecure_Frontend ',
        'onPostDispatchFrontend'
);
public function onPostDispatchFrontend(Enlight_Event_EventArgs $args)
{
       [...]
}
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}
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 –Indexgenerierung
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
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ügen
B. Ja, wenn Sie direkt per SQL auf die Kategorie-Tabellen zugreifen
UPGRADE – GUIDE
Upgrade -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
 Model-Validierung
 Bepado wurde komplett auf Basis Symfony 2 entwickelt
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
AUSBLICK
DEVELOPER-TOOLBAR
DEVELOPER TOOLBAR
BACKEND STANDARD-KOMPONENTEN
BACKEND STANDARD KOMPONENTEN
 Vorgefertigten ExtJS Standardkomponenten
 Reduzierung des Entwicklungsaufwandes
 Leichte Erweiterbarkeit der Standardkomponenten
 Neuer Default PHP Backend Controller mit den vorgefertigten CRUD
Methoden
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 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.
AUSBLICK
SCD13: Die technische Roadmap von Shopware 4

SCD13: Die technische Roadmap von Shopware 4

Hinweis der Redaktion

  • #31 A. Ja, wenn Sie einen neuen Tab im Artikelmodul hinzufügen B. Ja, wenn Sie direkt per SQL auf die Kategorie-Tabellen zugreifen
  • #32 A. Ja, wenn Sie einen neuen Tab im Artikelmodul hinzufügen B. Ja, wenn Sie direkt per SQL auf die Kategorie-Tabellen zugreifen