Por que a funcionalidade de comparação está vinculada ao ID do visitante (log)?

16

A primeira coisa que faço ao iniciar um projeto é perguntar ao cliente se ele precisa de logs de usuário em seu site. No Mage_Logmódulo de termos técnicos . Em todos os casos até agora, recebi a resposta:

Não. Usaremos o Google Analytics.

E a próxima pergunta é "Deseja comparar produtos?". Eu faço essas perguntas porque as tabelas de log tendem a se tornar grandes horas extras e o site fica lento. Então, eu quero evitar corrigir problemas de velocidade.

A segunda pergunta que faço é porque a seção de comparação de produtos depende dos registros dos clientes convidados. Veja isso no addActioncontrolador de comparação de produtos:

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

Portanto, se o cliente deseja comparar produtos, não posso desativar o log.
Quero dizer, eu poderia procurar uma extensão ou criar uma, mas a verdadeira questão é: Por que a funcionalidade de comparação está vinculada ao ID do visitante? Algum bom resultado disso? As citações de convidado funcionam bem referenciando o ID da cotação na sessão. Por que não o mesmo para comparar produtos?

Marius
fonte
Provavelmente porque ninguém iria desativar qualquer parte do Magento, projeto nunca usa todo o direito parte;)
David Manners
Desde que alguém tenha implementado a possibilidade de desativar um módulo principal, não acho que seja esse o motivo ... mas entendi a piada :).
Marius
Concordo, embora eu tenha visto outras partes que não são boas depois de desativar algumas extensões. Em resumo, é por isso que eu realmente não entendo porque as pessoas adoram compositor e Magento, porque me parece estranho, pois você não pode dividir com segurança os módulos principais.
David Manners
@DavidManners. Espero que isso seja possível em algum grau no 2.0.
Marius
Então, voltando à pergunta, o que aconteceria se você desabilitasse o módulo e depois configurasse seu próprio módulo com a configuração log/visitorque funcionou com as informações da sessão? Nunca tentei sozinho
David Manners

Respostas:

7

Tal como está, eu diria que essa pergunta é um tanto irresponsável - a razão pela qual ela usa as tabelas de log é porque o faz. Eu realmente não acho que houvesse muita justificativa além de dizer que o Mage_Log está presente desde 0,6B e que os primeiros esforços podem ter sido para conectar a funcionalidade inicial a ele; depois de algum tempo, as limitações provavelmente vieram à tona e eles pararam de desenvolver essa ideia.

Isso realmente só pode ser respondido por alguém como Boris, mas estou bastante confiante de que a resposta para "por que você fez dessa maneira" será "porque nós fizemos dessa maneira".

philwinkle
fonte
1
Uma resposta "porque fizemos dessa maneira" é melhor do que uma resposta "porque você ef". Acho que você está certo, isso não pode ser respondido. Eu esperava uma resposta do desenvolvedor principal. Aceitarei esta resposta principalmente porque alguém percebeu que isso estava errado e decidiu alterá-lo no Magento2. github.com/magento/magento2/issues/536
Marius
Você está certo. Falta Original de experiência com consequências modularidade em estágios iniciais de desenvolvimento, e mais importante, a falta de tempo para rever e reescrever o código existente que já "obras"
Unirgy