How to Customize ownCloud Web UI Branding and Theme Colors

The most reliable way to customize the current ownCloud Web interface is to create a supported theme JSON file and point ownCloud Infinite Scale to that theme. You do not need to rebuild the Web frontend just to change the brand name, logos, favicon, login background, or common interface colors. In the current Infinite Scale theming model, those elements are supplied through a theme definition, while design tokens control colors and other visual values.

This guide is written for ownCloud Infinite Scale (oCIS) and its modern ownCloud Web frontend. It is not a guide for the older ownCloud Server 10/11 PHP theming system, which uses an app-based theme structure and different configuration. ownCloud's stable Infinite Scale 8.2 documentation and the 9.0 development documentation both describe the same runtime approach: provide a custom themes directory with WEB_ASSET_THEMES_PATH, then select a theme JSON file with WEB_UI_THEME_PATH. See the official ownCloud Web custom theming documentation.

What you can customize without rebuilding ownCloud Web

A normal organization theme can cover the visual changes most administrators actually need. The theme JSON can define the product name and slogan, paths to logos and a favicon, the login-page background, and Web design tokens such as brand, primary, background, text, border, and file-type colors. This is preferable to editing compiled frontend files because the theme remains a separate deployment asset and can be managed alongside your server configuration.

Branding goalWhere it belongsTypical value
Product name and slogancommonCompany Cloud, company tagline
Top-bar, login, and favicon imagesclients.web.defaults.logoPaths under your theme assets folder
Login backgroundclients.web.defaults.loginPage.backgroundImgJPEG or other supported browser image asset
Brand and UI colorsclients.web.themes[].designTokens.colorPaletteHex, RGB/RGBA, or other valid values used by the shipped theme

Step 1: Create a separate theme directory and assets folder

Start by keeping your custom theme separate from the built-in ownCloud assets. A simple layout is a theme directory containing themes.json plus an assets folder for your logos, favicon, and login image. The exact host path is your choice; what matters is that the directory is mounted or otherwise exposed to the oCIS Web service through WEB_ASSET_THEMES_PATH.

Ilustração do gerenciador de arquivos mostrando uma pasta de tema personalizada do ownCloud com um diretório de recursos, logotipo, favicon, plano de fundo da tela de login e o arquivo themes.json.

Example file layout for a custom ownCloud Web theme. The theme definition and image assets are kept together in a dedicated directory.

For example, a host-side structure could look like this:

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

Utilize imagens que permaneçam legíveis no contexto em que aparecem. Um logotipo escuro que funciona bem em uma página branca pode desaparecer contra uma barra superior escura, portanto, geralmente é útil fornecer variantes separadas do logotipo, em versões clara e escura. Além disso, mantenha o fundo da área de login relativamente simples atrás dos controles de login. A identidade visual deve melhorar o reconhecimento sem comprometer a legibilidade.

Etapa 2: Defina o nome da marca, os caminhos do logotipo, o favicon e o fundo da tela de login.

O JSON do tema é o centro da personalização. A commonseção contém textos de marca compartilhados, como o nome e o slogan. Em clients.web.defaults, você pode definir os logotipos padrão da Web e o plano de fundo de login. O esquema documentado do ownCloud usa chaves de logotipo separadas para topbar, favicone login.

Ilustração de um editor de código mostrando um arquivo themes.json com valores de marca comuns, elementos de logotipo da web, favicon e entradas de fundo de login.

Ilustração no estilo do editor da parte de identidade visual de um arquivo de tema. Use a estrutura de objeto documentada no exemplo abaixo, em vez de tratar a ilustração como código para copiar e colar.

Um ponto de partida mínimo pode ser baseado na estrutura suportada abaixo. Mantenha os caminhos consistentes com o caminho da URL pela qual o serviço Web expõe os recursos do seu 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": []
    }
  }
}

Não presuma que todas as chaves podem ser omitidas com segurança apenas porque o analisador JSON aceita o arquivo. A ownCloud observa que algumas chaves de tema obrigatórias são injetadas em tempo de execução, mas um tema sintaticamente válido ainda pode estar semanticamente incorreto. Uma boa prática de produção é começar com o modelo de tema fornecido na versão do Infinite Scale que você está usando, fazer apenas as alterações de marca necessárias e manter o restante da estrutura alinhado com essa versão.

