Saltar al contenido
← Casos de estudio

Caso de estudio

Aminogram: un portal donde cada distribuidor encuentra la versión correcta, en su idioma

Diseñamos la estructura y la lógica del portal privado de distribuidores de Aminogram, fabricante francés de dispositivos médicos de bioimpedancia, para que su red internacional descargue fichas, fotos, videos, logos y certificados vigentes sin tener que pedirlos por correo.

Un proyecto de nuestro servicio de Portal de distribuidores.Conoce el servicio →

Portada del portal de distribuidores de Aminogram con el buscador y los accesos por dispositivo (Biody Xpert ZM3, Biody B.I.S, Biody Manager) y por tipo de material.
Cliente
Aminogram
Sector
Dispositivos médicos · Portal de distribuidores
Año
2026
Servicios
Arquitectura de información · Diseño UX/UI · Desarrollo de plugin a la medida · Mantenimiento
Tecnologías
  • WordPress
  • Oxygen Builder
  • Plugin propio (PHP)
  • REST API
  • WP-CLI
  • LiteSpeed Cache

El reto

Aminogram fabrica en Francia los dispositivos de bioimpedancia Biody —el Biody Xpert ZM3, el Biody B.I.S y el software Biody Manager— y los vende a través de una red de distribuidores en varios países. Cada distribuidor necesita lo mismo para vender: fichas de producto, fotos, videos del protocolo de medición, logos, plantillas para redes, publicaciones científicas y, por tratarse de un dispositivo médico, los certificados que lo respaldan.

El problema no era la cantidad de material, sino su forma. Una misma pieza existe en varios idiomas, en variantes (con texto y sin texto, logo en blanco o a color, versión ligera), y se actualiza con el tiempo. Un certificado vale hasta una fecha y después ya no sirve. Organizado como una lista de descargas genérica, el distribuidor no sabía cuál era la versión vigente ni dónde estaba la de su idioma, y la forma más rápida de averiguarlo seguía siendo escribirle a Aminogram.

El objetivo del portal fue uno solo: que el distribuidor encuentre la versión correcta, en su idioma, sin tener que preguntar, y que el equipo de Aminogram pueda mantenerlo sin depender de un desarrollador.

Una estructura que responde a lo que el distribuidor quiere hacer

La primera decisión fue de arquitectura de información, no de diseño. En lugar de ordenar el material por formato o por departamento, lo agrupamos según para qué lo necesita el distribuidor:

  • Communicate — fotos, videos, logos y branding, kit para redes sociales, stands y eventos, plantillas editables y flyers.
  • Sell — fichas de producto y casos de éxito.
  • Train — publicaciones científicas y el acceso a la plataforma de e-learning, con las cuentas de cada idioma listas para copiar.
  • Compliance — certificados y documentos regulatorios.

Cada sección tiene su página, sus subsecciones y un filtro por producto. Para quien sabe exactamente lo que busca, la Library lista todo el material, del más reciente al más antiguo, con filtros combinables por sección, producto, tipo e idioma, y un buscador.

Esquema vertical: portal, cuatro secciones (Communicate, Sell, Train y Compliance), subsecciones y recursos; al final, el filtro por producto y la Library.
Del portal al recurso en cuatro niveles, con un filtro por producto y la Library para buscar en todo.
Página Library del portal con el buscador, los filtros por sección, producto, tipo e idioma, y la rejilla de recursos con su producto y su fecha de actualización.
La Library: todo el material, del más reciente al más antiguo, con filtros combinables.

Un recurso, todos sus archivos

El corazón del portal es el modelo de contenido. Un recurso es una pieza —una ficha de producto, una sesión de fotos, un logo— con todos sus archivos dentro: los idiomas, las variantes y los formatos. El distribuidor ya no ve diez descargas casi iguales; ve una ficha con todo lo que existe de esa pieza.

