Cómo personalizar la imagen de marca y los colores del tema de la interfaz web de ownCloud.

La forma más fiable de personalizar la interfaz web actual de ownCloud es crear un archivo JSON de tema compatible e indicar a ownCloud Infinite Scale que utilice dicho tema. No es necesario reconstruir la interfaz web solo para cambiar el nombre de la marca, los logotipos, el favicon, el fondo de inicio de sesión o los colores comunes de la interfaz. En el modelo de temas actual de Infinite Scale, estos elementos se proporcionan mediante una definición de tema, mientras que los tokens de diseño controlan los colores y otros valores visuales.

Esta guía está escrita para ownCloud Infinite Scale (oCIS) y su interfaz web moderna ownCloud. No es una guía para el sistema de temas PHP de ownCloud Server 10/11 anterior, que utiliza una estructura de temas basada en la aplicación y una configuración diferente. La documentación estable de ownCloud Infinite Scale 8.2 y la documentación de desarrollo de la versión 9.0 describen el mismo enfoque de tiempo de ejecución: proporcionar un directorio de temas personalizados con WEB_ASSET_THEMES_PATH, luego seleccionar un archivo JSON de tema con WEB_UI_THEME_PATH. Consulte la documentación oficial de temas personalizados de ownCloud Web .

Qué puedes personalizar sin reconstruir ownCloud Web

Un tema de organización estándar puede cubrir los cambios visuales que la mayoría de los administradores realmente necesitan. El archivo JSON del tema puede definir el nombre y el eslogan del producto, las rutas a los logotipos y un favicon, el fondo de la página de inicio de sesión y los tokens de diseño web, como los colores de la marca, el color principal, el fondo, el texto, el borde y el tipo de archivo. Esto es preferible a editar los archivos compilados del frontend, ya que el tema permanece como un recurso de implementación independiente y se puede administrar junto con la configuración del servidor.

Objetivo de marcaDonde perteneceValor típico
Nombre del producto y eslogancommonNube corporativa, eslogan de la empresa
Imágenes de la barra superior, inicio de sesión y faviconclients.web.defaults.logoRutas dentro de la carpeta de recursos de tu tema
Fondo de inicio de sesiónclients.web.defaults.loginPage.backgroundImgArchivo de imagen JPEG u otro recurso de imagen compatible con el navegador
Colores de la marca y de la interfaz de usuarioclients.web.themes[].designTokens.colorPaletteValores hexadecimales, RGB/RGBA u otros valores válidos utilizados por el tema incluido.

Paso 1: Crea un directorio de tema y una carpeta de recursos separados.

Comience por mantener su tema personalizado separado de los recursos integrados de ownCloud. Un diseño simple consiste en un directorio de tema que contiene themes.jsonmás una assetscarpeta para sus logotipos, favicon e imagen de inicio de sesión. La ruta exacta del host es de su elección; lo importante es que el directorio esté montado o expuesto de alguna otra manera al servicio web de oCIS a través de WEB_ASSET_THEMES_PATH.

Ilustración del administrador de archivos que muestra una carpeta de tema personalizado de ownCloud con un directorio de recursos, logotipo, favicon, fondo de inicio de sesión y archivo themes.json.

Ejemplo de estructura de archivos para un tema web personalizado de ownCloud. La definición del tema y los archivos de imagen se guardan juntos en un directorio específico.

Por ejemplo, una estructura del lado del anfitrión podría verse así:

/srv/owncloud/themes/
└── acme/
    ├── themes.json
    └── assets/
        ├── logo.svg
        ├── logo-white.svg
        ├── favicon.png
        └── login-background.jpg

Utilice imágenes que se mantengan legibles en el contexto en el que aparecen. Un logotipo oscuro que funciona bien en una página blanca puede desaparecer sobre una barra superior oscura, por lo que suele ser útil proporcionar variantes claras y oscuras del logotipo. Además, mantenga el fondo de inicio de sesión relativamente sencillo detrás de los controles de acceso. La imagen de marca debe mejorar el reconocimiento sin reducir la legibilidad.

Paso 2: Defina el nombre de la marca, las rutas del logotipo, el favicon y el fondo de inicio de sesión.

El tema JSON es el centro de la personalización. La commonsección contiene texto de marca compartido, como el nombre y el eslogan. Debajo clients.web.defaults, puede definir los logotipos web predeterminados y el fondo de inicio de sesión. El esquema documentado de ownCloud utiliza claves de logotipo separadas para topbar, favicon, y login.

Ilustración del editor de código que muestra un archivo themes.json con valores de marca comunes, elementos del logotipo web, favicon y entradas de fondo de inicio de sesión.

Ilustración estilo editor de la sección de marca de un archivo de tema. Utilice la estructura de objetos documentada en el ejemplo siguiente en lugar de tratar la ilustración como código para copiar y pegar.

Un punto de partida mínimo puede basarse en la estructura compatible que se muestra a continuación. Mantenga las rutas coherentes con la ruta URL mediante la cual el servicio web expone los recursos de su tema:

{
  "common": {
    "name": "Acme Cloud",
    "slogan": "Your files. Your workspace.",
    "logo": "themes/acme/assets/logo.svg",
    "urls": {
      "accessDeniedHelp": "",
      "imprint": "",
      "privacy": "",
      "accessibilityStatement": "",
      "universalAccessEasyLanguage": "",
      "universalAccessSignLanguage": ""
    }
  },
  "clients": {
    "android": {},
    "desktop": {},
    "ios": {},
    "web": {
      "defaults": {
        "appBanner": {},
        "logo": {
          "topbar": "themes/acme/assets/logo-white.svg",
          "favicon": "themes/acme/assets/favicon.png",
          "login": "themes/acme/assets/logo-white.svg"
        },
        "loginPage": {
          "backgroundImg": "themes/acme/assets/login-background.jpg"
        },
        "icons": {
          "universalAccess": "",
          "universalAccessEasyLanguage": "",
          "universalAccessSignLanguage": ""
        }
      },
      "themes": []
    }
  }
}

No asuma que todas las claves se pueden omitir sin problemas solo porque el analizador JSON acepta el archivo. ownCloud indica que algunas claves de tema obligatorias se insertan en tiempo de ejecución, pero un tema sintácticamente válido aún puede ser semánticamente incorrecto. Una buena práctica de producción es partir de la plantilla de tema incluida en la versión de Infinite Scale que realmente utiliza, realizar solo los cambios de marca necesarios y mantener el resto de la estructura alineada con esa versión.

Paso 3: Cambia los colores del tema con tokens de diseño.

La personalización del color pertenece a una entrada de tema en clients.web.themes. Cada tema puede identificar si es oscuro con isDark, proporcionar un texto legible para humanos namey anular los tokens de diseño. Es colorPalettedonde normalmente se ajustan los colores visibles de la marca.

Ilustración del editor de código que muestra los tokens de diseño web de ownCloud para los colores de marca, principal, de fondo, de texto y de carpeta.

Ejemplo de los tipos de tokens de color que utiliza ownCloud Web. Modifique primero el conjunto seleccionado, luego verifique el contraste y los estados al pasar el cursor antes de expandir la paleta.

Para un tema corporativo sencillo, puedes empezar con un pequeño conjunto de fichas en lugar de cambiar todos los colores disponibles:

{
  "isDark": false,
  "name": "Acme Light",
  "logo": {
    "topbar": "themes/acme/assets/logo-white.svg",
    "favicon": "themes/acme/assets/favicon.png",
    "login": "themes/acme/assets/logo-white.svg"
  },
  "designTokens": {
    "colorPalette": {
      "background-default": "#ffffff",
      "background-sidebar": "#f5f7fa",
      "background-hover": "#eef4fb",
      "border": "#d8e0e8",
      "swatch-brand-default": "#176B87",
      "swatch-brand-hover": "#12556C",
      "swatch-brand-contrast": "#ffffff",
      "swatch-primary-default": "#176B87",
      "swatch-primary-hover": "#12556C",
      "swatch-primary-contrast": "#ffffff",
      "text-default": "#102A33",
      "text-inverse": "#ffffff",
      "text-muted": "#526873",
      "icon-folder": "#176B87"
    }
  }
}

La disyuntiva importante reside en la coherencia frente a la exhaustividad. Modificar solo un elemento swatch-brand-defaultpuede ofrecer un resultado visual rápido, pero los tokens de desplazamiento, contraste, barra lateral, borde y texto podrían seguir reflejando el tema predeterminado. Por otro lado, sobrescribir decenas de tokens sin realizar pruebas puede generar combinaciones ilegibles. En la mayoría de las implementaciones, comience con los valores de marca, principal, contraste, fondo, texto y borde, y luego amplíe solo donde los valores predeterminados entren en conflicto visible con su diseño.

Presta especial atención al contraste. Si eliges un color de marca claro, combínalo con un elemento de contraste oscuro en lugar de superponer texto blanco. Prueba el enfoque del teclado, los estados al pasar el cursor, los controles deshabilitados, el modo oscuro (si lo ofreces) y los modos de alto contraste si son importantes para tus usuarios.

Paso 4: Monta el tema personalizado y configura ownCloud para que apunte a themes.json.

Una vez que el directorio y el archivo JSON estén listos, configure el servicio web para que pueda leerlos. Las dos variables de entorno relevantes son WEB_ASSET_THEMES_PATH, que le indica a ownCloud dónde se encuentra la raíz del tema personalizado, y WEB_UI_THEME_PATH, que selecciona el archivo JSON del tema que se va a cargar.

Ilustración del editor de código de un servicio Docker Compose que define WEB_ASSET_THEMES_PATH, WEB_UI_THEME_PATH y un directorio de temas montado.

Ilustración al estilo Docker Compose sobre cómo montar un directorio de tema personalizado y configurar las dos variables de entorno de temas web de ownCloud. Adapte las rutas a su implementación real.

Un despliegue de Docker Compose podría utilizar un patrón como este:

services:
  ocis:
    image: owncloud/ocis:<your-tested-version>
    environment:
      WEB_ASSET_THEMES_PATH: /etc/ocis/themes
      WEB_UI_THEME_PATH: /etc/ocis/themes/acme/themes.json
    volumes:
      - ./themes:/etc/ocis/themes:ro

La etiqueta de imagen anterior es un marcador de posición. Para producción, utilice la versión exacta de oCIS que haya probado, en lugar de copiar una etiqueta flotante de un ejemplo. Tras modificar el entorno o los archivos montados, reinicie o vuelva a crear el servicio oCIS afectado según su método de implementación para que se lea la nueva configuración.

ownCloud documenta un comportamiento de reserva importante: si no se proporciona un tema personalizado o si falla la carga del tema, se utiliza el tema estándar Infinite Scale. Esta reserva es útil porque la ausencia de una ruta no necesariamente deja la interfaz inutilizable. Sin embargo, también significa que ver la apariencia predeterminada de ownCloud después de un reinicio puede ser una pista de diagnóstico de que su tema personalizado no se cargó.

Cómo verificar que la marca se haya cargado correctamente

No te detengas después de que cambie la página de inicio de sesión. Una revisión completa debe abarcar los lugares donde los usuarios verán tu marca. Abre el sitio en una sesión nueva del navegador o en una ventana privada para reducir la posibilidad de que un archivo en caché oculte el estado actual.

  • Confirma que la página de inicio de sesión utiliza el logotipo y el fondo esperados.
  • Tras iniciar sesión, compruebe que el logotipo de la barra superior es correcto y que sigue siendo legible sobre el fondo.
  • Comprueba la pestaña del navegador para ver el favicon personalizado.
  • Abra el área de archivos y verifique los botones principales, los estados al pasar el cursor, los colores de la barra lateral, los iconos de las carpetas y el contraste del texto.
  • Si ofreces temas claros y oscuros, cambia entre ellos y verifica ambos de forma independiente.
  • Comprueba que el ancho del navegador sea al menos uno estrecho para que un logotipo ancho no sature la barra superior adaptable.

Cuando no aparece el tema personalizado

El tema predeterminado de ownCloud sigue cargándose.

Primero, verifique las rutas dentro del contenedor o servicio en ejecución, no solo en el host. WEB_ASSET_THEMES_PATHDebe hacer referencia a la raíz del tema tal como la ve el servicio web, y WEB_UI_THEME_PATHdebe hacer referencia al archivo JSON real en ese entorno. ownCloud no puede leer una ruta de host que nunca se haya montado en el contenedor.

El JSON se carga pero falta una imagen.

Comprueba la ruta del recurso themes.json, respeta las mayúsculas y minúsculas del nombre del archivo y verifica si existe en el directorio de temas personalizados. Las herramientas para desarrolladores del navegador pueden ayudarte a distinguir una solicitud de recurso defectuosa de un problema de tema. Si los colores del tema se cargan, pero un logotipo no, es posible que el tema sea válido, aunque la ruta del recurso sea incorrecta.

La página tiene la marca, pero los colores se ven inconsistentes.

Esto suele significar que solo se modificó una parte de la paleta. Añade los tokens de desplazamiento y contraste correspondientes y vuelve a probar. No soluciones el problema de un botón ilegible cambiando de forma generalizada texto o tokens de fondo no relacionados; realiza el cambio más pequeño y coherente y verifícalo en toda la interfaz.

Un tema funciona en una versión pero se ve mal después de una actualización.

Los tokens de tema y el comportamiento del frontend pueden evolucionar. Antes de actualizar un entorno de producción, compare su tema personalizado con la plantilla y la documentación de la versión de oCIS de destino. La documentación de configuración web personalizada de ownCloud también explica la diferencia entre la configuración/recursos personalizados compatibles y el suministro de recursos web compilados completamente personalizados.

¿Debería editar los recursos web compilados en su lugar?

Por lo general, no es recomendable para la personalización de marca. Un tema personalizado es la mejor opción cuando el objetivo es cambiar nombres, logotipos, fondos y elementos de diseño, manteniendo la coherencia con la interfaz web compatible. Los recursos compilados totalmente personalizados solo tienen sentido al desarrollar o distribuir una interfaz de usuario modificada que no se puede expresar mediante temas o modificaciones de recursos compatibles. Este enfoque conlleva un mayor costo de mantenimiento, ya que usted es responsable de mantener la compatibilidad de su compilación personalizada con los futuros cambios web de ownCloud.

Una lista de verificación práctica para la producción

  • Mantén los archivos de temas personalizados fuera de los directorios de la aplicación integrada.
  • Comience con la estructura del tema documentada para la versión de oCIS que tiene instalada.
  • Utilice variantes de logotipo diferentes cuando las superficies claras y oscuras lo requieran.
  • Primero, sobrescriba un conjunto específico de tokens de diseño, incluidos los valores de desplazamiento del cursor y de contraste.
  • Monta el directorio del tema en modo de solo lectura siempre que sea posible.
  • Configure ambos WEB_ASSET_THEMES_PATHcomo WEB_UI_THEME_PATHrutas visibles dentro del servicio.
  • Reinicie o vuelva a crear el servicio Web/oCIS después de realizar cambios en la implementación.
  • Verificar el inicio de sesión, la barra superior, el favicon, el área de archivos, el diseño adaptable y cualquier tema oscuro o de alto contraste que se muestre.
  • Vuelva a probar el tema antes de cada actualización importante de ownCloud Infinite Scale.

Para las implementaciones actuales de Infinite Scale, este enfoque de archivo de tema proporciona a los administradores una clara separación entre el código de la aplicación y la identidad visual. La clave es tratar el tema como un recurso de implementación versionado: utilice el esquema compatible con su versión de ownCloud, mantenga las rutas de las imágenes predecibles, cambie los colores mediante tokens de diseño en lugar de realizar ediciones ad hoc en el frontend y verifique el resultado en toda la interfaz web en lugar de juzgar el éxito desde una sola pantalla.

Dejar un comentario

Las 10 mejores herramientas de escaneo de ping para encontrar dispositivos en tu red.

Las 10 mejores herramientas de escaneo de ping para encontrar dispositivos en tu red.

Compara 10 herramientas de escaneo de ping para la detección rápida de redes LAN, el escaneo multiplataforma y la gestión de direcciones IP. Descubre qué puede (y qué no puede) revelarte un escaneo.

Las 6 mejores herramientas de gestión de red para el seguimiento del rendimiento

Las 6 mejores herramientas de gestión de red para el seguimiento del rendimiento

Compare seis herramientas de gestión de red para la monitorización del rendimiento, incluyendo la cobertura SNMP, la asignación de mapas, las alertas, los modelos de implementación y las ventajas y desventajas en cuanto a costes.

Los mejores analizadores de Wi-Fi para Windows, iOS y Android.

Los mejores analizadores de Wi-Fi para Windows, iOS y Android.

Compara las mejores aplicaciones de análisis Wi-Fi para Windows, iPhone y Android, incluyendo herramientas para la congestión de canales, la cobertura de la señal, los mapas de calor y la resolución de problemas de red.

Ping Monitor: 7 herramientas gratuitas y de código abierto para la disponibilidad de la red

Ping Monitor: 7 herramientas gratuitas y de código abierto para la disponibilidad de la red

Compara siete monitores de ping gratuitos y de código abierto, desde suites de red completas hasta sondas de latencia específicas, y elige el que mejor se adapte a tus necesidades en cuanto a disponibilidad, pérdida de paquetes e historial.

Calidad de Servicio en Redes: Qué es la Calidad de Servicio y cómo funciona

Calidad de Servicio en Redes: Qué es la Calidad de Servicio y cómo funciona

Aprenda qué significa QoS en redes, cómo las marcas DSCP y las colas de tráfico priorizan las aplicaciones de voz, vídeo y empresariales, y qué problemas no puede solucionar la QoS.

Las 7 mejores herramientas de gestión de direcciones IP para equipos de red

Las 7 mejores herramientas de gestión de direcciones IP para equipos de red

Compare siete herramientas de administración de direcciones IP para el descubrimiento de subredes, la coordinación de DNS y DHCP, el inventario de red y la gestión de direcciones IP de código abierto.

El mejor software de servidor SFTP para transferencias seguras de archivos.

El mejor software de servidor SFTP para transferencias seguras de archivos.

Compara software de servidor SFTP fiable para Windows y Linux, incluyendo OpenSSH, Bitvise, SolarWinds y SFTPGo. Encuentra la solución ideal para tus necesidades de seguridad y transferencia de archivos.

Buenas prácticas de monitorización de redes: qué monitorizar y qué herramientas utilizar.

Buenas prácticas de monitorización de redes: qué monitorizar y qué herramientas utilizar.

Cree un sistema práctico de monitorización de red con una cobertura clara de los dispositivos, métricas de rendimiento útiles, alertas procesables y una comparación de SolarWinds NPM, PRTG y OpManager.

Las 10 mejores herramientas de escaneo de red para descubrir dispositivos e IPs

Las 10 mejores herramientas de escaneo de red para descubrir dispositivos e IPs

Compare las herramientas de escaneo de red para la detección rápida de dispositivos, escaneos de IP multiplataforma y gestión de direcciones IP (IPAM) empresariales, con orientación sobre cómo adaptar cada opción a su red.

Cómo usar Nmap para realizar un rastreo de ruta y leer la ruta de red.

Cómo usar Nmap para realizar un rastreo de ruta y leer la ruta de red.

Utilice la opción --traceroute de Nmap para asignar saltos a un host autorizado, comprender la salida de saltos y RTT, y solucionar problemas de respuestas faltantes sin realizar un escaneo excesivo.