Administre la información de su producto en un solo lugar conectando Magento y Akeneo: cómo llegamos al final «¡sí!» [case study]

¿Cómo preparar los mismos productos para diferentes canales sin repetir tareas mundanas? ¿Cómo gestionar la información de tus productos en un solo lugar? Estudio de caso de conexión de Magento y Akeneo por Kaliop.

Recientemente en Kaliop se nos encomendó una nueva Akeneo proyecto, que era interesante. Nuestro cliente, un importante vendedor de accesorios eléctricos de América del Sur, buscaba expandir su negocio desde una sola tienda Magento 1. Sin embargo, se encontró un problema difícil: ¿cómo preparar los mismos productos para diferentes canales sin repetir tareas mundanas? Cuando el cliente reflexionó sobre el problema, llegó a la conclusión de que desea un sistema PIM (Gestión de la información del producto). Como somos especialistas de Akeneo, esta fue nuestra propuesta.

Pero, ¿qué es Akeneo? ¿Y qué es PIM?

Básicamente, es su punto central de su sistema de gestión que almacena datos de productos (como descripciones, medios, etc.), que pueden importarse automáticamente desde otros sistemas o ingresarse manualmente, y desde este lugar puede administrar diferentes canales de distribución (como tienda , catálogos, listas de correo, sitio web, etc.). Por lo tanto, solo tiene que trabajar una vez (para los datos del producto) y luego decidir qué datos del producto deben ir a dónde. Esta sencilla solución acelera el proceso de creación, gestión y publicación y pone todo en un solo lugar. Entonces, se estableció nuestro objetivo y el alcance final del proyecto se dividió en tres tareas:

– Actualización de la instalación de Magento 1 a Magento 2,
– Conexión de Magento con Akeneo,
– Limpieza de conjuntos de atributos/atributos.​

Primer intento

Al principio, decidimos actualizar Magento 1 a Magento 2 usando Migración de datos Herramienta, desarrollada por el propio Magento. Pasó nuestras pruebas iniciales que se realizaron en tiendas pequeñas. Sin embargo, en la aplicación de la vida real, esta herramienta falló miserablemente: tenía problemas con los atributos móviles y no brindaba ninguna información significativa. La búsqueda rápida en Internet nos dejó de mal humor: no éramos los únicos que experimentamos el problema, todas las soluciones sugeridas no funcionaron. Ese fue el momento en que decidimos implementar nuestra propia herramienta de actualización.

Otro intento

Una idea inicial fue usar la API de Magento 2 para procesar todos los datos, y funcionó casi a la perfección. (¡Sí!) Excepto por el hecho de que el tiempo de respuesta fue demasiado lento para aceptarlo cuando comenzamos a cargar imágenes junto con los productos: la API no nos permitía simplemente indicar el nombre del archivo multimedia, también necesitaba su contenido (¡No es así, sí! ). Para abordar este problema, modificamos la exportación de productos para operar directamente en la base de datos, ahorrando mucho tiempo de ejecución: disminuyó de 10 segundos por producto a 300 productos por 10 segundos (¡Sí! otra vez).

Ahora Magento se encuentra con Akeneo
La segunda tarea fue el verdadero núcleo del proyecto. Necesitábamos conectar la instancia de Magento 2 con Akeneo. Para importar los datos a Akeneo, hemos desarrollado un conjunto de comandos de consola que prepara los archivos CSV en el formato esperado. Para exportar los datos de Akeneo, utilizamos una solución de código abierto llamada Pimgento, sugerida por el propio Akeneo. Sin embargo, quedaban dos problemas: medios en línea en el editor WYSIWYG y galerías. Magento usa su propia etiqueta para almacenar los medios en el editor, y tuvimos que asignarlo en el tiempo de exportación a la etiqueta HTML estándar. En cuanto a las galerías, en la versión actual Akeneo no permite múltiples imágenes asociadas a un campo, por lo que tuvimos que generar nuevos atributos para eso.

¡Casi ahí!

La última tarea fue bastante sencilla: algunos de los atributos y conjuntos de atributos en la configuración estaban obsoletos y necesitábamos limpiarlos. Implementamos mecanismos adicionales para nuestros scripts de exportación, lo que nos permitió pasar el mapeo de ellos o incluso filtrarlos por completo.

El último ‘¡Sí!’

En resumen, todo el proyecto fue una experiencia interesante. Al observar el tiempo dedicado al proyecto, está claro que la tarea más difícil fue la primera: actualizar Magento 1 a Magento 2. Habíamos dedicado casi el 70% del tiempo total del proyecto a esta sola cosa, sin embargo, desarrollamos nuestra propia herramienta de actualización y aumentó nuestro conocimiento sobre cómo funciona internamente Magento. Lo más importante: la conexión entre Magento y Akeneo fue relativamente fácil de lograr y nos tomó solo el 20 % del tiempo total, aunque tuvimos que desarrollar nuestros propios scripts de exportación. Entonces… Le hemos proporcionado al cliente un sistema centralizado, que le permite administrar fácilmente productos para diferentes canales, y puede hacerlo en términos de rendimiento: al cambiar los atributos solo en Akeneo, los datos se propagan a Magento. Otra mejora proviene del rendimiento de Akeneo, ya que en el mismo servidor, los tiempos de respuesta son mejores que los del panel de administración de Magento, lo que permite que más usuarios trabajen en más productos al mismo tiempo. El resultado final: ¡Sí!

Autores:
Arkadiusz Tokarczyk, desarrollador sénior, Kaliop Polonia
Daniel Cisek, desarrollador sénior, Kaliop Polonia

Deja una respuesta

Tu dirección de correo electrónico no será publicada.