gov.br Ministério da Cultura Documentação técnica · uso interno
TM-12 · C-config-politica
Módulo 05 · TM-12

Formulários

Builder de templates de formulários, configurável inteiramente por UI, sem desenvolvimento. Define a estrutura (seções, campos, tags semânticas) que alimenta chamamentos, PAR e consultas públicas.

Definido A confirmar Em definição / pode divergir do código
A

Função

Builder de templates de formulários gerenciado 100% por UI RB-FORM-01. O template define a estrutura; os módulos consumidores (chamamentos/editais via tabela Atividade→Formulário, PAR, consultas) instanciam o formulário para preenchimento pelos entes.

Tags semânticas são desacopladas do texto da questão e alimentam o motor de regras do sistema RB-FORM-02. Isso permite que o motor interprete respostas independentemente de como a pergunta foi redigida, tornando os templates reutilizáveis e auditáveis sem amarrar lógica ao enunciado.

B

Usuários & níveis de acesso

PerfilAções no módulo
Sysadmin L0 CRUD completo; único que publica um template (gate crítico RF-FORM-21). Exclusão de template exige dois L0 simultâneos — revisão de pares RB-FORM-05.
Gerência Estratégica (L1) Cria e edita templates em rascunho; submete para avaliação; não possui permissão de publicação.
Analistas operacionais (L2/L3 · NV1/NV2) Sem acesso ao módulo de Formulários (G22), nem leitura (inclusive log de auditoria).
Ente Federado Preenche formulários instanciados. Fora do escopo deste módulo — ver módulos Chamamentos e PAR.
C

Estrutura de um formulário

Um template é composto por: módulo destino (obrigatório RB-FORM-12) + 1..N Seções reordenáveis RF-FORM-06 + 1..N Questões por seção.

Tipos de campo

Lista Simples Lista Complementada Texto Curto Texto Longo Número e Monetário Data Data Início–Fim Sim/Não Checkbox Campo Anexo Arquivo Fixo Tags Semânticas

Validações por questão RF-FORM-17

ValidaçãoDescrição
ObrigatoriedadeCampo marcado como obrigatório bloqueia o envio do formulário enquanto vazio.
Texto de ajudaDica contextual exibida ao lado do campo para orientar o preenchimento.
Lógica condicionalExibe ou oculta uma questão com base na resposta de outra dentro do mesmo template.
Limite de caracteres / valorDefine teto máximo para campos de texto e campos numéricos/monetários.

Fontes de dados dinâmicas

Listas reutilizáveis entre templates RF-FORM-23RF-FORM-27. Suportam carregamento condicional RB-FORM-10: o conteúdo da lista muda de acordo com o valor de outro campo (ex.: municípios filtrados pelo estado selecionado).

Regras gerais de questão

  • Imutabilidade pós-publicação: alternativas que já foram usadas em resposta submetida por ente não podem ser excluídas RB-FORM-06.
  • Versionamento: qualquer alteração estrutural em template publicado gera nova versão; a anterior fica congelada RB-FORM-07.
  • Controle pós-publicação: rollback para versão anterior disponível via RF-FORM-31.
D

Ciclo de vida · máquina de estados

Em Edição rascunho · estado inicial submeter
RF-FORM-20
Submetido aguarda aprovação L0 aprovar — L0
RF-FORM-21
Publicado ativo · instanciável
rejeitar c/ justificativa
RF-FORM-22
Rejeitado status persistente · filtrável · com histórico
gestor reabre p/ corrigir
HU-974
↩ Em Edição resubmissão após rejeição
Publicado alteração estrutural nova versão Em Edição v+1 em rascunho submeter → aprovar Publicado v+1 ativa
Todo template nasce em "Em Edição" RB-FORM-03; não entra no ar sem o workflow de submissão + aprovação L0. Alteração estrutural em template publicado gera nova versão e emite alerta automático aos entes com preenchimentos em curso RB-FORM-07 / RB-FORM-11. Rollback para versão anterior disponível via RF-FORM-31. Exclusão exige dois Sysadmins L0 RB-FORM-05.
E

Regras de negócio estruturantes

IDRegra
RB-FORM-01Templates configuráveis 100% por UI, sem desenvolvimento de código.
RB-FORM-03Todo template nasce em "Em Edição"; publicação exige submissão + aprovação por Sysadmin L0.
RB-FORM-04Gate crítico — somente Sysadmin L0 pode publicar um template.
RB-FORM-05Exclusão de template exige revisão de pares: dois Sysadmins L0 devem confirmar a operação.
RB-FORM-06Alternativas que já foram usadas em resposta submetida por ente não podem ser excluídas.
RB-FORM-07Alteração de questão em template publicado gera nova versão; a versão anterior fica congelada.
RB-FORM-08Log WORM de todas as alterações — imutável e rastreável para auditoria.
RB-FORM-11Alteração estrutural em template publicado emite alerta automático aos entes com preenchimento em curso.
RB-FORM-12Módulo destino é obrigatório no template; alimenta a tabela Atividade→Formulário nos módulos consumidores.
RB-FORM-14Relação 1:1 entre tag semântica e questão; mudança de tag ocorre por depreciação, nunca por sobrescrita direta.

Nota de stack: campos usam Zod para validação + acessibilidade básica (aria-label/aria-describedby) — docs/guias/forms.md; RHF+Zod é convenção de stack do projeto.

Documentação canônica & aprofundamento

docs/temas/C-config-politica/12-formularios/ — README, rb.md (RB-FORM-01…14), rf.md (RF-FORM-01…31) docs/temas/C-config-politica/12-formularios/epicos/ — EP-FORM-001 templates · 002 editor · 003 publicação · 004 fontes-dados · 005 auditoria docs/guias/forms.md — Zod para validação + acessibilidade básica (aria-label/aria-describedby); RHF+Zod é convenção de stack do projeto
Abrir Tema 3.2 · Formulários (Gestão) no Drive →