Cada recurso se clasifica respondiendo cuatro preguntas, y cada respuesta tiene un uso en el sitio: dónde está (una sola sección, que da el menú y las migas de pan), de qué producto (ninguno, uno o varios, para el filtro), qué es y en qué idiomas, que se calcula solo.

La ficha vive en la base de datos; la portada es la única imagen pública, porque se usa en las tarjetas, y los archivos se guardan en una carpeta privada.

El tipo es el que más trabajo hace: documentos, fotos, videos o logos se presentan de forma distinta. Las fotos se muestran en galería con descarga individual o «Download all» en zip; los videos se previsualizan en la misma página antes de descargarlos; los logos se agrupan por versión y color, con sus formatos PNG, SVG y PDF; los documentos se listan por idioma.

Esquema de un recurso: una ficha de producto con sección, producto, tipo e idiomas, y cuatro archivos con su idioma. Debajo, dónde se guarda cada parte (ficha en la base de datos, portada pública, archivos en carpeta privada) y los cuatro tipos de plantilla: documentos, fotos, videos y logos.
Un recurso reúne todos sus archivos; el tipo decide cómo se presenta.
Ficha «Biody B.I.S – Photoshoot» con su fecha, producto, el resumen «19 photos», el botón para descargar todo en zip y la galería de fotos con descarga individual.
Ficha de tipo fotos: galería, peso de cada archivo y «Download all» con el total del zip.
Ficha «Aminogram logo» con filtro por idioma y los logos agrupados por versión, cada uno con sus formatos SVG, PNG y PDF.
Ficha de tipo logos: agrupados por versión y color, filtrables por idioma, en SVG, PNG y PDF.

Los idiomas no se capturan: se deducen

En un catálogo multilingüe, pedirle al equipo que marque a mano el idioma de cada archivo es la receta para que el filtro mienta. Por eso el idioma se guarda en cada archivo y el idioma del recurso se calcula a partir de ellos: si la ficha tiene archivos en inglés, francés y español, aparece en esos tres filtros, y deja de aparecer en cuanto se quita un archivo.

Además, al subir un archivo el portal propone el idioma, la versión y la variante a partir del nombre. «HOJA DE PRODUCTO BBIS FR.pdf» se reconoce como francés; «Logo White.png», como la variante blanca. El detalle está en los casos ambiguos: «de» e «it» son códigos de idioma, pero también palabras («Toma de medición», «Prise de mesure»), así que solo cuentan cuando aparecen al final del nombre, que es donde va el código. Todo lo que se detecta es una propuesta editable, no una decisión cerrada.

Se sube un documento con FR en el nombre, el portal detecta el francés y el recurso suma sus idiomas: EN, FR y ES.
El idioma se detecta en cada archivo y el recurso suma los suyos.
Ficha «Product Sheet – Biody B.I.S» con el resumen «5 languages» y la lista de archivos en inglés, francés, español, alemán e italiano, filtrable por idioma.
Ficha de un documento: cada archivo con su idioma y un filtro para quedarse solo con el propio.

Fechas que significan algo

Una lista de descargas suele mostrar la fecha en que se modificó la entrada, y esa fecha cambia cada vez que alguien corrige una errata o reorganiza las categorías. Para el distribuidor no dice nada. Separamos dos fechas con sentido propio:

  • Updated: la fecha del documento. Se actualiza sola cuando cambian los archivos (y se puede fijar a mano), no cuando se toca la ficha.
  • Valid until: la vigencia de certificados y registros. La tarjeta muestra «Valid until 12 Mar 2027» y, cuando la fecha pasa, cambia a «Expired» en rojo, en la tarjeta y en el listado del administrador.
Dos fechas: la de actualización del documento y la vigencia de un certificado, que pasa de válido a vencido cuando llega la fecha.
La fecha del documento y la vigencia: un certificado vencido se marca solo.

Versiones sin perder el historial

Cuando una ficha se actualiza, el equipo de Aminogram no sustituye el archivo: usa «Replace with new version». El archivo anterior pasa a Previous versions, con la fecha en que se archivó, y se puede restaurar o borrar. Los distribuidores ven solo la versión vigente; si algún día hace falta, un ajuste permite mostrarles también las anteriores.

