Buscar K
Aparência
Aparência
Templates são a forma de criar produtos de BI auto-contidos que podem ser replicados para múltiplos tenants. Eles permitem padronizar, distribuir e atualizar soluções completas de Business Intelligence.
TIP
Templates são ideais para clientes whitelabel que precisam escalar um BI embarcado para dezenas ou centenas de clientes finais.
Um Template é um "snapshot" completo de um ambiente de BI. Ao criar um template, você seleciona as Mesas de Aplicações que deseja empacotar.
O sistema identifica automaticamente todas as dependências a partir das aplicações selecionadas:
NOTE
Tabelas que não são utilizadas por nenhuma aplicação não entram no template. O sistema empacota apenas o que é efetivamente necessário para o funcionamento das aplicações selecionadas.
WARNING
Dataflows seguem as tabelas. Um Dataflow só é empacotado se produzir uma tabela que é usada por alguma aplicação de uma mesa selecionada. Um Dataflow novo "solto" (que ainda não alimenta uma tabela em uso por um dashboard) não entra no template, mesmo que tenha sido criado e validado.
Se um Dataflow precisa ir junto, garanta que a tabela que ele gera seja efetivamente consumida por uma aplicação dentro de uma das mesas selecionadas.
NOTE
Cadastros viajam no template — estrutura, sem dados. Quando um Cadastro de uma mesa selecionada faz parte do template, vão junto seus campos, validações e referências (chaves externas). Os registros (dados) não são empacotados: cada tenant começa com o Cadastro vazio, pronto para ser preenchido.
Templates são criados a partir de um tenant de desenvolvimento (também chamado de "tenant base"):
NOTE
O template captura o estado atual do conteúdo. Alterações posteriores no tenant de desenvolvimento não afetam templates já criados.
Templates podem ser instalados em novos tenants de duas formas:
Durante a criação do tenant:
Em tenants existentes:
Quando você precisa atualizar um template:
Por padrão, aplicar um template (instalar ou atualizar) é uma operação aditiva: cria e atualiza o que o template define, mas nunca remove nada do tenant. Com o tempo isso faz o tenant acumular conteúdo que não pertence mais ao template — linhas de produto descontinuadas, forks órfãos, restos de templates antigos.
A opção Espelhar template, disponível na hora de aplicar, resolve isso: além do apply aditivo de sempre, ela executa uma fase de poda, removendo do tenant o conteúdo de produto que não existe no template — deixando o tenant em estado canônico, um espelho exato do que o template define.
NOTE
Espelhar é desativado por padrão. Sem marcar a opção, o apply continua exatamente aditivo, como sempre foi.
Estes recursos são conteúdo de produto: o que casa por nome (e Mesa) com o template é mantido/atualizado normalmente; o que não casa é removido.
| Recurso | Quando é removido |
|---|---|
| Aplicações | Não existe Aplicação de mesmo nome, na mesma Mesa, no template |
| Tabelas (exceto Cadastros) | Não existe Tabela de mesmo nome, na mesma Mesa, no template |
| Dataflows | Não existe Dataflow de mesmo nome, na mesma Mesa, no template |
| Mesas (de Aplicação e de Dados) | Ficou vazia depois que os itens acima foram removidos |
O estado pessoal/operacional do tenant nunca é alvo da poda — só desaparece em cascata, se o recurso ao qual pertence for removido:
Agendamentos e Datamarts não são avaliados por nome — eles seguem o destino do que referenciam:
TIP
Tags de Dataflow seguem o Dataflow (somem se ele for podado); a definição da tag em si permanece disponível para uso futuro.
Alertas são, em regra, estado pessoal preservado. A exceção: quando uma Aplicação inteira é podada (por não existir no template), os Alertas vinculados a ela são removidos junto — um Alerta é um job ativo, e deixá-lo apontando para uma Aplicação inexistente geraria disparos com erro.
Bookmarks e Dashboards pessoais da mesma Aplicação não seguem essa regra: ficam preservados como estado inerte e voltam a funcionar normalmente se a Aplicação for restaurada do Arquivo.
Antes de confirmar um apply com Espelhar ativado, o sistema sempre mostra um preview com o que será removido (por tipo e nome), para revisão antes de confirmar.
CAUTION
O preview é uma estimativa conservadora. Ele pode listar Mesas, Agendamentos ou Datamarts como candidatos à remoção mesmo quando, depois que o próprio apply recriar o conteúdo do template, esses recursos acabem sobrevivendo de fato. Ou seja: o preview pode superestimar o que será removido, mas nunca esconde uma remoção real — revise sempre antes de confirmar.
Toda remoção feita por Espelhar é uma exclusão reversível (soft-delete), seguindo as mesmas regras de qualquer exclusão no Horus — sem apagamento físico dos dados. Aplicações, Dataflows e Tabelas removidos aparecem no Arquivo e podem ser restaurados em até 90 dias.
O fluxo de Fork cria os ativos customizados em uma Mesa "Customizações" separada, propositalmente fora do template. Por não pertencer ao template, essa Mesa é podada quando você espelha — é o mesmo "preço da segurança" que o fluxo de Fork já assume: o template nunca toca uma customização para atualizá-la, mas também não a reconhece como própria. Por isso o preview e a recuperação via Arquivo existem: revise o que será removido antes de confirmar.
A opção "Proteger mesas criadas via templates" bloqueia apenas a edição manual do usuário — ela não isenta uma Mesa da poda do Espelhar. Mesas do template continuam casando por nome e sobrevivem normalmente; uma Mesa protegida que não pertence ao template sendo aplicado (por exemplo, de uma linha de produto antiga, ou de outro template instalado no mesmo tenant) é podada como qualquer outra Mesa fora do template.
Se o tenant tem mais de um template instalado, Espelhar remove o conteúdo de produto que não pertence ao template que está sendo aplicado, mesmo que pertença a outra linha de produto também instalada ali. É um comportamento proposital — e, como qualquer remoção, aparece no preview antes de confirmar.
Um dos maiores desafios em produtos de dados em escala é: como entregar um produto padrão (Template) e ainda permitir customizações para clientes específicos?
A solução do HEC combina dois conceitos: Mesas Protegidas (Segurança) e Fork (Operação).
O sistema permite proteger os ativos instalados pelo template para que ninguém os edite acidentalmente.
Como as mesas oficiais estão bloqueadas (ou devem ser tratadas como tal), a única forma de customizar é clonar o ativo.
Sempre que precisar customizar um Dashboard, tabela ou ativo padrão do produto, siga este fluxo:
Fato_Vendas ou Aplicação Sales Dashboard).Fato_Vendas_Custom ou Sales Dashboard (Custom)).TIP
Por que isso funciona?
Fato_Vendas será atualizado automaticamente.Fato_Vendas_Custom é um ativo independente ("órfão") e não será tocado pela atualização, preservando a customização do cliente.Cenário: Você precisa adicionar uma coluna Regra_X na tabela de Vendas apenas para o Cliente A.
Fato_Vendas original para sua mesa.Regra_X no novo flow.Fato_Vendas_Custom.Fato_Vendas_Custom.Isso cria uma redundância deliberada (o dado original e o customizado coexistem), que é o preço da segurança de atualização.
Templates podem ser parametrizáveis através de variáveis globais. Isso permite criar templates genéricos que se adaptam a diferentes clientes.
| Variável | Uso |
|---|---|
URL_API | Endpoint da API do cliente |
CHAVE_INTEGRACAO | Token de autenticação |
CNPJ_EMPRESA | Identificador para filtro de select |
Conforme você cria múltiplas versões de templates, fica difícil gerenciar qual é a versão vigente e quais tenants estão desatualizados. Linhas de Produto resolvem esse problema.
Uma Linha de Produto agrupa templates relacionados, permitindo:
Na tela de detalhes da Linha de Produto:
Para atualizar múltiplos tenants para a versão vigente:
Uma software-house que oferece BI embarcado pode:
IMPORTANT