Wer die Rechnungslogik oder die Gutschrift-Verarbeitung in Magento 2 per Preference komplett neu schreibt, riskiert Konflikte mit jedem weiteren Modul und jedem Core-Update. Plugins auf InvoiceRepositoryInterface, CreditmemoManagementInterface und ShipmentRepositoryInterface erlauben gezielte Erweiterungen: eigene Nummerierung, Freigabe-Workflows für Gutschriften, zusätzliche Totals-Zeilen und automatische Rechnungserstellung bei Versand, ohne die Kernlogik zu ersetzen.
Die klassische Suche nimmt eine Suchanfrage entgegen und findet passende Dokumente in einem Index. Manche Anwendungsfälle brauchen jedoch genau die umgekehrte Richtung: Ein neues Dokument trifft ein, und die Anwendung muss herausfinden, welche von vielen gespeicherten Suchanfragen darauf zutreffen würden. Ein typisches Beispiel ist ein Preisalarm, bei dem tausende Kunden individuelle Suchkriterien hinterlegt haben und benachrichtigt werden sollen, sobald ein neues Produkt genau diese Kriterien erfüllt. Elasticsearch bietet dafür die Percolator Query, die gespeicherte Suchanfragen als eigene Dokumente indexiert und bei jedem neuen Produkt effizient prüft, welche davon zutreffen. Wie das funktioniert, wie sich der Anwendungsfall Preisalarm konkret umsetzen lässt und wo bei sehr vielen gespeicherten Queries die Performance-Grenzen liegen, zeigt dieser Artikel.
Die date_histogram Aggregation gruppiert Dokumente in feste Zeit-Buckets und ist damit das Fundament fast jeder Zeitreihen-Auswertung in Elasticsearch und OpenSearch. Wer calendar_interval und fixed_interval verwechselt oder Zeitzonen ignoriert, bekommt Dashboards mit verschobenen Balken und falschen Tagesgrenzen, ohne dass die Query einen Fehler wirft.
Die Standard-Filter der Admin-UI-Components decken die meisten Grids gut ab, stoßen aber bei Wertespannen, dynamischen Optionslisten oder fachlichen Sonderfällen schnell an ihre Grenzen. Wer weiß, wie Filter-Deklaration, Frontend-Komponente und Collection-Modifier zusammenspielen, kann jeden gewünschten Filter-Typ sauber nachrüsten, statt Workarounds über JavaScript-Hacks im Grid zu bauen.
Staging und Preview wie Scheduled Updates intern funktionieren
Geplante Änderungen in Magento 2 wirken im Admin oft komfortabel, intern sind sie aber ein anspruchsvolles Zeit- und Datenmodell. Wer Staging nur als Marketing-Funktion betrachtet, unterschätzt schnell die Auswirkungen auf Inhalte, Produktdaten und operative Sicherheit.
Magento 2 Staging ist mehr als ein Komfortfeature für Marketingteams. Es modelliert zukünftige Zustände von Inhalten und Produktdaten entlang einer Zeitachse. Genau das
Eine Slack-Nachricht, die lediglich "Build fehlgeschlagen" meldet, ohne anzugeben, welcher Test betroffen war, seit wann das Problem besteht oder ob es sich überhaupt um eine bekannte Flakiness handelt, zwingt jede Empfängerin und jeden Empfänger zu einem Klick in die CI-Oberfläche, nur um die grundlegendste Frage zu beantworten, was eigentlich passiert ist. Eine durchdachte Slack-Integration liefert stattdessen bereits im Alert selbst genügend Kontext, um die Dringlichkeit sofort einschätzen zu können, während eine gezielte Filterung verhindert, dass das Team durch permanentes, letztlich ignoriertes Rauschen in eine gefährliche Alert-Fatigue gerät.
Claude-Modelle lassen sich ueber drei unterschiedliche Wege in eine Anwendung integrieren: die direkte Anthropic API, Amazon Bedrock oder Google Vertex AI. Alle drei liefern denselben Modell-Zugriff, unterscheiden sich aber in Abrechnung, Datenresidenz, Latenz und der Integration mit bestehender Cloud-Infrastruktur, was die Wahl zu einer architektonischen statt rein preislichen Entscheidung macht.
Globale Variablen und Singletons wirken bequem, machen PHP-Code aber schwer testbar, schwer parallelisierbar und in großen Projekten unberechenbar. Dieser Artikel zeigt, wie man Singleton::getInstance(), $GLOBALS und statische Registries schrittweise durch Dependency Injection ersetzt, ohne die Anwendung in einem Rutsch umzubauen.
DOM basiertes Cross Site Scripting entsteht meist nicht durch fehlende serverseitige Filterung, sondern durch unsichere Zuweisungen an innerHTML, document.write oder eval mitten im Frontend Code. Die Trusted Types API schließt diese Lücke strukturell, indem der Browser gefährliche Zuweisungen an DOM Sinks nur noch akzeptiert, wenn der Wert vorher durch eine definierte Policy in einen speziellen Typ umgewandelt wurde.
RDB und AOF lösen dasselbe Grundproblem, den Verlust von Daten im Speicher bei einem Absturz, mit vollkommen unterschiedlichen Kompromissen zwischen Recovery-Zeit, Datenverlust-Fenster und Ressourcenbedarf. Wer beide Mechanismen versteht und weiß, wann sich die Kombination aus RDB und AOF lohnt, trifft eine Persistenz-Entscheidung, die zum tatsächlichen Anwendungsfall passt, statt sich auf Standardwerte zu verlassen.