Este no es un tema nuevo y por momentos parecía haberse aplacado (al menos en los caminos que me tocaron recorrer), pero últimamente me encontré con una exagerada necesidad de proveedores de extensiones (pagas y gratuitas) de apoderarse del backend de las tiendas, al punto de estorbar en cuanto lugar puedan.

Incluso tenemos logotipos cada vez más grande y coloridos (en contra del estilo aplicado por el propio Magento/Adobe Commerce).

En términos prácticos, que es lo más importante aquí, es de lo más molesto para un merchant (o usuario del backend) que tiene que gestionar las distintas opciones.

Este es un ejemplo de un menú de un sitio.

Y este es el mismo menú si, como mínimo, unifico todo dentro de un solo menú de primer nivel. (En este caso, llamado Extensions)

Y por si no fuera poco, vayamos a las opciones de configuración general de la tienda. En este mismo caso, tengo (tenía) estas opciones.

Y esto pasa cuando las quitamos y organizamos dentro de la opción Extensions.

Y si tienen acceso a una tienda que sufre de esto, puedo sugerirles que se tomen el tiempo de revisar el árboles de roles y permisos, el cual, dadas estas prácticas, se descontrola y aparecen diferentes opciones en diferentes lugares para intentar manejar este desmadre.

Consideremos ahora que este post no es de rant porque mi neurosis es de una categoría demasiado alta y además soy poco tolerante (no estoy confirmando ni negando nada, pero aquí una cosa no tiene relación directa con la otra).

Consideremos también el efecto para un usuario que debe hacer uso del backend a diario (y no, la justificación que una tienda Magento supone cierto nivel de operación y que ese nivel de operación utiliza otras herramientas o automatizaciones por lo cual el backend no se usa, no aplica; porque si así fuera no pondrían toda esa autopromoción que sólo aumenta la fricción de uso).

Si compré un módulo que trabaja sobre las Ventas, tengo un menú de primer nivel para agrupar todos los temas relacionados. Pero si ese módulo se para en otro lugar, tengo que hacer el esfuerzo mental de asociar esa opción a una nueva funcionalidad que depende de Ventas. Y si 4 módulos hacen lo mismo (número random) yo debo hacer esa gimnasia para saber desde dónde accedo a la funcionalidad del módulo (esto resulta peor cuando son módulos pagos, justamente por esa condición).

Este criterio aplica para cuestiones del Catálogo. Espero encontrar dentro de esa opción lo que tenga que ver con labels, featured products, etc. O dentro de Contenido: el slider, un carrousel, lo que fuera.

Si se agrupan las funcionalidades por vendor y no por feature, es una gimansia demencial para quien opera la tienda que ahora debe recordar algo más.

Lo mismo aplica para las configuraciones. ¿En dónde se configura tal cosa? Dependerá de la necesidad del vendor de mostrar su logo en mi tienda.

Capítulo aparte para aquellos módulos que además hacen dos cositas (o un poco más, pero vayamos ahora con dos):

  1. Te ponen links a sus sitios con tracking en la URL.
  2. Te levantan una imagen que en realidad es una imagen remota para trackear (pero después se quejan del opt-in/opt-out de Magento sobre recopilación de estadísticas cuando recién lo instalás).

¿Cómo creo que debería ser?

En el 99% de los casos, cada funcionalidad que se desarrolle va a encontrar lugar, sin fricción, en cualquiera de las áreas o secciones que vienen de fábrica:

  • Sales
  • Catalog
  • Customers
  • Marketing
  • Content
  • Reports
  • Stores
  • System

Cada funcionalidad nueva debería de ubicarse allí dentro.

Lo mismo aplica para las configuraciones, ya sea que tu módulo haga algo a los Customers o sea un metodo de envío o un método de pago o afecte a la tienda toda (sitemap o GDPR).

¿En dónde debería ir a buscar esas opciones? ¿en las secciones en las cuales todo lo referido a un tópico sucede o debo recorrer vendor por vendor para ver si lo encuentro?

Hablaba antes sobre si esto es sólo un capricho de mi parte. Quisiera creer que no, porque sino, no se hubiera creado el módulo Clean Admin Menu de RedChamps, que con 250.000 instalaciones (número no exacto) y mantenimineto reciente, parece seguir en uso como medida de protección a estas prácticas.

Pero supongamos también que el problema es que tanto los creadores de ese módulo como yo (y todos quienes hayan instalado el módulo) sufrimos del mismo nivel de neurosis.

Si eso fuera cierto, a ese grupo deberíamos sumar también a esta gente:

Aquí el link en donde se encuentra ese texto: https://developer.adobe.com/commerce/php/best-practices/admin/placement-and-design/#feature-extensions

Nobleza obliga, en el marketplace oficial hay módulos que no respetan esta buena práctica y el módulo fue aprobado por… caramba… qué coincidencia.

Actualmente intento aplicar las siguientes políticas:

  1. Comentar con el autor la sugerencia de buenas prácticas en pro de conseguir que el merchant no sufra esa experiencia.
  2. Usar el módulo de RedChamps.
  3. Agregar un override propio para deshacer todas esas intromisiones.
  4. Sugerir la remoción y reemplazo del módulo cuando sea posible.

Si estás creando tu módulo o está en desarrollo activo, y en las versiones anteriores aplicaste estas poco simpáticas prácticas, quizás sea un buen momento de revisarlo y ajustar un poquito esos detalles.

Unite a la lista de suscriptores

Una vez por mes vas a recibir un mail con contenido que se relaciona con lo que vemos en el blog, que extiende o anticipa lo que hacemos en Twitch, y que también suele incluir anécdotas del MundoReal® y algún que otro link.

Es gratis, no tiene publicidad y con el double opt-in de Mailchimp.