Versão 25
Melhorias
Admin
- Os relatórios “Registros de login de usuário” e “Usuários habilitados” passam a permitir
filtrar as informações apresentadas pela classe dos usuários. Os relatórios estão disponíveis
em
Admin > Segurança > Grupos, papés e usuários
.
Engine
- O método
PermissionManager.prototype.fixInheritance
passa a eliminar as eventuais permissões duplicadas que possam ter sido introduzidas por
movimentações de diretórios e arquivos que não tenham sido realizadas pela classe
VirtualFileSystem
.
Esse método também passa a reaproveitar as chaves dessas eventuais duplicações sempre que for
possível.
Web Framework
- Foi criado o evento
afterCreateProcess
na classe
ProcessManager
com o objetivo de permitir customizações aplicadas em todos os processos do sistema.
- Foi criado o método
Process.prototype.hasButton
com o objetivo de identificar se um botão existe em um processo.
Defeitos corrigidos
Admin
- O botão “Replicar nas classes filhas” do processo
Admin > Segurança > Permissões > Permissões
criava permissões duplicadas caso houvesse uma permissão em uma classe filha da replicada com
o modo de aplicação “Classe e filhas” configurado.
- Ao alterar a classe de um usuário no processo
Admin > Segurança > Grupos, papéis e usuário > Usuários
ocorria o erro
“syntax error at or near ‘and’”.
Desenvolvimento
- Em situações bem específicas, a atualização do sistema poderia não sincronizar registros da tabela
Virtual File System.
- O processo
Desenvolvimento > Atualização > Atualizar Sistema
era interrompido com o erro
“Chave NNNNN não localizada no cache local” se houvesse uma permissão com herança para um
grupo, papel ou usuário não existente na base destino. Agora o processo de atualização passa
a ignorar essa inconsistência, pois ela pode estar sendo corrigida pelo próprio processo
de atualização.
- Os processos
Sincronizar Permissões de Papéis
e Atualizar Sistema
não removiam
as permissões órfãs da base destino geradas pela exclusão manual de classes e arquivos sem
a utilização da classe
VirtualFileSystem
.
- Os processos
Atualizar Sistema
e Remover produtos não licenciados
não atualizavam as
informações das bases origem e destino selecionadas pelo usuário, mesmo que ele retornasse para
a tela inicial e selecionasse uma outra base de dados, exigindo que ele recarregasse o processo
para que as informações corretas fossem exibidas.
- Os processos
Atualizar Sistema
e Atualizar Engine
poderiam criar registros na iLog
com o campo iReferrer
vazio, dificultando a rastreabilidade das alterações.
- O processo
Desenvolvimento > Produtos > Mover chaves entres produtos
não deixava claro
para quais produtos a senha mestre solicitada na tela inicial era aplicada. Agora ele
passa a solicitar a senha apenas quando é necessário reativar o desenvolvimento dos
produtos na base de dados corrente.
Engine
- O método
Security.prototype.getPermission
passou a gerar o erro “Invalid key argument” caso fosse informada uma chave de classe inválida. Foi
restaurado o comportamento anterior de tratar a classe inválida como null
a fim
de garantir a compatibilidade com códigos legados que fazem uso dessa API com valores potencialmente
inválidos, como os obtidos a partir de uma importação de dados.
- Os métodos
VirtualFileSystem.prototype.moveFile
e
VirtualFileSystem.prototype.moveDirectory
não verificavam se os arquivos e diretórios movidos relacionados a um produto (chave negativa)
poderiam depender do produto associado ao diretório destino.
- A IDE do Engine poderia criar permissões duplicadas se um arquivo fosse modificado logo após
a sua criação.
- Quando o módulo indicado pela propriedade
controller
de uma rota HTTP não exportava uma
função, era gerado o erro “value is not a Function object” sem nenhuma informação adicional
que permitisse o desenvolvedor compreender o motivo do erro. Agora o Engine passa a indicar
o motivo do erro e o caminho do módulo controlador que retornou o valor inválido.
- O roteador HTTP não detectava alterações nos códigos-fontes dos controladores HTTP,
exigindo que o servidor fosse reiniciado ou que as sessões JavaScript fossem descartadas para
que as alterações fossem consideradas.
- Ocorria uma falha na carga da DLL do V8 em versões desatualizadas do Windows.
- Quando ocorria um erro de estouro de memória no Heap do JavaScript, esse erro ocasionalmente
gerava um erro de Access Violation no Engine.
Web Framework
- A abertura do processo inicial do Web Framework falhava caso a senha do usuário estivesse
expirada.
- Os totais gerais de relatórios
SimpleLayout
com grupos colapsáveis, recurso habilitado pela
propriedade
SimpleLayout.prototype.groupExpansionLevel
,
poderiam não ser exibidos.
- O campo chave da ajuda do processo estava sendo apresentado vazio.
- Arquivos do tipo “application/x-layoutLink” haviam deixado de suportar comentários em seu
conteúdo.
- Em determinadas situações era registrado no console do navegador o erro
“Uncaught TypeError: saved.shift is not a function”, sem maiores implicações para o usuário final.
- O botão “Localizar” da grade não estava fechando a pesquisa quando esta estava aberta e era
realizado um novo acionamento do botão.
- Ao acionar a tecla “Esc” em uma grade era registrado no console do navegador o erro “Uncaught
TypeError: Cannot read property ‘inputNodeId’ of null”, sem maiores implicações para o usuário final.
- Ao alternar o modo de visão da grade para formulário e navegar pelos registros, em certas situações,
ao retornar para o modo tabela, dois registros apresentavam-se selecionados.
- Ao clicar em um botão de um processo poderia ocorrer o erro “Id x not found at
DomMap.getObject(). Caller: Unknown.” caso uma mesma instância
Label
fosse escrita em mais
de uma interação.
- Os botões do Web Framework não funcionavam corretamente no navegador Microsoft Edge 14 ou
inferior.
Última atualização em 15 Jul 2019