Schlagwort-Archiv: magento

Das „Making of kreXX“

krexxWie einige Leute vielleicht wissen, stellt BRAINWORXX im Rahmen von Open-Source Software den PHP Debugger kreXX der Allgemeinheit zur Verfügung. Kurz gesagt ist kreXX ein Analysewerkzeug, welches interne Strukturen von PHP Objekten und Arrays graphisch darstellt. Da der Download der TYPO3 Variante die 5.000’er Marke überschritten hat, wird es Zeit einen Blick auf die Entstehung von kreXX zu werfen.

Im Grunde fing alles im Frühjahr 2010 an, als wir ein umfangreiches Magento Projekt auf dem Tisch hatten. Ich selber hatte anfangs wenig Ahnung von dem Shop-System und Debug Ausgaben aus den Klassen zu bekommen, erwies sich als schwierig. Gefühlte 1.000 Seiten Vardump lesen zu müssen ist, wie ich rausgefunden hatte, wenig effektiv. Ich hab mich damals nach Alternativen umgesehen und bin dann auf den graphischen Debugger „Krumo“ gestoßen. Dieser hat eine HTML Ausgabe und ist wesentlich übersichtlicher als ein Vardump.

Die Daten, welche Krumo geliefert hat, waren das krasse Gegenteil der Vardump-Ausgabe. Krumo hat mangels öffentlicher Properties in Magento lediglich den Klassennamen ausgegeben – auch nicht wirklich zielführend. Die Idee eines graphischen Debuggers gefiel allen sehr gut, allein schon wegen der Übersichtlichkeit.

Da der Quellcode von Krumo wie in allen Open Source Produkten zur Verfügung stand, wurde er einfach von uns erweitert. Die meisten Magento-Klassen verfügen über eine eigene Debug-Funktion (was ich anfangs aber nicht wusste), deren Ausgabe wurde einfach zu Krumo umgeleitet. Im Laufe der Jahre kamen andere Ergänzungen hinzu, die erweiterte Krumo Version kam dabei auch in TYPO3 oder Drupal zum Einsatz.

Im Sommer 2014 haben wir dann die Entscheidung getroffen die erweiterten Krumo version der Open-Source Gemeinde zur Verfügung zu stellen. Damit wurde eine wesentlich intensivere Weiterentwicklung angestoßen, als sie bisher stattgefunden hat. Ein Name war auch schnell gefunden: kreXX (was so viel bedeutet wie „Krumo Extended“).

Für die Hosting-Plattform haben wir uns anfangs für Sourceforge entschieden. Nach mehreren Wochen intensiver Arbeit war der Quellcode soweit aufgeräumt, das er der Öffentlichkeit präsentiert werden konnte. Als nächstes wurden Extensions für die 3 Hauptsysteme geschrieben die wir einsetzen, namentlich Magento, TYPO3 und Drupal. Leider hat die Veröffentlichung der Drupal Extension nicht geklappt, da es dort bereits mehrere andere Debugger gibt.
Das Hauptmerkmal von kreXX ist immer noch die graphische Oberfläche. Deswegen war die erste große Funktion, die wir eingebaut haben, die Möglichkeit aus verschiedenen Benutzeroberflächen auswählen zu können. Gemeinsam mit unseren talentierten Designern wurde ein neues, noch übersichtlicheres Aussehen von kreXX entworfen und umgesetzt.

Hans Oberfläche

Diese neue Benutzeroberfläche trägt den Namen „Hans“ und der kam folgendermaßen zu Stande:

Tobi:         Das Design sieht echt gut aus. Wie nennst Du es denn?
Nicklas:    Ich? Gar nicht.
Tobi:         Aber es muss doch einen Namen haben!
Nicklas:    Hat es nicht.
Tobi:         Irgendwie muss ich es aber benennen, immerhin haben wir noch das alte drin, und
                             man kann umschalten.
Nicklas:    Dann benenn es doch irgendwie.
Tobi:         Ich? Aber Du hast es doch entworfen. Gib mir einfach einen Namen.
Nicklas:    Hans
Tobi:         . . . „Hans“? Wirklich?
Nicklas:    Du wolltest einen Namen, und ich nenne es „Hans“.

