Ich bin im Moment auf den letzten Metern eines Projekt auf Basis der E-Commerce-Plattform Magento. Zunächst das Positive: Man kann als Designer in die Vollen gehen und wirklich fast jeden HTML-Schnipsel den eigenen Bedürfnissen anpassen. Und es sieht Out-of-the-box mit seinen vielen Funktionen und seinem ganzen Ajax-Krempel und sehr sexy aus. Und es gibt auch schon eine ganze Latte an Büchern über das gute Stück. Und es basiert auf dem etablierten Zend-Framework. Obendrein hat mal irgendein Red-Hat-Heini gesagt I’ve never seen another ecommerce platform so well architected and well designed as Magento
Was kann da schon schiefgehen?
Nun gab es ja im Laufe der Jahre so manches Tool, von dem man sich viel anfangs versprach und sich dann als mehr so mitteleffektiv erwiesen hat. Beispielsweise weil es zwar auf dem Papier was hermachte, dann aber so ernorm viele Ressourcen verschlang, dass man sich hinterher wünscht, man hätte die Finger davon gelassen. Magento besteht aus knapp 1000 Dateien mit mehr als 200.000 Zeilen Code. Einige dieser Dateien gehören zum Template-System und haben dann solchen Inhalt. Da hat ja auch durchaus auch jede Zeile so ihre Daseinsberechtigung (nehme ich jedenfalls an), aber es ist dann doch manchmal schon einfach recht viel und es ist nicht immer übersichtlich. Manchmal muss man ganz schön suchen. Meistens. Die meiste Zeit. Ich jedenfalls.
Denn wenn man die entsprechenden Ressourcen übrig hat (zu denen man, wenn man einigermaßen erträgliche Performance erreichen möchte, einen eigenen Server zählen sollte), muss man noch wissen wie man das Tool richtig zum Einsatz bringt – sonst baut man nur Blödsinn. Und da wäre dann ja Dokumentation ganz hilfreich. So hat zum Beispiel obriges Code-Beispiel einen Kommentar (der einzige neben dem Abschnitt über die Lizenz) in dem @see Mage_Catalog_Block_Product_Abstract
empfohlen wird. Also navigieren wir zu der Datei /app/code/core/Mage/Catalog/Block/Product/Abstract.php, wo man uns dann umfassend über den Sinn und Zweck der diversen Funktionen informiert:
/**
* Enter description here...
*
* @param Mage_Catalog_Model_Product $product
* @return string
*/
Zuerst dachte ich, dass meine Verwirrung einfach daher kommt, dass ich nicht smart genug für Magento bin. Andererseits, Leute mit bedeutend mehr Ahnung von PHP scheinen ähnlich verwirrt zu sein wie ich. Da heißt es dann kurz und knapp Magento ist scheisse oder, etwas bedächtiger formuliert if that is what RedHat calls good software architecture and design, I’d better refrain from using any RedHat software in the future. Die Slides aus dem letzten Link sind durchaus ansehenswert.
Ich bin weder Zend-Experte noch ein ausgemachter PHP-Nerd allgemein, aber wenn ich die Core-Datei für den Output von CMS-Seiten hacken muss, damit dort die Warnungen an der gleichen Stelle angezeigt werden wie in meinem restlichen Template … bin ich dann derjenige der was falsch gemacht hat? Das ist doch eigentlich nicht der Sinn von MVC, oder? Ich weiß es nicht. Was ich aber als Frontendentwickler mit einiger Gewissheit kommentieren kann, ist der Einsatz von Javascript bei Magento. So findet man beispielsweise im Code des Blank-Themes, also der offiziellen Vorlage für neue Shopdesigns, sehr oft derartiges:
<button type="button" class="button" onclick="productAddToCartForm.submit()"><span><?php echo $this->__('Add to Cart') ?></span></button>
Wenn Javascript aus ist, funktioniert das natürlich nur bedingt. Das mag jetzt ja vielleicht angesichts von dem müden einen Prozent JS-freier Surfer mehr oder minder nebensächlich sein (ich sehe das nicht so) aber mich verblüfft einfach die völlige Sinnlosigkeit dieser Konstruktion. Warum sollte man das so machen? Warum keinen Submit-Button?
Wobei das da eigentlich noch kein Problem ist. Wenn man ein neues Template baut, kann man solche Teile ja entfernen. Schwieriger wird es dann, wenn man konfigurierbare Produkte hat (sowas wie die Auswahl einer Kleidungsgröße). Da werden dann eben die entsprechenden Select-Elemente gefüllt, indem irgendwo im Template per PHP JSON geprintet wird, das von Javascript dann in Option-Elemente verwandelt wird. Auch hier: das kann man ja gerne so machen (wenn einem Zugänglichkeit und so egal sind), aber... warum? Das nützt doch niemandem. Wer hat was davon, wenn man ohne Javascript sein Kundenpasswort nicht ändern kann?
Ich wäre vielleicht schlauer, wenn ich jemanden hätte der mir diese Fragen beantworten kann. Das Problem ist nur, dass im Forum von Magento so wenig los ist, dass da niemand ist, der einem antworten könnte. Das Wiki ist ist auch eher dünn und der offizielle Designer's Guide, der eigentlich – so würde man vermuten – Webworkern bei der Umsetzung von Designs helfen soll, besteht im wesentlichen aus OMG UNSER TEMPLATE-SYSTEM IST SOOOOO TOLL!!!!!111. Entschuldigung, aber das ist Masturbation, nicht Dokumentation. Erklärt wird da nicht so viel. Oder wenn da was erklärt wird, ist es mir nicht aufgefallen oder hat es mir nicht geholfen – ich habe alles, was ich heute über Magento weiß (und das ist dann doch mittlerweile einiges) durch Suchen und Probieren herausfinden müssen.
Ich möchte meine Ausführungen mit einem Zitat aus der Datei /app/code/Mage/Core/Model/Url.php schließen und ausdrücklich die Möglichkeit einräumen, dass ich einfach nicht schlau genug für Magento bin.
/**
* All system params should be unseted before we call getRouteUrl
* this method has condition for ading default controller anr actions names
* in case when we have params
*/
Aber es kann natürlich auch sein, dass man aus einer Reihe von Gründen die Finger von diesem Stück Software lassen sollte.
Kommentare (57)
Nikolaus Rademacher ¶
6. Oktober 2009, 18:23 Uhr
Habe ähnliche Erfahrungen mit Magento gemacht – Ziel war allerdings nur das Umsetzen eines ganz einfachen Shop-Systems. Im Nachhinein betrachtet, war Magento da definitiv overkill.
Trotzdem: Es gibt Systeme, in denen ich mich viel schneller zurechtgefunden habe...
Schepp ¶
6. Oktober 2009, 18:31 Uhr
Ja. Ja. Und nochmals ja!
Die Doku und die Tutorials sind unterirdisch, weil sie dort aufhören wo es anfängt detaillierter zu werden. Das merkt man aber erst wenn man den Kundenauftrag angenommen hat, weil man beim überfliegen dachte "das ist ja dokumentiert, also werd ich es wohl hinbekommen".
Magento muss man offenbar fulltime machen, oder man lässt es lieber ganz. Und nachdem ich mir einmal die Finger verbrannt habe, tendiere ich zum "lieber ganz" und huldige statt dessen diversen anderen Göttern.
chris ¶
6. Oktober 2009, 18:38 Uhr
danke für dein beitrag. alternativen? ich mein man kann ja auch schlecht oscommerce nehmen...
Schepp ¶
6. Oktober 2009, 18:58 Uhr
Zitat chris:
In dem von Peter verlinkten Artikel "Magento ist scheisse" wird Oxid eShop als gute Alternative benannt. Ansonsten habe ich selbst schon mit dem neuen xt:commerce 4.0 Veyton gearbeitet, und hatte einen sehr guten Eindruck (nach einem durch xtc 3 verursachten Dauer-Agressions-Trauma).
Peter ¶
6. Oktober 2009, 19:03 Uhr
Zitat Nikolaus Rademacher:
Och, mein Projekt ist kein ganz einfacher Shop. Ist aber trotzdem geoverkillt :)
Zitat chris:
Meiner Meinung nach gibt es da draußen nur Müll. Zwar verschiedene stark verstrahlte Arten von Müll, aber eben Müll.
Ralf G. ¶
6. Oktober 2009, 19:12 Uhr
Ja, das kenne ich, ich baue auch gerade an einem Magento-Shop. Ich arbeite mit PHP seit den Zeiten, als es noch PHP/FI hieß, aber ich bin auch nur am suchen. Schon das originelle Datenbankdesign löst Heiterkeitsausbrüche aus, die schnell vergehen, wenn man Daten aus externen Quellen in diesen schwerfälligen Datenbankwust übernehmen muss.
Und die Templates erst, macht einen Heiden-Spaß in 87 xml-, php- und CSS-Dateien zu wühlen, um was eigentlich Banales anzupassen. Und der Teil der Doku, der nicht aus selbst auf die Schulter klopfen besteht, ist banal und hört auf wenn es interessant wird.
Wenn das die Speerspitze der PHP-Shopsysteme ist, möchte ich die anderen lieber nicht kennen lernen. ;)
Schlimme Sache, hart verdiente Brötchen.
Markus Schlegel ¶
6. Oktober 2009, 20:16 Uhr
Tja, es muss ja auch einen Grund haben, warum alle Wordpress zur Shopping-Cart-legenden Content-Management-Sau machen wollen. Ich hoffe einfach, dass ich nie in den Genuss kommen werde, einen Shop zu realisieren.
Felix Nagel ¶
6. Oktober 2009, 21:19 Uhr
Danke für diesen interessanten wie gut zu lesenden Artikel.
Der "Kelch" Magento ist für dieses Mal an mir vorbeigegangen, aber man liest doch immer wieder das es etwas "anspruchsvoller" sei. Vielleicht besser das ich erstmal weiter mit TYPO3 arbeite, das lässt sich ja ganz gut handeln ;-)
Da ich ebenfalls aus dem FE Bereich komme, halte ich die beschriebenen Gegebenheiten auch für äußerst fragwürdig. Als ein um Zugänglichkeit stets bemühter Frontender treibt es mir, um genau zu sein, die Tränen in die Augen.
Raphael ¶
6. Oktober 2009, 21:32 Uhr
Gut hab ich mir Magento zuerst angeschaut, bevor ich ein Projekt damit durchziehen sollte.
- Was mir als erster auffiel war die Performance. Für den kleinen Webshop den ich machen sollte will und kann ich nicht auf ein günstiges Shared-Hosting Angebot verzichten. Selbst mit einigen Tweaks war meine Kaffeemaschine noch schneller mit der Zubereitung wie Magento mir eine Seite zusammenflickt.
- Das Backend sollte danach nicht von mir bedient werden doch die haben das wichtige wirklich an unmöglichen Orten platziert und das was nie gebraucht wir an prominentester Stelle.
- Nach alle dem habe ich mal ein eigenes Theme begonnen, da hab ich dann aber schnell die Finger davon gelassen.
Viel Glück noch mit dem Projekt Endspurt
Dominik Fischer ¶
7. Oktober 2009, 06:36 Uhr
Ich realisiere auch gerade ein Projekt in Magento. Nach diesem Artikel weiß ich jetzt nicht, ob ich mir in den Hintern beißen soll.
Aber im Vorfeld, vor ca. 8 Wochen, habe ich wirklich viele Shopsystem getestet, hinter der einigermaßen Leben steckt. Xt und Os waren mir irgendwie zu grottig. Die anderen bieteten keine ausreichende Funktionen. Dann war noch Oxid und Magento über. Bei Oxid kam irgendwie das Windows 95 gefühl wieder hoch. Also nahm ich Magento. Schaut gut aus und kann viel. Außerdem benutzt Jack Wolfskin und andere Größen das System. Kann ja nicht schlecht sein.
So, nach einigen Unterbrechungen im Projektverlauf kann ich nun auf einen halb fertigen Shop zurückblicken. Das Theme ist fast fertig und ein Import-Modul habe ich auch schon geschrieben.
Nach ein paar Anfangsschwierigkeit geht das Ganze recht flott und ich fand schnell zurecht. Dank Netbeans und Code-Completion geht's noch etwas schneller.
Sicher, die Dokumentation kann man runterspülen, zumindest das Meiste davon. Aber ab Ende November gibt es das Magento Entwicklerhandbuch, das hoffentlich viele Fragen löst: Magento - Das Handbuch für Entwickler
Also ich denke, dass für einen Großen Auftritt, zur Zeit Magento noch das bessere System ist, auch wenn noch vieles zu machen ist. Aber hallo, seit wann gibt es die Software? 2008? Das geht doch oder?
Daim ¶
7. Oktober 2009, 07:02 Uhr
Ganz ehrlich? Ich programmiere lieber ein Modul für Magento, was mittlerweile sehr schnell geht, als mich mit dem Design zu befassen. Den das muss einfach mal gesagt werden es gibt keine TempateEngine, jedenfalls würde ich das was da ist nicht so nennen wollen. Alles schön versteckt und verschachtelt in xml dateien
Eric ¶
7. Oktober 2009, 08:00 Uhr
Vorneweg: Ich bin Fulltime Magento Developer bei einer Agentur in Hannover, die nichts anderes macht.
Ich hatte, als ich vor einigen Monaten nach meiner Ausbildung hire angefangen hatte, die gleichen Gedanken, wie du sie oben beschreibst. Schon viel mit PHP gemacht und dann fragt man sich teilweise, was der Kram soll.
Zugegeben, mir hat sich immernoch nicht alles erschlossen. Einige Punkte sind nach wie vor nachvollziehbar. Aber man gewoehnt sich dran. Nach einer gewissen Einmarbeitungszeit findet man die Sachen die man braucht auch ohne Dokumentation. Durch diese ganzen magischen Methoden wird einem das nicht immer einfach gemacht. Reflection Objects helfen trotzdem sehr oft weiter.
Trotzdem stoesst man auch nach Monaten jeden Tag wieder ueber neue Sachen, die wirklich nirgendwo schriftlich festgehalten sind.
Magento its viel trial & error.
Magento kann man nicht mal eben "nebenbei". Aber man kann wirklich absolut jede Funktionalitaet mit Modulen realisieren, das ist wirklich toll geloest, auch wenn es am Anfang total overkill erscheint.
Klar waere es viel einfacher, wie bei OSC, einfach die core Dateien zu aendern und direkt an den queries rumzufummeln.
Aber es ist aehnlich wie mit Windows ME oder NTFS unter Linux. Es kann toll funktionieren, aber beschwer dich nicht, wenn es nicht so laeuft wie du es dir vorstellst.
Versucht mal einen OSC Shop zu updaten nachdem ihr etwas funktionalitaet erweitert habt. Unmoeglich.
Bei Magento muss nur getestet werden, ob sich irgendwas geaendert hat, was man erbt oder benutzt im Modul. Theoretisch sind so Updates in extrem kurzer Zeit moeglich. Und das ohne erneute Code Anpassung.
Das mit dem Forum ist teilweise wahr, allerdings gibt es viel Kommunikation per PM. Die Leute wollen Ihre Loesungen nicht oeffentlich teilen. Da ist der open-source Gedanke noch nicht ueberall angekommen.
Just my 2 cents.
Rico Neitzel - Magento Community Manager Germany ¶
7. Oktober 2009, 08:03 Uhr
Hallo,
das ruft natürlich gleich die Gefolgschaft auf den Plan :) Ich finde schön, dass Magento polarisiert und dass darüber diskutiert wird.
Was jedoch viele noch nicht gelesen/begriffen haben ist, dass sich Magento ganz klar als Enterprise Lösung platziert. Was das genau bedeutet, - Peter an dich -, würde ich gerne in einem kleinen Interview erklären. Vielleicht hast du Lust, mir ein paar Fragen zusammenzustellen und wir diskutieren mal bei einem Skype-Call/Telefonat.
Dein Blog wird viel gelesen und vielleicht hast du die Möglichkeit, das Thema dann mal von zwei Seiten zu beleuchten, denn aktuell gibt es augenscheinlich nur Jubel- oder Hassberichte.
Viele Grüße
Rico
Florian ¶
7. Oktober 2009, 08:06 Uhr
Danke für deinen Einblick Peter. Ist mir sehr nützlich, da ich kurz davor bin einen Webshop einzusetzten. Ich habe mich wohl etwas von den Features blenden lassen und quasi schon für Magento entschieden gehabt.
Ich habe in einem Vergleichstest (sorry URI habe ich nicht mehr) gelsen, dass knapp 480 Mannstunden nötig sein können um das System zum Laufen zu bringen. Das wäre für mich ja noch hinnehmbar gewesen, wird man dafür dann ja auch bezahlt.
Aber das ich jetzt lese, dass diese Zeit unter anderem für Korrekturen (siehe JavaScript statt submit) aufgewendet werden muss sträube ich mich jetzt zutiefst.
Vinai ¶
7. Oktober 2009, 08:52 Uhr
Nu ja, was soll ich sagen...
Über den unnötigen Script Code auf den Buttons habe ich mich auch schon oft geärgert.
Die Comment-Blocks sind seit 1.3 viel besser geworden, und in der 1.4 alpha schon sehr brauchbar. Wenn jetzt die Unit Tests ach veröffentlicht werden bin ich glücklich. Da wird aktiv nach gebessert.
Eine kleine Korrektur zu den Option-Dropdowns bei den configurable products: es sind ja nicht immer alle Kombinationen verfügbar. Also L gibts z.B. in grün und rot, XL aber nur in rot. Da macht es in meinen Augen durchaus Sinn dem Kunden nur die verfügbaren Variationen anzubieten.
Mit dem price Template hast du ja das schlimmste Beispiel ausgesucht. Die meisten der .phtml Templates finde ich recht simpel und einfach zu verstehen - dir geht es bestimmt nicht anders.
Übrigens gibt es mittlerweile einen ganzen Haufen an guten Blog-Posts, Wiki-Seiten und Screencasts (und auch Büchern) zum Thema Magento und Magento-Programmierung. Es wäre natürlich schön wenn diese Zentral auf www.magentocommerce.com gesammelt wären, aber mit etwas suchen finde ich ist es kein Problem, daß der User- und Designerguide von Varien so schwach ausfallen.
Just my 2c,
Vinai
Markus ¶
7. Oktober 2009, 09:03 Uhr
Ich kann dem Artikel wirklich nur beipflichten! Magento erscheint mir an vielen Stellen einfach alles andere als ausgereift zu sein. Von dem Terrorcode mal ganz zu schweigen.
Dieses System hat mich nun schon so manchen Nerv gekostet und meine ganzen Anpassungen sind beim nächsten Update wieder für die Katz! (Extensions schreiben ist ja auch nicht gerade das leichteste bei diesem bescheidenen System)
Felix Nagel ¶
7. Oktober 2009, 09:11 Uhr
Langsam hab ich das Gefühl das eines der Hauptprobleme ist das sehr viele Programmierer sich an das Teil rantrauen, die nicht dafür geeignet sind. Mich eingeschlossen. Auf Grund meiner wenigen Erfahrung mit Enterprise CMS wie Day CQ oder Weblication GRID weiß ich das diese Systeme auch sehr komplex und furchtbar kompliziert wirken. Vor allem auch durch die massive Einteilung in verschiedene Schichten.
Ich denke viele Entwickler steigen eben von System wie OS (und ablegern) um oder kenne sich mit Joomla, TYPO3 oder WordPress aus -- und da liegen einfach Welten zwischen. Wobei TYPO3 wohl bald aufholen wird. Wenn denn das FLOW3 gepowerte Flagschiff TYPO3 4.x irgendwann mal fertig wird ;-)
Peter ¶
7. Oktober 2009, 10:13 Uhr
Zitat Vinai:
Das kann man auch so machen, dass es ohne Javascript bedienbar ist.
Es ist aber immer noch reichlich Konvolut vorhanden..
Größe, Schichten, Enterprise-Faktor … das sieht man ja kommen und da wundert sich glaube ich auch niemand. Dass man damit nicht den kleinen Merchandising-Shop der lokalen Hair-Metal-Band aufsetzen sollte, versteht sich von selbst (wobei man bei Magento ja auch gerne mal was anderes durchblicken lässt. Naja, egal, Werbung halt).
Aber wenn man im Front- wie im Backend alle paar Dateien ein neues WTF findet (jetzt mal ehrlich) und die Dokumentation quasi nicht existent ist … dann ist das in meinen Augen einfach keine besonders gute Software. Und auch dass die sogenannten „Alternativen“ selbst mehr so halbtoll sind, hilft hier ja niemandem weiter.
Mario H. ¶
7. Oktober 2009, 10:33 Uhr
Habe gerade ein größeres Projekt mit Magento realisiert und reichlich geflucht. Nicht nur über die fehlende Doku, sondern auch über die fehlende Flexibilität. Beispiel: sorg einfach mal dafür, dass du keine Shipping Method mehr hast. Nix da mit schnell gemacht. Oder - das imho coolste - sorge mal dafür, dass auf dem Review hinter Shipping Costs keine Klammer mit Infos steht. Man soll es nicht glauben: dafür muss ein Modul programmiert werden.
Solche Sachen kommen dauernd wieder vor, irgendwelche HTML-Snippets, die im Core zusammengesetzt werden, ohne, dass es Templates gibt, Prozesse, die fest verdrahtet sind, etc.
Dominik Fischer ¶
7. Oktober 2009, 10:51 Uhr
Zitat Mario H.:
Dafür kann man dann auch ohne bedenken Upgrades durchführen, die zwar den Corecode anpacken aber keine Module. Die haben sich da schon etwas bei gedacht.
Vinai ¶
7. Oktober 2009, 10:55 Uhr
Zitat Mario H.:
Ich denke das ist made by design - aber wo ist das Problem?
Was für mich gut funktioniert ist ein Modul, in dem kleine, Projekt spezifische Änderungen gemacht werden, und jedes Feature, das mal wieder verwendet werden soll kommt in ein eigenes Modul. Klappt ganz ausgezeichnet, sogar über mehrere Versions-Upgrades hinweg.
Die Arbeit an Magento ist Modul-Zentriert.
Natürlich ist bei einem Projekt der Größe von Magento nicht alles toller Code (WTF's gibts echt einige...).
Die Vorstellung irgend etwas *ohne* Modul anzupassen ist bei Magento meines Erachtens ein Holzweg.
Daim ¶
7. Oktober 2009, 11:33 Uhr
Wie schon Vinai gesagt hat sollte man alles in Module packen. Klar gibt es dort auch paar stolperfallen. Belohnt wird das jedoch wirklich durch die Upgradefähigkeit die sonst eher seltend zu finden ist. Nur bei den Templates da müssten die Jungs sich wirklich was überlegen, da sind die größten WTF's zu finden.
Mario H. ¶
7. Oktober 2009, 11:39 Uhr
Ich glaube, ich werde hier vollkommen falsch verstanden. Es geht nicht darum, ob man's im Core oder per Modul anpasst, es geht darum, dass selbst Template-/Content-Änderungen mit Modulen durchgeführt werden müssen. Wenn ich nur eine Shipping Method habe, warum muss ich das trotzdem anzeigen? Wenn ich die Shipping Method nicht benennen will, warum kann ich das nicht einfach ändern? Wenn ich eine andere Darstellung des Reviews im Bereich Taxes, Methods und Co. haben will, warum muss ich dann programmieren? Solche Sachen meine ich. Da ist Typo3 in vielen Dingen einfacher.
Rico Neitzel ¶
7. Oktober 2009, 11:56 Uhr
Zitat Mario H.:
Und genau da liegt der Unterschied. Wenn wir mal die 1. Typo3 Version anschauen, werden wir sicher auch etliche Unzulänglichkeiten feststellen, die erst mit der Zeit angepasst wurden.
Die Frage ist doch aber noch weiter zu fassen: Wenn doch diese Änderungen so essentiell sind und von etlichen Magento-Integratoren (wie du und SirPepe hier) immer wieder gemacht werden, wieso wird daraus nicht ein Contribute?
Wieso gibt keiner das Wissen weiter und beteiligt sich. Es ist immernoch OpenSource. OpenSource ist FREI - frei, sich zu beteiligen, frei, es zu verbessern!
Varien hat die Weisheit nicht mit Löffeln gefressen, aber das sagt man Ihnen ständig nach. Immer wieder hört man von Varien, dass sich die Community rege beteilen kann und auch soll. Aber viele stehen nur da und schimpfen, anstatt das Wissen, dass sie haben, auch allen Anderen zur Verfügung zu stellen.
Eine Community lebt durch Interaktion und Innovation, nicht von Konsum. Wenn wir in Deutschland alle anfangen würden, nur noch zu konsumieren, dann wäre bald nichts mehr da, was man konsumieren könnte!
Leider sind das aber Punkte, die bei solchen Hackattacken mit der "Scheisse"- und "Nur mit dem halben Arsch gedacht"-Brüllerei gern hinten runtergefallen lassen werden.
Magento wurde von Amerikanern entwickelt, auf Basis der amerikanischen Gegebenheiten. Bereits in der Version 1.x sind schon viele Einflüsse der europäischen Staaten im Core verewigt worden. Und dieser Prozess ist nicht beendet sondern wird beständig fortgesetzt. Die Community-Struktur wird immer weiter verbessert, es werden neue Schnittstellen (nicht Module ;-) sondern "Zusammenarbeitspunkte") geschaffen, die es Hilfsbereiten leichter machen soll, am Projekt mitzuarbeiten.
Varien hat nie den Anspruch erhoben, dass es die absolut perfekteste Software geschaffen hat, mit der sich E-Commerce im OpenSource-Bereich betreiben lässt. Aber es mit Abstand die am weitesten entwickelte Plattform die es "for free" nun mal gibt.
Und wenn man sich die Marktbegleiter im OpenSource-Segment anschaut, hat jeder an einer Stelle Lack, der porös ist. Das ist eben der Anfang eines großartigen OpenSource Projektes. Die Idee konzipieren, visualisieren und dann ausarbeiten, jeden Tag immer wieder ein Stück.
Viele Grüße
Rico
Felix Nagel ¶
7. Oktober 2009, 12:08 Uhr
Zitat Rico Neitzel:
In welcher Werbebroschüre kann ich das nachlesen?
Rico Neitzel ¶
7. Oktober 2009, 12:10 Uhr
Zitat Felix Nagel:
Nicht bashen ;)
Roman Zenner ¶
7. Oktober 2009, 12:23 Uhr
Hallo zusammen,
interessante Diskussion, die ich noch um zwei Gedanken erweitern möchte:
Der Dreh- und Angelpunkt der Kritik an Magento liegt meines Erachtens im teilweise äußerst spärlich dokumentierten Code und der nicht vorhandenen Dokumentation. Würde mit dem Installationspaket ein 1000-seitiges Manual ausgeliefert, das in aller Ausführlichkeit alle vorhandenen Klassen und Methoden der Software beschreibt, durch Code-Beispiele verdeutlicht und dazu auch noch bequem durchsuchbar ist, wäre den meisten Kritikern die Grundlage bereits entzogen. So schön ist die Magento-Welt leider (noch) nicht, aber - und da kann ich mich nur Rico anschließen - in diesem Fall liegt es an der Community, d.h. an jedem einzelnen Entwickler, Wissen mitzuteilen und zu organisieren.
Zur Komplexität beispielsweise des Template-Systems sei gesagt, dass zwangsläufig zwischen der Flexibilität der Anwendung und dem Abstraktionsgrad der Programmierung abgewogen werden muss. Je einfacher man meiner Meinung nach eine Software konzipiert und realisiert, desto weniger Möglichkeiten wird man letztlich haben, genau die Funktionalitäten umzusetzen, die man in seinem Shop gerne sehen würde. Magento ist ein eCommerce-Framework, mit dem sich wirklich die wildesten Dinge anstellen lassen und das kostenlos verfügbar ist - das sollte einem die Einarbeitungszeit doch wert sein, oder?
Viele Grüße,
Roman
Mario H. ¶
7. Oktober 2009, 12:34 Uhr
Ich wollte gerade nachfragen, ob es nur erlaubt ist, Magento zu loben, und andere Produkte nicht... merci Rico.
Rico, wahrscheinlich kommt dieses Anspruchsdenken auch klar von der Kommunikation von Varien. Magento ist laut deren Aussage doch der Hit, und lässt alles hinter sich. Dadurch, dass zu Beginn eine Firma hinter einem Produkt steht, hat man ganz andere Ansprüche, als wenn's ein Einzelner oder eine Gruppe gewesen wäre.
Letztendlich fällt dieses Ändern natürlich auch schwer, wenn's unschön dokumentiert ist.
Stefan ¶
7. Oktober 2009, 12:39 Uhr
Vielen Dank für die deine gute Stellungnahme, das Thema Shop kommt hier (leider) auch immer wieder hoch. Alle woll’n einen, keiner kann/will ihn bezahlen. Mit xtcommerce (oscommerce + smarty) haben wir uns arg auf die Schnauze gelegt. Über Magento wird immer wieder mal diskutiert, das können wir uns jetzt also wohl auch sparen. Fehlende, ordentliche Dokumentation ist leider bei vielen Systemen (nicht nur Shop) ein großes Manko – eine echte Unart, und schade. Denn wenn niemand ein Tool begreifen/lernen kann, war die ganze Arbeit umsonst. Ob es an PHP liegt, dass MVC so selten ordentlich umgesetzt wird, lasse ich mal so in den Raum geworfen als Frage stehen.
Peter ¶
7. Oktober 2009, 12:45 Uhr
Zitat Rico Neitzel:
Die Änderungen die mir wichtig wären, sind prinzipieller Natur. Entweder sportet man Javascript aus der Altsteinzeit oder man hat schon mal was von Unobtrusive JS und Graceful degradation gehört. Entweder man zieht sein MVC-Pattern durch oder man lässt es sein. Solche Sachen sind für mich auch nicht verhandelbar. Es sind Grundvoraussetzungen und nicht irgendwelcher Kleinkram, der hinterher mal zwischendurch nachgeschoben wird.
Im Übrigen in mein Post eine Bestandsaufnahme. Ob und in welchem Umfang ich mich oder sonstwer sich bisher oder einst an Magento beteiligt haben sollte oder beteilig wird, ist völlig egal. So wie es jetzt ist – und nur darum geht es –, ist es keine gute Software.
Mathias Fiedler ¶
7. Oktober 2009, 12:49 Uhr
Unabhängig von Magento finde ich dieses ewige Schreien nach Dokumentation schlimm. Wenn es nicht mindestens 1000 Seiten geschriebener Doku gibt ist ein System schlecht ... Ich will dem wiedersprechen! Wenn die Klassen/Methoden ordentlich/nachvollziehbar strukturiert/benannt/etc. sind brauche ich keine Doku! Was natürlich nötig ist, sind Tutorials die den Einstieg erleichter aber mir ist es lieber wenn ein Hersteller sich auf den Code konzentriert als tausende Seiten Doku zu schreiben, welche eh nach jedem Update hinfällig sind ...
Peter ¶
7. Oktober 2009, 12:52 Uhr
Mhhh... also an deiner Stelle würde ich, bevor ich Aussagen wie
tätigte, einen Blick auf die ausgesuchten Code-Beispiele und die diversen Links werfen :)Mathias Fiedler ¶
7. Oktober 2009, 12:57 Uhr
Rate mal wie es aussehen würde wenn die hälft der Entwickler Doku schreiben müsste ;)
Dominik Fischer ¶
7. Oktober 2009, 13:08 Uhr
Zitat Peter:
Bleib mal bitte fair. Ich weiß nicht wie es bei euch ist, aber unsere Resourcen sind oft begrenzt. Und dann passt man hald mal nicht ganz so auf, wie der Sourcecode ausschaut. Hauptsache er funktioniert und hat keine Bugs. Und ich denke nicht, dass viele Firmen es sich erlauben können einen z.B. 20 Stunden-Abschnitt über den Haufen zu werfen, nur weil es jetzt gerade nicht schön ist.
Und im Zeitalter von YouTube, Facebook und Co nehme ich auch keine Rücksicht mehr auf die 1% der konservativen Steinzeitsurfer, die Javascript deaktiviert haben - außer die Navigation für Robots wird verhindert.
By the way:
@Peter: Wenn dir Standards usw. so wichtig sind, wieso hast du in deinem Portfoli eine Seite, die mehr Fehler und Warnungen wie Content enthält (W3C Check)
Mario H. ¶
7. Oktober 2009, 13:10 Uhr
Mathias, ich würde sehr gern eine richtig coole Doku haben, in der jede Methode und Klasse dokumentiert sind und aus der die Zusammenhänge der Software so richtig gut klar würden.
Aber mir würde schon ein reiner phpDoc-Quelltext weiterhelfen...
Mario H. ¶
7. Oktober 2009, 13:15 Uhr
Dominik, ich lasse mich wegen meines NoScripts ungern als "konservativer Steinzeitsurfer" bezeichnen. Eigentlich hatte ich gedacht, dass Gedanken der Art "wer keinen IE8 hat, hat auf meiner Seite nichts verloren" langsam ausgestorben sind.
Rico Neitzel ¶
7. Oktober 2009, 13:16 Uhr
Zitat Mario H.:
Heißt das du surfst auf ALLEN Seiten ausnahmslos mit NoScript? ;)
Rico Neitzel ¶
7. Oktober 2009, 13:17 Uhr
Zitat Mario H.:
Es gibt für Magento phpDocs ... davon weißt du ja aber sicher oder?!
Felix Nagel ¶
7. Oktober 2009, 13:20 Uhr
Zitat Dominik Fischer:
Da spricht echte Ahnungslosigkeit. Typische ignorante Meinung eines BE Entwicklers. Klar, hauptsache man hat MVC, Domain Driven bummes und ein paar andere Sachen die man dann schön in die Feature Liste schreiben kann , aber das worauf es ankommt -- nämlich der Sourcecode den der Client empfängt -- muss nur _irgendwie_ funktionieren.
Vergessen wir Browserkompatibilitätsprobleme die einerseits den Nutzer vergraulen und den Frontender beim anpassen in den Wahnsinn treiben (was auch wieder Zeit kostet). Vergessen wir auch die verschiedenen Geräte die es so gibt, die SEO Vorteile, die immense Zielgruppe die Menschen mit Behinderungen darstellen (siehe Orange France), den Gedanken in dem das Netz entstanden ist (freier Zugang für alle Menschen) und noch tausend andere Gründe.
Deine Aussage das es keine Firmen gibt die darauf wert legen zeigt herrlich das du noch NIE in einer professionellen Umgebung gearbeitet hast und dich noch nie mit sowas auseinander gsetzt hast. Absolut kein Verständnis! Du bist die Art Entwickler auf die M$ baut wenn sie mal wieder nen IE rausbringen.
Wobei der Code dieses Blog wirklich furchtbar ist, aber da halt ich lieber die Klappe denn meine eigene Seite spottet auch jeder Beschreibung.
Peter ¶
7. Oktober 2009, 13:21 Uhr
Zitat Dominik Fischer:
Der arme Betreiber hat eben kein Geld/Interesse das Ding in Schuss zu halten. Ursprünglich war das mal schön. Jetzt fliegt es beim nächsten Portfolio-Update raus. Außerdem finde ich ja das hier ein viel besseres Beispiel dafür, was Kunden aus der ursprünglichen Website von mir so alles... ehm... rausholen können :)
Aber da ich ja Magento nur für das kritisiere, was es von Haus aus mitbringt, und nicht dafür, was irgendwelche externen Leute damit anstellen, würde ich die Relevanz all dessen eher so Medium einschätzen.
Zitat Dominik Fischer:
Ja, man kann. Aber warum sollte man? Es erzeugt ja keinen Mehraufwand – immer vorausgesetzt, man geht schau an die Sache heran.
Dominik Fischer ¶
7. Oktober 2009, 13:24 Uhr
Zitat Mario H.:
Und wieso hast du dann auf deiner Seite Flash und auch JS-Inhalte, wenn du JEDEM die Inhalte zur Verfügung stellen willst? IE8 habe ich noch nie installiert. P.S.: Auch der IE6 kann sowas wie Javascript und auf den optimieren wir auch.
Felix Nagel ¶
7. Oktober 2009, 13:25 Uhr
Zitat Felix Nagel:
Räusper, ich hätte besser auf die Adresse achten sollen. Der Blog is ja sogar schon als HTML5 deklariert. Wobei man da auch wieder drüber streiten könnte ^^
Robert Agthe ¶
7. Oktober 2009, 13:27 Uhr
Mhh ob ich doch mal mein Shop System auf Basis von CodeIgniter bei GitHub einstelle? Scheint ja echter Bedarf zu herrschen....
Dominik Fischer ¶
7. Oktober 2009, 13:42 Uhr
Ich habe nie gesagt, dass ich so kacke programmiere. Ich verhöhne sogar irgendwelche wrapper-divs bzw. extra css-files für die IE-Familie. Geht doch anders auch. Ich habe auch schon barrierefreie Auftritte und Foren gemacht, die von echten Blinden getestet worden sind.
Ich will mit meinem Comment nur sagen, dass da Varien anscheinend keine(n) erfahrene(n) Entwickler zur Seite hatte und man aber froh sein sollte, dass man ein Projekt hat, dass ganz gut funktioniert und auf dem man aufbauen kann. Aber meiner Meinung ist diese Diskussion eh typisch deutsch. Muss jetzt arbeiten, Magento-Modul wartet.
Eric ¶
7. Oktober 2009, 13:51 Uhr
Zitat Robert Agthe:
Es klingt bei dir so als waere ein komplexes Enterprise-Shopsystem allein in wenigen Tagen zusammen gecodet.
Ich glaube nicht, dass das in irgend eine Weise moeglich ist, bei entsprechendem Funktionsumfang und vorallendingen ohne grobe Bugs, die nur entdeckt werden koennen, wenn man in einem Team arbeitet. Mal abgesehen von der erweiterbarkeit durch Module.
Und wenn jemand behauptet, Magento Module wuerden nach einem Update nicht mehr funktionieren, hat er grundlegend was falsch gemacht.
Rico Neitzel ¶
7. Oktober 2009, 13:52 Uhr
Zitat Robert Agthe:
Zeig her :) ich hab immer Interesse an brauchbaren Alternativen für kleine Projekte!
Grüße & Danke
Rico
fwolf ¶
7. Oktober 2009, 14:45 Uhr
Alternativen?
Ich tippe mal auf CMS + reines Shopping Cart (+ möglichst integriert in ein eigenständiges Plugin/Modul/Extension/such-dir-nen-tollen-Namen-für-Add-Ons-aus).
WordPress würd ich trotzdem als Shopping-System meiden. Dann lieber entweder was eigenes, schlankes, MVC- oder sonstwelche Design Pattern-basiertes, oder ein Framework a la Kohana verwenden. Ansonsten wie oben beschrieben vorgehen, etwa mittels phpShoppingCart oder sonstwas zum Selberbauen.
cu, w0lf.
Robert Agthe ¶
7. Oktober 2009, 15:14 Uhr
Zitat Eric:
Ne das wollte ich damit nicht ausdrücken. Aber wer braucht schon komplexe Enterprise Systeme? Sicher nicht der Großteil. Und dann nennt mir mal einer einen Enterprise Shop, indem es Spaß macht als Kunde einzukaufen. Schon mal was bei Dell gekauft? oder Amazon? find ich Horror. Und selbst die coden das selbst oder lassen selbst coden.
Jeder Shop ist anders und da sind selbstprogrammierte Shops meist effizienter als eine eierlegende Wollmilchsau, die versucht alles unter einen Hut zu bringen und am Ende doch nichts richtig macht. Da fallen dann auch Module weg, weil ich ja eh alles so programmiere wie es sein soll.
Fertige Shop Systeme machen für mich nur Sinn, wenn Sie auf eine sehr minimale Core setzen, die so auch schon Einsatzbereit ist. (Produktliste, Warenkorb, Bestellvorgang, ENDE) Der Rest sollte auf Wunsch per Plugin und API geregelt werden können. Konsistenz und striktes MVC sind selbstverständlich.
Viele unterschätzen die Anpassungszeit von fertigen Systemen und überschätzen die Programmierzeit von eigener Software.
Ich möchte nicht wissen wie lange der Kröner gebraucht hat, um aus ner Gieskanne nen Elefanten zu templaten. Und ich möchte nicht wissen wie lang er gebraucht hätte um mit einen dezenten Framework gleich nen Elefanten zu coden, mit dem er auch noch zufrieden ist. :D
Zur Info: Ich kenne Magento nicht, nur XTCommerce.
chris ¶
7. Oktober 2009, 19:13 Uhr
Zitat Roman Zenner:
diese aussage und viele andere meinungen hier lassen m.e. eines außen vor. nur weil die meisten open source systeme mit keinen lizenzkosten verbunden sind, heißt das nicht, dass im professionellen umfeld dafür entsprechende qualitative einschränkungen hingenommen werden. dann wird solch ein system einfach nicht eingesetzt.
ich arbeite in einer agentur. wenn mich schlechte doku, ein unübersichtliches template-system oder ein ineffizientes customizing stunden meiner projektzeit kosten und aufhalten, oder einfach nur eine risikogröße darstellen, dann nimm ich dafür lieber das geld und kaufe software.
mir scheinen die genannten probleme mit magento einfach in keinem verhältnis mit meinem verfügbaren budget und zeitkontingent zu stehen. -> risiko. also lass ichs. dann lieber ein anderes system. werde mir mal oxid anschauen und vielleicht noch die neue xt-version.
@pepe: darf man den fertigen shop sehen?
Peter ¶
7. Oktober 2009, 19:24 Uhr
Zitat chris:
Mmmhhhh... also was Oxid angeht... ich hatte da letztens ein längeres Telefonat mit einem Kollegen der davon etwa so begeistert war wie ich von Magento :)
Klar, dauert aber noch ein paar Tage.
Rico Neitzel ¶
7. Oktober 2009, 19:48 Uhr
Zitat Peter:
Wenn Tage mal reichen ;)
chris ¶
8. Oktober 2009, 16:46 Uhr
Zitat Peter:
ja, aber irgendwas muss man ja nehmen. es gibt schließlich genug funktionierende, halbwegs professionell aussehende shops. das kann doch nicht alles eigenentwicklung sein.
Peter ¶
8. Oktober 2009, 16:57 Uhr
Es ist ja mit Magento unbestritten möglich einen Shop zusammenzuzimmern und mit Oxid geht das sicher auch. Nur geht das eben nicht besonders gut weil es halt schlechte Software ist.
Eduard Seifert ¶
22. Oktober 2009, 00:55 Uhr
Danke für den Beitrag. Mein Leidensweg: xtCommerce (Templates zu undurchsichtig) > Gambio (schon besser, aber auch zu viele Stellen an denen man frickeln muss) > Magento (läuft das überhaupt bei all-inkl?) > und nun bei Oxid CE und ich bin 'recht' zufrieden. Schauen wir mal was die Zukunft bringt.
Jan ¶
22. Oktober 2009, 09:24 Uhr
Benutzr du XTCommerce 4.0 Veyton ??
Ralf ¶
3. November 2009, 08:56 Uhr
Die Diskussionen über Magento ob es nun gut oder schlecht ist halte ich für überflüssig. Es wird immer gute und schlechte Software geben - in den Augen derer die damit besser/schlechter "Umgehen" können - jeder muß das für sich selbst erkennen.
Ich bin nach 7 Jahren Weberfahrung das erste Mal mit eCommerce konfrontiert worden und habe mich unvoreingenommen und fast ausschließlich mit Magento beschäftigt. 2 Shops sind nun in einem Jahr entstanden - mit Höhen und Tiefen. Komplexität heißt nunmal Anforderungen an Technik und Know-How, wobei ich auch kein Zend-Spezialist oder Profi in OOP bin und an einigeben Ecken auch Schwierigkeiten habe, zu verstehen.
Trotzdem bin ich vom Konzept überzeugt. Magento ist eben kein Shop aus der Westentasche - man muß sich schon konsequent und mitunter länger damit beschäftigen als mal eben einen kleinen Shop aufzusetzen, dafür ist man jedoch offen für eigene Ideen und Entwicklungen.
sascha ¶
9. Dezember 2009, 17:31 Uhr
Zitat Schepp:
Ich habe einem Kunden xt commerce veyton 4 empfohlen. vielleicht etwas zu früh, da es noch fast keine plugins gibt und support ist echt rar, da keiner auf einträge im forum antwortet. und nachdem ich meine gekaufte version umtauschen wollte, machten mich die unglaublich unkompetenten xt mitarbeiter darauf aufmerksam, support zu kaufen. damit überhaupt was passiert. ist doch ein witz oder?
zudem schmiert das backend ab und friert ein. ist mega unübersichtlich und für "normale" user ein albtraum. ich teste gerade opencart. ist für meine anforderung ausreichend und selbst als nicht programmierer nachvollziehbar.
ach ja,...shopware von sah auch nicht so schlecht aus.