El documento v1 vigente se reemplaza por la v2; la v1 pasa a versiones anteriores, desde donde se puede restaurar.
La versión nueva toma el lugar de la anterior, que queda en el historial.

Privado de verdad, no solo escondido

Todo el portal es privado: sin sesión, cualquier página lleva al acceso. Las cuentas las crea Aminogram (no hay registro público) y cada distribuidor tiene un rol propio que le da acceso al portal pero lo mantiene fuera del panel de WordPress. En el listado de usuarios, una columna de último acceso muestra quién entra y quién no.

La parte menos visible es la más importante: los archivos no viven en una carpeta pública. Se guardan en un directorio bloqueado del servidor y cada descarga pasa por el portal, que comprueba la sesión antes de entregar el archivo. Así, un enlace compartido fuera de la red no sirve de nada. Sobre esa base:

  • «Download all» genera un zip con todos los archivos del recurso, lo guarda y lo regenera solo cuando los archivos cambian.
  • Los videos se sirven por partes, de modo que se pueden previsualizar y adelantar en el navegador sin descargarlos completos.
  • Las descargas usan siempre el archivo original, no la copia reducida que WordPress crea de las imágenes grandes: el distribuidor recibe la foto en la resolución con la que se entregó.
Flujo de una descarga: distribuidor, comprobación de sesión y rol, portal y carpeta privada. Debajo: el enlace directo queda bloqueado y «descargar todo» entrega un zip que se rehace al cambiar los archivos.
Ningún archivo se sirve directo: el portal comprueba la sesión y lo entrega desde la carpeta privada.

Material co-marcado, con aprobación

Los distribuidores hacen sus propias piezas con la marca: anuncios, folletos locales, publicaciones. En la sección de reglas de comunicación, un formulario les permite enviar su pieza a revisión a Aminogram antes de publicarla, sin salir del portal.

Un administrador hecho para quien sube el material

La experiencia del equipo que mantiene el portal se diseñó con el mismo cuidado que la del distribuidor. Crear un recurso es un formulario de una sola columna: sección, tipo, productos, archivos, fechas y enlace externo, en ese orden. Los archivos se arrastran y se sueltan, se reordenan arrastrando y cada uno muestra su miniatura con el idioma, la versión y la variante detectados.

Antes de publicar, el portal revisa que el recurso tenga sección, portada y al menos un archivo o enlace; si falta algo, lo guarda como borrador y avisa qué falta. Un recurso incompleto nunca llega a los distribuidores.

Formulario de un recurso en el administrador: sección, tipo y productos arriba; debajo, la lista de archivos con miniatura, idioma, versión, variante y la opción «Replace with new version».
El formulario del recurso: arrastrar, soltar y corregir solo lo que la detección no acertó.

Diseño y lógica, cada uno en su lugar

El portal se maquetó en Oxygen, y toda la lógica —acceso, cuentas, recursos, descargas protegidas, filtros, fechas, versiones y formulario de aprobación— vive en un plugin propio que solo usa el núcleo de WordPress. El diseño se puede cambiar sin tocar la lógica, y la lógica no depende de plugins comerciales de terceros ni de sus licencias. El plugin incluye además un punto de salud que se consulta a diario para confirmar que el acceso y las descargas siguen funcionando.

Resultado

Aminogram pasó de una lista de descargas que había que explicar a un portal que se explica solo: organizado por lo que el distribuidor quiere hacer, con cada pieza reunida en una ficha, el idioma correcto a un filtro de distancia, certificados que avisan cuando vencen y archivos que solo se descargan con sesión. Y un equipo que lo mantiene sin pedir ayuda.

recursos, cada uno con todos sus archivos
61
secciones: Communicate, Sell, Train y Compliance
4
tipos de ficha: documentos, fotos, videos y logos
4
idiomas que el portal reconoce en los nombres de archivo
7