v3.4.0
🚀 Archbase Framework v3.4.0
archbase 3.4.0 — a tela de permissões passa a ser legível
Três camadas de mudança, todas aditivas. Sem declarar nada de novo no código, o
comportamento é idêntico ao 3.3.2.
CLASSIFICAÇÃO E IDENTIFICADOR. Recurso de tela e recurso de endpoint apareciam
lado a lado, indistinguíveis — não por escolha da interface, mas porque o campo
type existia no banco e nenhum DTO o enviava. Agora vai, junto com o nome
estável do recurso e da ação. A tela mostrava só description, que é texto humano
e é gerado em massa pelo frontend: centenas de linhas "Criar X", "Editar X".
RÓTULO SEPARADO DA DESCRIÇÃO. DESCRICAO identificava, explicava e — via ->
embutido — agrupava. Agora são três colunas: ROTULO (nova), DESCRICAO e CATEGORIA
(mapeada desde sempre, nunca criada pela migration, e corrigida aqui). Rótulo nulo
significa "use a descrição": sem reescrita em massa, a tela mostra o que sempre
mostrou até alguém declarar um. Para ressemear um catálogo existente a partir do
código há archbase.security.sync.mode=refresh — uma vez, de propósito, e que
nunca toca no minimumLevel.
DEPENDÊNCIAS ENTRE CAPACIDADES. Conceder aprovar_custo sem view produz alguém
que passa na autorização do endpoint e não chega até ele pela interface, sem nada
aparecer errado em lugar nenhum. @HasPermission(requires = ...) e o registro de
tela passam a declarar essas arestas. São INFORMATIVAS: o avaliador não as lê, e
não há flag que o faça — exigi-las na decisão faria toda instalação existente
perder acesso na primeira subida.
DIAGNÓSTICO LEGÍVEL. A negação do portão GRANT listava UUIDs das origens
consultadas; agora lista nomes. A árvore mostrava o identificador técnico onde
deveria mostrar a descrição, e o seletor de pessoa não distinguia homônimos.
MIGRAÇÃO. seguranca_acao_dependencia, seguranca_acao.rotulo e
seguranca_acao.categoria entram no R__archbase_security_schema.sql além do
inicializador de schema — o inicializador roda depois da validação do Hibernate e
não chega a tempo para quem usa ddl-auto=validate. Quem não usa Flyway precisa
criar pelo próprio versionamento.
409 testes, 0 falhas, 0 pulados — inclusive os de compatibilidade com PostgreSQL e
MySQL.
Instalação
<dependency>
<groupId>br.com.archbase</groupId>
<artifactId>archbase-starter</artifactId>
<version>3.4.0</version>
</dependency>Documentação
Full Changelog: v3.3.2...v3.4.0