Passo 3: Alterar as cores do tema com tokens de design

A personalização de cores deve ser feita em uma entrada de tema dentro de `<theme>` clients.web.themes. Cada tema pode identificar se é escuro com isDark`<theme-style>`, fornecer um `<theme-style>` legível namee sobrescrever tokens de design. É colorPaletteaqui que as cores visíveis da marca são normalmente ajustadas.

Ilustração do editor de código mostrando os tokens de design da Web do ownCloud para cores de marca, primária, de fundo, de texto e de pasta.

Exemplo dos tipos de tokens de cor usados ​​pelo ownCloud Web. Altere primeiro o conjunto selecionado e, em seguida, verifique o contraste e o estado de foco antes de expandir a paleta.

Para um tema corporativo leve, você pode começar com um pequeno conjunto de símbolos em vez de alterar todas as cores disponíveis:

{
  "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"
    }
  }
}

O importante equilíbrio é entre consistência e abrangência. Alterar apenas um elemento swatch-brand-defaultpode proporcionar um resultado visual rápido, mas os tokens de foco, contraste, barra lateral, borda e texto ainda podem refletir o tema padrão. Por outro lado, sobrescrever dezenas de tokens sem testes pode criar combinações ilegíveis. Para a maioria das implementações, comece com os valores de marca, cor principal, contraste, plano de fundo, texto e borda, e expanda apenas onde os valores padrão entrarem em conflito visível com o seu design.

Preste atenção especial ao contraste. Se escolher uma cor clara para a sua marca, combine-a com um elemento de contraste escuro em vez de forçar texto branco sobre ele. Teste o foco do teclado, os estados de foco ao passar o cursor, os controles desativados, o modo escuro (se disponível) e os modos de alto contraste (se relevantes para os seus usuários).

Passo 4: Instale o tema personalizado e configure o ownCloud para usar o arquivo themes.json.

Assim que o diretório e o arquivo JSON estiverem prontos, configure o serviço Web para que ele possa lê-los. As duas variáveis ​​de ambiente relevantes são ` WEB_ASSET_THEMES_PATHcustomThemeRoot`, que informa ao ownCloud onde o tema personalizado está localizado, e WEB_UI_THEME_PATH`themeJSONFile`, que seleciona o arquivo JSON do tema a ser carregado.

Ilustração em editor de código de um serviço Docker Compose definindo WEB_ASSET_THEMES_PATH, WEB_UI_THEME_PATH e um diretório de temas montado.

Ilustração no estilo Docker Compose de como montar um diretório de tema personalizado e configurar as duas variáveis ​​de ambiente de tema web do ownCloud. Adapte os caminhos à sua implantação real.

Uma implementação do Docker Compose pode usar um padrão 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

A tag de imagem acima é intencionalmente um marcador de posição. Para produção, use a versão exata do oCIS que você testou, em vez de copiar uma tag flutuante de um exemplo. Após alterar o ambiente ou os arquivos montados, reinicie ou recrie o serviço oCIS afetado de acordo com seu método de implantação para que a nova configuração seja lida.

A documentação do ownCloud descreve um importante comportamento alternativo: se nenhum tema personalizado for fornecido ou se o carregamento do tema falhar, o tema padrão Infinite Scale será utilizado. Esse comportamento alternativo é útil porque a ausência de um caminho não torna necessariamente a interface inutilizável. No entanto, isso também significa que ver a aparência padrão do ownCloud após uma reinicialização pode ser um indício de que seu tema personalizado não foi carregado.

Como verificar se a marca foi realmente carregada?