In der Entwicklung ist die schwierigste Aufgabe oft genug die Benennung von Bestandteilen. Es gibt inzwischen natürlich eine weitere Benutzeroberfläche, mit dem etwas ernsthafteren Namen „Smoky-Grey“.

Smoky-Grey Oberfläche

Smoky-Grey Oberfläche

Im Laufe der Zeit wurde der anfängliche Funktionsumfang massiv erweitert. Der nächste große Meilenstein war dann im Sommer 2016. Ein fast kompletter Umbau der internen Struktur, sowie der Umzug zu Github. Eine genaue Liste aller Features und Funktionen kann hier gefunden werden.
Mit der Version 2.x ist kreXX ein beliebter Debugger, der von vielen Entwicklern im Bereich TYPO3 und Magento eingesetzt wird.

Linkliste:
Typo3 Extension
Magento Extension
Github: www.github.com/brainworxx/kreXX
www.github.com/brainworxx/kreXX-TYPO3-Extension
www.github.com/brainworxx/kreXX-Magento-1-Extension

Dokumentation
www.docs.typo3.org/typo3cms/extensions/includekrexx/
www.github.com/brainworxx/kreXX/wiki

  • Diesen Beitrag weiterempfehlen:

Magento’s Event-Observer-Pattern – Oder: Die bessere Art Core-Code zu erweitern

Häufig muss man als Entwickler Daten an bestimmten Stellen im Code modifizieren.
Um die Updatefähigkeit von Magento zu erhalten, wird üblicherweise ein Modul erstellt
und die entsprechende Klasse überschrieben.

Dieses Vorgehen kann allerdings zu Konflikten mit anderen Modulen führen, die möglicherweise die selbe Klasse überschreiben.

Eine viel elegantere Möglichkeit den Core-Code bei bestimmten Ereignissen zu überschreiben,
bietet das Event-Observer-Pattern, welches in Magento vollständig integriert ist.
Der große Vorteil hierbei ist, dass auf Daten Einfluss genommen werden kann, ohne
die entsprechenden Methoden zu bearbeiten oder zu überschreiben. Darum sollte, falls möglich,
diese Variante unbedingt dem Überschreiben von Klassen vorgezogen werden.
weiterlesen

  • Diesen Beitrag weiterempfehlen:

Magento-Workaround: Kategorien eines inaktiven Stores ausgeben

Das Problem

Bei einem aktuellen Projekt sind wir auf das Probem gestoßen, dass wir eine vollwertige CategoryCollection für ein Aufklapp-Menü von allen Stores benötigen – auch die, die nicht in Mage::app() als aktiv gesetzt sind.

In Magento kann immer nur ein Store aktiv sein. Zu diesem Store bekommt man ohne Probleme die Objekte für die Namen, Bilder, URLs usw.
Versucht man jedoch aus einem inaktiven Store eine CategoryCollection zu erhalten, bekommt man bei eingeschaltetem Rewrites einen Link mit dem aktiven Store-Code und nicht den, dem die Kategorie eigentlich zugeordnet ist.
Somit führen die URLs zu einem 404-Error. weiterlesen

  • Diesen Beitrag weiterempfehlen:

Neues Magento Sprachpaket in der „DU“-Version

Deutsches Magento SprachpaketWir haben das deutsche Magento Sprachpaket komplett von „Sie“ auf „Du“ umgeschrieben und möchten es nun der Community zur Verfügung stellen.
Zu finden ist das Paket im MagentoConnect Marktplatz unter dem Paketnamen „deutsches_sprachpaket_DU“ oder direkt unter diesem Link.


EDIT am 2.10.2012:

Danke Nick für das Feedback. Leider ist das Paket nicht mehr im MagentoConnect, du kannst es dir hier herunterladen.


Die Übersetzung basiert auf dem Sprachpaket von Rico Neitzel und wurde teilweise noch ergänzt.

  • Diesen Beitrag weiterempfehlen: