Uno, dos, tres para evitar problemas de compatibilidad con Magento 2

Cada nuevo módulo es un desafío bien recibido por el equipo de pruebas de software de Amasty. Ponemos el máximo esfuerzo en probar extensiones en busca de errores, errores y conveniencia para asegurarnos de que cada nuevo módulo sea fácil de ejecutar y se integre sin problemas en una tienda con tecnología Magento.

Aún así, de vez en cuando los clientes pueden tener problemas de compatibilidad incluso con módulos perfectos. Es por eso que hoy aprenderemos qué hacer y, de hecho, cómo identificar con precisión un problema de compatibilidad si algo sale mal con la implementación de un nuevo módulo Magento 2.

 

Resumen del artículo [ ocultar ]

  • ¿Qué puede conducir a problemas de compatibilidad?
    • #1. Edición y versión de CMS
    • #2. Personalización del código de Magento
    • #3. Extensiones de tienda web
    • #4. Versión de PHP y MySQL
    • #5. Servicios web de terceros (Varnish, CDN o proxy)
  • ¿Por qué ocurren los problemas de compatibilidad?
  • ¿Cómo encontrar al culpable?
    • #1. Compruebe el mensaje de error
    • #2. Deshabilitar el nuevo módulo/otros módulos
    • #3. Encuentra la extensión que falla
  • Conclusión

¿Qué puede conducir a problemas de compatibilidad?

Dejemos de lado la funcionalidad del módulo y centrémonos en su integración en el sistema de tienda web Magento de un comerciante. En general, hay cinco factores que influyen en qué tan bien funciona un módulo con otras extensiones y el entorno de la tienda web en sí.

#1. Edición y versión de CMS

Como sabes, hay dos ediciones de Magento. Magento Enterprise es una plataforma paga, rica en funciones y flexible dirigida a los grandes actores del mercado. Magento Community es gratuito y, por lo tanto, tiene algunas limitaciones. Las diferencias en la funcionalidad de las ediciones a menudo se convierten en la razón de la poca compatibilidad entre un módulo personalizado y la plataforma de la tienda web.

Además, los desarrolladores de Magento están trabajando arduamente para mejorar su producto con cada nuevo lanzamiento. Sin embargo, las versiones posteriores de la plataforma pueden incluir elementos que entren en conflicto o dañen el rendimiento de los módulos personalizados.

#2. Personalización del código de Magento

Muchos comerciantes tienen desarrolladores internos o recurren a empresas de consultoría de software para la personalización y el mantenimiento de sus tiendas web de Magento. Los desarrolladores a menudo tienen que hacer los cambios necesarios en el núcleo de la plataforma para codificar las características y modificar el diseño y el diseño de las páginas de acuerdo con los requisitos del comerciante. Dichos cambios en el núcleo de Magento también pueden provocar un rendimiento inadecuado de los módulos personalizados.

#3. Extensiones de tienda web

En la etapa de desarrollo del módulo, el equipo de Amasty presta especial atención a su integración en el entorno de Magento. Desafortunadamente, es imposible tener en cuenta cómo funcionará la extensión junto con el código de los módulos de terceros. Como resultado, si un módulo de terceros está mal codificado o tiene algunos errores pero usa la misma funcionalidad de la plataforma Magento que nuestra extensión, pueden aparecer problemas de rendimiento si ambas extensiones están habilitadas.

#4. Versión de PHP y MySQL

Los proveedores de módulos se adhieren a los requisitos de Magento para las versiones de PHP y MySQL. Sin embargo, a veces los comerciantes ejecutan las últimas versiones de Magento incluso en los servidores, cuyas configuraciones de PHP y MySQL están desactualizadas. Por muy bien codificado que esté un módulo, su implementación en un entorno tan frágil puede causar problemas de rendimiento.

#5. Servicios web de terceros (Varnish, CDN o proxy)

Si bien nuestro equipo trabaja arduamente para garantizar un rendimiento fluido de los nuevos módulos en diferentes versiones de Magento y con las últimas tecnologías, difícilmente podemos anticipar todas las peculiaridades de una tienda personalizada de Magento o extensiones de terceros.

¿Por qué ocurren los problemas de compatibilidad?

Primero, puede haber un conflicto entre dos módulos que dan vida a la misma funcionalidad utilizando diferentes métodos .

Por ejemplo, un cliente decide ampliar Magento Enterprise con un módulo que tiene funciones similares a las herramientas incluidas en Magento Enterprise de forma predeterminada.

En segundo lugar, dos módulos pueden modificar la misma solicitud a la base de datos y cada uno de ellos puede agregar una subsolicitud personalizada (por ejemplo, unirse con el mismo alias ). Esto provocará un error a pesar de un buen desempeño de cada módulo.

Para evitar o al menos minimizar tales casos, recuerde ejecutar los módulos utilizando una secuencia correcta de comandos de configuración que se proporcionan en la Guía del usuario de Composer .

¿Cómo encontrar al culpable?

Digamos que instaló un nuevo módulo y se enfrentó a un problema de compatibilidad. ¿Cómo saber qué módulo funciona incorrectamente: un complemento nuevo o uno de los instalados anteriormente?

Tres consejos a continuación le ayudarán a encontrar la respuesta. Antes de comenzar, registre los pasos que tomó antes del problema (si corresponde). Lo necesitaremos en un momento para probar.

#1. Compruebe el mensaje de error

Cambie del modo de producción al modo de desarrollador ya que solo de esta manera puede ver el texto de error. Use F12 para abrir devtools y luego, uno por uno, repita exactamente los pasos que registró. Cuando aparezca el error, la consola te mostrará el texto del error, que debería ayudarte a aclarar los detalles:

#2. Deshabilitar el nuevo módulo/otros módulos

Apague un nuevo módulo usando el comando php bin/ magento module :disable Module_Name . Alternativamente, puede apagar todos los módulos de terceros y dejar el nuevo módulo. Para esto, use el mismo comando que antes, separando cada nombre de módulo por un espacio ( php bin/ magento module :disable Module_Name1 Module_Name2 ). Después de completar los pasos de error, comprenderá si este es el nuevo módulo que desencadena el error o si algún módulo de terceros afecta el sistema en general y el nuevo módulo en particular.

#3. Encuentra la extensión que falla

Para identificar con precisión la extensión que provoca problemas, puede deshabilitar los módulos de terceros uno por uno cada vez que reitere los pasos que conducen a un error. Cuando el error no aparezca, sabrá que el módulo actualmente deshabilitado es incompatible con la nueva extensión.

Ahora, como conoce claramente el núcleo del problema, será mucho más fácil solucionarlo.

Conclusión

La integración de un módulo Magento 2 en un entorno de tienda web es un proceso sofisticado, cuyo éxito depende de una serie de factores directos e indirectos. Un error puede aparecer justo después de la instalación o como resultado de las solicitudes del módulo al núcleo de Magento.

Los tres pasos que discutimos hoy lo ayudarán a identificar la razón del bajo rendimiento y de esta manera resolver el problema mucho más rápido. Y en términos comerciales, el tiempo a menudo se correlaciona con las ganancias.