Não pare após as alterações na página de login. Uma verificação completa deve abranger os locais onde os usuários realmente verão sua marca. Abra o site em uma nova sessão do navegador ou em uma janela anônima para reduzir a chance de um recurso em cache ocultar o estado atual.

  • Confirme se a página de login utiliza o logotipo e o plano de fundo esperados.
  • Após efetuar o login, confirme se o logotipo na barra superior está correto e permanece legível sobre o fundo.
  • Verifique a aba do navegador para ver o favicon personalizado.
  • Abra a área de arquivos e verifique os botões principais, os estados de foco, as cores da barra lateral, os ícones das pastas e o contraste do texto.
  • Se você disponibilizar temas claros e escuros, alterne entre eles e verifique ambos separadamente.
  • Verifique pelo menos uma largura de navegador estreita para que um logotipo largo não sobrecarregue a barra superior responsiva.

Quando o tema personalizado não aparece

O tema padrão do ownCloud ainda carrega.

Primeiro, verifique os caminhos dentro do contêiner ou serviço em execução, não apenas no host. WEB_ASSET_THEMES_PATHO caminho deve se referir à raiz do tema, conforme vista pelo serviço web, e WEB_UI_THEME_PATHdeve se referir ao arquivo JSON real nesse ambiente. Um caminho de host que nunca foi montado no contêiner não pode ser lido pelo ownCloud.

O JSON carrega, mas falta uma imagem.

Verifique o caminho do recurso themes.json, o uso de maiúsculas e minúsculas no nome do arquivo e se o arquivo existe no diretório de temas personalizados. As ferramentas de desenvolvedor do navegador podem ajudar a distinguir uma solicitação de recurso corrompida de um problema de tema. Se as cores do tema carregarem, mas um logotipo não, o tema em si pode estar correto, enquanto o caminho do recurso está incorreto.

A página está identificada com a marca, mas as cores parecem inconsistentes.

Isso geralmente significa que apenas parte da paleta foi sobrescrita. Adicione os tokens de foco e contraste relacionados e teste novamente. Não resolva um único botão ilegível alterando amplamente tokens de texto ou de fundo não relacionados; faça a menor alteração coerente possível e verifique-a em toda a interface.

Um tema funciona em uma versão, mas fica com aparência incorreta após uma atualização.

Os tokens de tema e o comportamento do frontend podem evoluir. Antes de atualizar um ambiente de produção, compare seu tema personalizado com o modelo e a documentação da versão oCIS de destino. A documentação de configuração personalizada da Web do ownCloud também explica a distinção entre configurações/ativos personalizados suportados e o fornecimento de ativos da Web compilados totalmente personalizados.

Em vez disso, você deveria editar os recursos da Web compilados?

Geralmente não é adequado para personalização de marca comum. Um tema personalizado é a melhor opção quando seu objetivo é alterar nomes, logotipos, planos de fundo e elementos de design, mantendo-se fiel à interface web padrão. Recursos compilados totalmente personalizados só fazem sentido quando você está desenvolvendo ou distribuindo um frontend genuinamente modificado que não pode ser expresso por meio de temas ou substituições de recursos padrão. Essa abordagem acarreta um custo de manutenção mais alto, pois você é responsável por manter sua versão personalizada compatível com futuras alterações do ownCloud Web.

Uma lista de verificação prática para a produção

  • Mantenha os arquivos de tema personalizados fora dos diretórios padrão do aplicativo.
  • Comece pela estrutura de temas documentada para a versão do oCIS instalada em sua casa.
  • Utilize variantes de logotipo diferentes quando superfícies claras e escuras assim o exigirem.
  • Primeiro, substitua um conjunto específico de marcadores de design, incluindo os valores de foco e contraste.
  • Sempre que possível, monte o diretório do tema como somente leitura.
  • Defina ambos WEB_ASSET_THEMES_PATHos WEB_UI_THEME_PATHcaminhos como visíveis dentro do serviço.
  • Reinicie ou recrie o serviço Web/oCIS após as alterações de implantação.
  • Verifique o login, a barra superior, o favicon, a área de arquivos, o layout responsivo e quaisquer temas escuros/de alto contraste que você disponibilizar.
  • Teste novamente o tema antes de cada atualização importante do ownCloud Infinite Scale.

