Files
jogos_matheus/README.md
T
2026-09-23 12:29:08 -03:00

11 KiB

Repositório de Conteúdo Vitruvio

Um repositório de conteúdo Vitruvio é um repositório Git que declara artefatos de UI (painéis, processos, scripts, relatórios, etc.) através de um único arquivo de manifesto: vitruvio.json.

Arquivos obrigatórios

Arquivo Obrigatório Descrição
vitruvio.json Sim Manifesto que declara todos os artefatos

Todo o restante (formulários, scripts, BPMNs, etc.) é referenciado via caminhos relativos dentro do manifesto e pode ser organizado livremente.


vitruvio.json

Localizado na raiz do repositório. O sistema falhará ao importar o repositório se este arquivo estiver ausente ou inválido.

Campos raiz

Campo Tipo Obrigatório Descrição
version string Sim Versão semântica deste manifesto, ex.: "1.0.0"
metadata object Sim Identidade do módulo (ver abaixo)
panels array Não Painéis de UI
processes array Não Processos BPMN
scripts array Não Scripts compartilhados
endpoints array Não Endpoints REST
queries array Não Queries SQL nomeadas
reports array Não Relatórios (estáticos ou dinâmicos)
libraries array Não Bibliotecas de arquivos estáticos
groups array Não Grupos de usuários para controle de acesso
properties array Não Propriedades configuráveis do módulo
menu array Não Árvore de navegação do menu
permissions array Não Permissões de grupo por processo
patches string Não Caminho para o diretório de changesets do Liquibase, ex.: "patches/"

metadata

{
  "name": "My Module",
  "key": "my-module",
  "standardProduct": false
}
Campo Obrigatório Descrição
key Sim Identificador único do módulo. Deve ser único em toda a plataforma.
name Não Nome de exibição legível
standardProduct Não Marca como produto padrão da plataforma (padrão: false)

Referência de artefatos

panels

Cada entrada de painel corresponde a uma tela de UI.

Campo Tipo Descrição
key string Identificador único do painel
name string Nome de exibição
description string Descrição curta
category string Caminho de categoria hierárquica, ex.: "Comercial/Vendas"
displayOrder int Ordem de exibição dentro da categoria
showInPresentation boolean Exibir no modo apresentação/kiosk
openInNewWindow boolean Abrir em uma nova janela do navegador
showInMobileList boolean Exibir na lista mobile
displayTimeInSeconds int Tempo de rotação automática (0 = desativado)
allowedGroups string[] Chaves dos grupos com permissão de visualizar este painel
allowedUsers string[] Logins dos usuários com permissão de visualizar este painel
forms.desktop string Caminho relativo para o XML do formulário desktop
forms.mobile string Caminho relativo para o XML do formulário mobile
forms.mobileAlternative string Caminho relativo para o XML do formulário mobile alternativo
defaultState string Caminho relativo para um arquivo JSON com o estado padrão do painel
thumbnail string Caminho relativo para uma imagem de miniatura

processes

Fluxos de trabalho baseados em BPMN.

Campo Tipo Descrição
key string Identificador único do processo
name string Nome de exibição
description string Descrição curta
bpmn string Caminho relativo para o arquivo XML do BPMN
forms.desktop string Caminho relativo para o XML do formulário desktop
forms.mobile string Caminho relativo para o XML do formulário mobile
forms.mobileAlternative string Caminho relativo para o XML do formulário mobile alternativo
schedules array Agendamentos de disparo automático (ver abaixo)

Tipos de gatilho para agendamento:

{ "type": "cron", "expression": "0 0 0 * * ?" }
{ "type": "simple", "intervalMs": 60000, "repeatCount": -1 }

repeatCount: -1 significa repetir indefinidamente.


scripts

Scripts server-side reutilizáveis.

Campo Tipo Descrição
key string Identificador único do script
name string Nome de exibição
description string Descrição curta
language string Linguagem do script, ex.: "javascript"
domain string Classificação: "NEGOCIO" ou "SISTEMA"
source string Caminho relativo para o arquivo do script
documentation string Caminho relativo para o arquivo de documentação opcional

endpoints

Endpoints HTTP expostos.

Campo Tipo Descrição
key string Identificador único do endpoint
name string Nome de exibição
description string Descrição curta
language string Linguagem do script, ex.: "javascript"
authMode string "PUBLIC", "MOBILE" ou "STATIC_TOKEN"
active boolean Se o endpoint está ativo
source string Caminho relativo para o arquivo do script do endpoint

