Los breadcrumbs son una de esas piezas de interfaz que la gente apenas nota cuando funcionan, y que echa en falta de inmediato cuando no lo hacen. Esa línea fina de texto existe con un solo propósito: decirle a alguien dónde está, y darle una forma rápida de volver a donde estaba.
En una intranet grande, eso importa más de lo que parece. El contenido se organiza en carpetas, las carpetas se anidan dentro de otras carpetas, y un empleado que llegó a una página a través de un resultado de búsqueda, un enlace compartido o un mensaje de Teams no tiene otra forma de saber en qué parte del sitio ha aterrizado. Sin un breadcrumb, la única forma de volver es el botón de retroceso del navegador, que deja de funcionar en cuanto alguien abre un enlace en una pestaña nueva, que es la mayoría de las veces.
Usamos una estructura de carpetas controlada en toda la intranet específicamente para que este tipo de orientación sea posible, secciones y subsecciones que reflejan cómo la organización piensa realmente sobre su propio contenido. Pero esa estructura creó un problema en el momento en que el sitio necesitó servir igual de bien a hablantes de inglés y de francés.
El problema: el nombre de una carpeta solo existe en un idioma
El título de una página se traduce. La función nativa de páginas multilingües de SharePoint se encarga de eso de forma nativa: crear una página, traducirla, y ambas versiones llevan su propio título correctamente localizado.
El nombre de una carpeta no. Como se llamara una carpeta en el momento en que se creó es como se llama permanentemente, en la URL y en todas partes, sin importar en qué idioma esté leyendo la página un visitante. Un empleado francófono que navegara por una página dentro de la carpeta Policies vería, sin ningún trabajo adicional por nuestra parte, "Policies" ahí mismo en su breadcrumb, en inglés, en una página por lo demás completamente en francés. Algo pequeño, pero exactamente el tipo de pequeña inconsistencia que hace que un sitio parezca inacabado.
Cómo funciona, en términos sencillos
El propio breadcrumb vive dentro de la cabecera del sitio, el mismo web part responsable del fondo de marca, el cuadro de búsqueda y el nombre del sitio. Un breadcrumb necesita saber en qué página está y dónde se sitúa esa página dentro de la estructura de carpetas, y la cabecera ya lleva ese contexto por otras razones. Construir el breadcrumb como parte de ella significó no duplicar esa lógica en otro sitio.
Lo que un visitante ve en realidad son dos niveles: la carpeta en la que vive la página actual, mostrada como un enlace en el que se puede hacer clic, y la propia página actual, mostrada como texto plano junto a él. Al hacer clic en el nombre de la carpeta, se lleva al visitante a una página de destino real para esa sección.
La parte de la página actual del breadcrumb se resuelve sola. Como las páginas ya están traducidas de forma nativa, el breadcrumb simplemente lee el título que la propia página ya tiene, en el idioma que esté viendo el visitante. No hace falta configuración adicional: traduce la página de la forma habitual, y su etiqueta de breadcrumb es automáticamente correcta.
La parte de la carpeta necesitaba una respuesta distinta, ya que no hay un mecanismo equivalente en el que apoyarse. Construimos una pequeña lista de SharePoint que asocia cada carpeta con sus nombres visibles en inglés y en francés, junto con las páginas de destino correctas en inglés y en francés a las que debe apuntar el enlace de breadcrumb de esa carpeta. Cuando un visitante está viendo el sitio en francés, el breadcrumb lee de las columnas en francés. En cualquier otro caso, lee de las columnas en inglés. El detalle técnico de exactamente cómo funciona ese cambio de idioma, y cómo está estructurada la lista, se cubre en el artículo técnico completo EN, para quien quiera la mecánica en lugar del resumen.
Mantenerlo exacto
Una funcionalidad así es fácil de demostrar y, si se la deja sola, difícil de mantener de forma silenciosa. Cada carpeta que se supone que debe aparecer como un destino de breadcrumb correcto, traducido y con enlace depende de que existan tres cosas a la vez: una página de destino en inglés, una página de destino en francés, y una entrada en esa lista que las conecte. Nada en la creación de una carpeta nueva en SharePoint le recuerda a nadie hacer eso. Dejado a su suerte, con el tiempo se irían acumulando secciones nuevas con breadcrumbs que caen silenciosamente al nombre de carpeta sin traducir, o a un enlace hacia un listado de archivos en lugar de contenido real.
En lugar de confiar en que alguien recuerde un paso manual, construimos dos pequeños flujos automatizados alrededor de la propia lista.
El primero se dispara en el momento en que se crea una carpeta nueva. Calcula automáticamente dónde se espera que vivan las páginas de destino en inglés y en francés de esa carpeta, basándose en la misma estructura consistente que ya sigue el resto del sitio, y envía un correo a la persona que creó la carpeta con exactamente lo que hace falta: construir estas dos páginas, en estas direcciones exactas. Al mismo tiempo, añade una entrada de marcador de posición a la lista, de modo que la brecha sea visible en nuestros propios datos de gobierno de inmediato, en lugar de que solo se haga evidente si un visitante llega a notar una URL rota.
El segundo se ejecuta discretamente en segundo plano cada día, comprobando cualquier entrada de marcador de posición contra la realidad. En el momento en que una página realmente aparece donde se predijo, la entrada se marca automáticamente como completa, nadie necesita volver a actualizar la lista a mano. Si algo queda sin terminar durante demasiado tiempo, se envía un segundo recordatorio, en lugar de que la brecha se quede ahí indefinidamente, sin que nadie se dé cuenta.
Entre los dos, lo único que un responsable de contenido tiene que hacer realmente a mano es construir la página. Todo lo demás, el registro, los recordatorios, la validación final, ocurre por sí solo. El detalle completo de cómo están construidos esos dos flujos está en la segunda pieza técnica EN, para quien esté manteniendo algo similar y quiera el diseño real del flujo en lugar del resumen.
Por qué merecía la pena este paso extra
Habría sido más sencillo saltarse la automatización y simplemente pedirle a la gente, amablemente, que lo recordara. Pero "pedirle a la gente que lo recuerde" es exactamente el tipo de enfoque de gobierno que funciona las primeras semanas y deja de funcionar silenciosamente en el momento en que la persona que construyó la funcionalidad pasa a otra cosa, o la persona que crea carpetas dentro de seis meses nunca llegó a saber que ese proceso existía.
Los breadcrumbs son una pieza pequeña del sitio. Pero una pieza pequeña que está mal en algunas páginas y bien en otras es peor para la confianza en toda la intranet que no tener la funcionalidad en absoluto. Construir el recordatorio y la red de seguridad junto con la propia funcionalidad, en lugar de después de que algo ya hubiera fallado silenciosamente, era precisamente el objetivo.