Para as implementações atuais do Infinite Scale, essa abordagem de arquivo de tema oferece aos administradores uma separação clara entre o código do aplicativo e a identidade visual. A chave é tratar o tema como um recurso de implementação versionado: use o esquema compatível com a sua versão do ownCloud, mantenha os caminhos das imagens previsíveis, altere as cores por meio de tokens de design em vez de edições ad hoc no frontend e verifique o resultado em toda a interface da Web, em vez de avaliar o sucesso com base em apenas uma tela.

Deixar um comentário

10 Melhores Ferramentas de Varredura de Ping para Encontrar Dispositivos na Sua Rede

10 Melhores Ferramentas de Varredura de Ping para Encontrar Dispositivos na Sua Rede

Compare 10 ferramentas de varredura de ping para descoberta rápida de LAN, varredura multiplataforma e gerenciamento de endereços IP. Saiba o que uma varredura pode — e não pode — revelar.

6 Melhores Ferramentas de Gerenciamento de Rede para Monitorar o Desempenho

6 Melhores Ferramentas de Gerenciamento de Rede para Monitorar o Desempenho

Compare seis ferramentas de gerenciamento de rede para monitoramento de desempenho, incluindo cobertura SNMP, mapeamento, alertas, modelos de implantação e custo-benefício.

Melhores analisadores de Wi-Fi para Windows, iOS e Android

Melhores analisadores de Wi-Fi para Windows, iOS e Android

Compare as melhores opções de analisadores de Wi-Fi para Windows, iPhone e Android, incluindo ferramentas para congestionamento de canais, cobertura de sinal, mapas de calor e solução de problemas de rede.

Monitor de Ping: 7 ferramentas gratuitas e de código aberto para disponibilidade de rede

Monitor de Ping: 7 ferramentas gratuitas e de código aberto para disponibilidade de rede

Compare sete monitores de ping gratuitos e de código aberto, desde suítes completas de rede até sondas de latência específicas, e escolha a opção mais adequada para disponibilidade, perda de pacotes e histórico.

Taxa de transferência de rede versus largura de banda: o que significam e como afetam o desempenho

Taxa de transferência de rede versus largura de banda: o que significam e como afetam o desempenho

Veja como a taxa de transferência de rede difere da largura de banda, o que causa desempenho lento ou instável e quais ferramentas podem testar um caminho ou monitorar o tráfego.

Melhor software de servidor SFTP para transferências seguras de arquivos

Melhor software de servidor SFTP para transferências seguras de arquivos

Compare softwares de servidor SFTP confiáveis ​​para Windows e Linux, incluindo OpenSSH, Bitvise, SolarWinds e SFTPGo. Encontre a solução ideal para suas necessidades de segurança e transferência de arquivos.

Melhores práticas de monitoramento de rede: o que monitorar e quais ferramentas usar

Melhores práticas de monitoramento de rede: o que monitorar e quais ferramentas usar

Crie um monitoramento de rede prático com cobertura clara de dispositivos, métricas de desempenho úteis, alertas acionáveis ​​e uma comparação entre SolarWinds NPM, PRTG e OpManager.

As 7 melhores ferramentas de gerenciamento de endereços IP para equipes de rede

As 7 melhores ferramentas de gerenciamento de endereços IP para equipes de rede

Compare sete ferramentas de gerenciamento de endereços IP para descoberta de sub-redes, coordenação de DNS e DHCP, inventário de rede e IPAM de código aberto.

10 Melhores Ferramentas de Varredura de Rede para Descobrir Dispositivos e IPs

10 Melhores Ferramentas de Varredura de Rede para Descobrir Dispositivos e IPs

Compare ferramentas de varredura de rede para descoberta rápida de dispositivos, varreduras de IP multiplataforma e IPAM corporativo, com orientações sobre como escolher a opção mais adequada para sua rede.

6 ferramentas de monitoramento de rede Linux para dispositivos, hosts e tráfego.

6 ferramentas de monitoramento de rede Linux para dispositivos, hosts e tráfego.

Compare seis ferramentas de monitoramento de rede Linux para descoberta de dispositivos SNMP, gráficos de interface, métricas de host, verificação de serviços e fluxos de tráfego.