queries

Queries SQL nomeadas que podem ser referenciadas por relatórios.

Campo Tipo Descrição
key string Identificador único da query
name string Nome de exibição
connection string Chave da conexão com o banco de dados
source string Caminho relativo para o arquivo .sql

reports

Campo Tipo Descrição
key string Identificador único do relatório
name string Nome de exibição
description string Descrição curta
type string "MODELO_ESTATICO" ou "DINAMICO_QUERY_SQL"
category string Caminho de categoria hierárquica
owner string Chave do grupo proprietário do relatório
template string Caminho relativo para o template .jrxml
parameterForm string Caminho relativo para o XML do formulário de parâmetros
query string Referencia uma QueryManifestEntry.key
orientation string "RETRATO" ou "PAISAGEM"
allowedGroups string[] Chaves dos grupos com permissão de executar este relatório
allowedUsers string[] Logins dos usuários com permissão de executar este relatório
columns array Definições de colunas (label, alinhamento, largura, agregação)

Valores de agregação de coluna: "SUM", "COUNT", "AVG" ou null.


libraries

Pacotes de arquivos estáticos servidos para o front-end.

Campo Tipo Descrição
key string Identificador único da biblioteca
name string Nome de exibição
type string "LOCAL"
authMode string "PUBLIC", "MOBILE" ou "STATIC_TOKEN"
authToken string Obrigatório quando authMode for "STATIC_TOKEN"
mobileEnabled boolean Se a biblioteca é servida para clientes mobile
files string Caminho relativo para o diretório contendo os arquivos da biblioteca

groups

Grupos de usuários utilizados para controle de acesso em painéis, relatórios e permissões.

Campo Tipo Descrição
key string Identificador único do grupo
name string Nome de exibição
description string Descrição curta
tag string Tag opcional para filtragem

properties

Propriedades configuráveis no nível do módulo, editáveis em tempo de execução.

Campo Tipo Descrição
key string Chave da propriedade utilizada no código
displayName string Label legível
description string Descrição curta
type string "STRING", "INTEGER", "BOOLEAN", "DATE", etc.
size int Tamanho máximo em caracteres (para STRING)
precision int Precisão decimal (para tipos numéricos)
format string Máscara de formato opcional
required boolean Se um valor deve obrigatoriamente ser definido
password boolean Se o valor deve ser mascarado na UI
predefinedValues array Valores permitidos: { "key": "...", "descricao": "...", "ordem": 1 }

menu

Árvore de navegação hierárquica. Itens podem ser aninhados usando children.

Campo Tipo Descrição
key string Identificador único do item de menu
name string Label de exibição
icon int Código do ícone (definido pela plataforma)
order int Ordem de exibição entre os irmãos
type string "PANEL", "REPORT", "PROCESS" ou "GROUP"
panelKey string Referencia uma PanelManifestEntry.key (quando type for "PANEL")
reportKey string Referencia uma ReportManifestEntry.key (quando type for "REPORT")
processKey string Referencia uma ProcessManifestEntry.key (quando type for "PROCESS")
children array Itens de menu aninhados (para o tipo "GROUP")

permissions

Define o que um grupo pode fazer dentro de um processo.

Campo Tipo Descrição
processKey string Referencia uma ProcessManifestEntry.key
group string Referencia uma GroupManifestEntry.key
read boolean Pode visualizar instâncias do processo
writeStages boolean Pode avançar/concluir etapas
cancel boolean Pode cancelar instâncias
delete boolean Pode excluir instâncias
stageStatus boolean Pode alterar o status de etapas

Estrutura de diretórios sugerida

repo-root/
├── vitruvio.json
├── panels/
│   └── my-panel/
│       ├── my-panel-desktop.xml
│       ├── my-panel-mobile.xml
│       ├── default-state.json
│       └── thumbnail.png
├── processes/
│   └── my-process/
│       ├── my-process.bpmn
│       ├── my-process-desktop.xml
│       └── my-process-mobile.xml
├── scripts/
│   └── my-script.js
├── endpoints/
│   └── my-endpoint.js
├── queries/
│   └── my-query.sql
├── reports/
│   └── my-report/
│       ├── template.jrxml
│       └── params.xml
├── libraries/
│   └── my-library/
└── patches/
    └── changelog.xml

Todos os caminhos no vitruvio.json devem ser relativos à raiz do repositório.