Saltar para o conteúdo principal

Testes e depuração de templates

Este guia ajuda-o a verificar se um template está a ser descoberto corretamente pelo 7CG e por que motivo os campos podem não aparecer como espera.

Foi escrito para autores de templates que já têm um HTML com um bloco GDD embutido.

Comece pelo básico

Antes de procurar problemas mais profundos, confirme primeiro:

  1. O HTML do template contém um bloco graphics-data-definition válido.
  2. O esquema raiz usa "type": "object".
  3. O JSON é válido e não tem vírgulas a mais.
  4. Cada campo em properties tem um type utilizável.
  5. O template foi atualizado no 7CG após as alterações.

Se algum destes pontos estiver errado, o resto do comportamento do editor será pouco fiável.

Verifique se o template aparece no 7CG

Se o template não aparece de todo no 7CG, verifique:

  • O template está numa localização varrida pela sua configuração de CasparCG/templates
  • O 7CG atualizou a sua lista de templates
  • O template pertence à família correta para o módulo que está a testar

Exemplos:

  • LOWERTHIRDS/... para o fluxo de Oráculos
  • CREDITS/... para o fluxo de Ficha Técnica
  • BIBLE/... para templates de Bíblia
  • HYMNS/... para templates de Letras
  • QRCODE/... para fluxos de QR Code

Se o prefixo está errado, o template pode existir em disco mas nunca aparecer no seletor esperado.

Quando os campos não aparecem

Se o template aparece mas não há campos no editor:

  • Confirme que properties existe na raiz
  • Confirme que o type da raiz é "object"
  • Confirme que as definições dos campos são objetos JSON válidos
  • Garanta que os campos não estão acidentalmente a null

Verifique também se criou apenas estruturas aninhadas sem uma propriedade de topo válida. O 7CG precisa de propriedades reais na raiz antes de conseguir construir o editor.

Quando as etiquetas parecem erradas

Se o editor mostra chaves técnicas em vez de etiquetas amigáveis:

  • Adicione um label
  • Ou pelo menos adicione uma description

O 7CG faz fallback nesta ordem:

  1. label traduzido
  2. label simples
  3. description traduzida
  4. description simples
  5. chave do campo

Se saltar label e description, os utilizadores verão nomes técnicos como f0, headingText ou speaker_name.

Quando os separadores não aparecem

Se esperava separadores agrupados mas só vê uma lista plana:

  • Verifique se gddOptions.groups existe na raiz
  • Verifique se cada campo agrupado tem gddOptions.group
  • Verifique se o ID do grupo do campo corresponde a um ID de grupo real na raiz

Os separadores só aparecem quando o 7CG encontra ambos:

  • grupos definidos
  • campos que efetivamente pertencem a esses grupos

Os campos sem grupo são colocados num separador Outros quando os separadores agrupados estão ativos.

Quando as cores não se comportam corretamente

Verifique o formato com cuidado:

  • color-rrggbb espera #RRGGBB
  • color-rrggbbaa espera #RRGGBBAA

Erros comuns:

  • esquecer o # inicial
  • usar 6 dígitos num campo com alfa
  • usar 8 dígitos num campo RGB simples

Se o controlo de cor parece estranho, teste com um valor muito óbvio como:

  • #FF0000
  • #00FF00
  • #0000FFFF

Quando as listas pendentes não funcionam

Para campos select, precisa de ambos:

  • gddType: "select"
  • um array enum

Exemplo:

"alignment": {
"type": "string",
"label": "Alignment",
"gddType": "select",
"enum": ["left", "center", "right"]
}

Se enum falta, o 7CG não renderiza o campo como a lista pendente esperada.

Se os valores parecem demasiado técnicos, adicione etiquetas amigáveis em gddOptions.labels.

Quando arrays ou objetos parecem partidos

Os campos estruturados são mais poderosos, mas também mais fáceis de configurar mal.

Para objetos

Verifique:

  • type: "object"
  • properties existe

Se faltar properties, o editor de objeto não tem nada para renderizar.

Para arrays

Verifique:

  • type: "array"
  • items existe

Se faltar items, o 7CG não tem esquema para cada entrada da lista.

Para arrays de objetos, lembre-se que cada item abre numa janela própria. Se a janela está vazia, o problema está geralmente em items.properties.

Quando os seletores de ficheiro não correspondem ao esperado

Se quer um botão Procurar:

  • use gddType: "file-path" para ficheiros genéricos
  • use gddType: "file-path/image-path" para imagens

Se o seletor permite demasiados tipos de ficheiro, adicione:

"gddOptions": {
"extensions": ["png", "jpg", "jpeg", "webp"]
}

Sem filtros de extensão, o seletor é mais genérico.

Quando as traduções não aparecem

Se gddOptions.i18n parece ignorado:

  • confirme que as chaves de tradução estão sob o campo correto
  • confirme que o código de idioma corresponde ao idioma atual da UI do 7CG
  • lembre-se de que o 7CG recorre ao inglês e depois ao valor predefinido

Bons sítios para usar i18n:

  • title do template
  • label do campo
  • description do campo

Rotina de teste prática

Ao construir um novo template, use esta sequência:

  1. Comece com um único campo string simples e confirme que o template aparece.
  2. Adicione mais um tipo de campo de cada vez.
  3. Teste o agrupamento só depois de os campos base funcionarem.
  4. Teste arrays e objetos só depois de etiquetas e campos básicos estarem estáveis.
  5. Teste i18n depois de a versão sem tradução funcionar.

Torna muito mais fácil ver qual a alteração que introduziu o problema.

Bons testes rápidos

Use isto como checklist final:

  • O template aparece no seletor correto
  • O título é legível
  • Todos os campos têm uma etiqueta amigável
  • Os campos multi-linha preservam quebras de linha
  • As cores aceitam o formato esperado
  • Os campos select mostram as opções esperadas
  • Adicionar/editar/remover em arrays funciona
  • As secções de objeto mostram todos os campos filho esperados
  • Os separadores aparecem na ordem esperada

Páginas relacionadas

Passos seguintes