Warum ist die Vergleichsfunktion mit der (Protokoll-) Besucher-ID verknüpft?

16

Wenn ich ein Projekt starte, frage ich zuerst den Kunden, ob er Benutzerlogs auf seiner Website benötigt. In fachlicher Hinsicht Mage_LogModul. In allen bisherigen Fällen bekam ich die Antwort:

Nein, wir werden Google Analytics verwenden.

Die nächste Frage lautet "Möchten Sie Produkte vergleichen?". Ich stelle diese Fragen, weil die Protokolltabellen im Laufe der Zeit zu groß werden und die Website langsam wird. Daher möchte ich Geschwindigkeitsprobleme vermeiden.

Die zweite Frage, die ich stelle, ist, weil der Abschnitt zum Vergleichen von Produkten von den Protokollen für Gastkunden abhängt. Siehe hierzu im addActionProduktvergleichsregler:

 if ($productId
        && (Mage::getSingleton('log/visitor')->getId() || Mage::getSingleton('customer/session')->isLoggedIn())
    )

Wenn der Kunde also Produkte vergleichen möchte, kann ich die Protokollierung nicht deaktivieren.
Ich meine, ich könnte nach einer Erweiterung suchen oder eine erstellen, aber die eigentliche Frage lautet: Warum ist die Vergleichsfunktion mit der Besucher-ID verknüpft? Irgendwelche guten Ergebnisse davon? Die Gastzitate funktionieren gut, indem sie auf die ID des Zitats in der Sitzung verweisen. Warum nicht dasselbe für Vergleichsprodukte?

Marius
quelle
Wahrscheinlich, weil niemand einen Teil von Magento deaktivieren würde, verwendet jedes Projekt jeden Teil richtig;)
David Manners
Solange jemand die Möglichkeit implementiert hat, ein Kernmodul zu deaktivieren, glaube ich nicht, dass dies der Grund ist ... aber ich verstehe den Witz :).
Marius
Einverstanden, obwohl ich andere Teile gesehen habe, die nach dem Deaktivieren einiger Erweiterungen nicht gut abgespielt werden können. Kurz gesagt, deshalb verstehe ich nicht wirklich, warum die Leute Komponisten und Magento lieben, weil es sich seltsam anfühlt, weil man die Kernmodule nicht zuverlässig aufteilen kann.
David Manners
@ DavidManners. Hoffentlich ist dies bis zu einem gewissen Grad mit 2.0 möglich.
Marius
Also zurück zu der Frage, was passieren würde, wenn Sie das Modul deaktivieren, aber dann Ihr eigenes Modul mit config einrichten, das log/visitormit Sitzungsinformationen funktioniert? Ich habe es nie selbst ausprobiert
David Manners

Antworten:

7

Zum jetzigen Zeitpunkt würde ich sagen, dass diese Frage nicht beantwortet werden kann. Der Grund für die Verwendung der Protokolltabellen liegt darin, dass dies der Fall ist. Ich glaube wirklich nicht, dass es viele andere Gründe gab, als zu sagen, dass Mage_Log seit 0.6B vorhanden ist und dass die ersten Bemühungen möglicherweise darin bestanden haben, die anfängliche Funktionalität darauf abzustimmen. Nach einiger Zeit stellten sich die Einschränkungen wahrscheinlich ein und sie hörten auf, sich mit dieser Idee auseinanderzusetzen.

Dies kann wirklich nur von jemandem wie Boris vollständig beantwortet werden, aber ich bin ziemlich zuversichtlich, dass die Antwort auf "Warum hast du es so gemacht?" "Weil wir es so gemacht haben" sein wird.

Philwinkle
quelle
1
Eine Antwort "weil wir es so gemacht haben" ist besser als eine Antwort "weil du es getan hast". Ich denke du hast recht, das ist nicht zu beantworten. Ich hatte auf eine Antwort des Kernentwicklers gehofft. Ich werde diese Antwort hauptsächlich akzeptieren, weil jemand erkannt hat, dass dies falsch ist und beschlossen hat, es in Magento2 zu ändern. github.com/magento/magento2/issues/536
Marius
Du hast Recht. Ursprüngliche mangelnde Erfahrung mit Konsequenzen der Modularität in frühen Entwicklungsstadien und vor allem Zeitmangel, um bestehenden Code, der bereits "funktioniert", zu
überarbeiten