Versão 45
Novidades
Nova tela de login padrão
A tela de login padrão do Web Framework foi atualizada para utilizar um design mais leve, moderno e responsivo baseado nos conceitos do Material Design.
O sistema também passa a trafegar a senha do usuário de forma mais segura, mesmo quando utilizada uma conexão HTTP. Essa melhoria não substitui o uso do protocolo HTTPS, que continua sendo a forma segura e recomendada de trafegar dados sensíveis na web. Essa alteração também se aplica às telas de bloqueio de usuário, de mudança de senha e no diálogo de autenticação do usuário.
Os usuários com e-mail configurado no sistema agora contam com a possibilidade de redefinir a sua senha diretamente na tela de login, sem a necessidade de intervenção do administrador do sistema. Mais detalhes sobre essa funcionalidade no manual Política de autenticação.
No futuro, serão disponibilizadas opções de customização das cores da tela de login, das imagens de fundo e de definição da política de privacidade do sistema. Para utilizar estas e as futuras melhorias da tela de login, deverão ser desativadas as telas customizadas existentes. Essa desativação não será automática e deverá ser realizada pelo administrador do sistema.
Replicação de dados
O sistema passa a permitir a replicação dos dados do ambiente de produção para as bases de desenvolvimento, homologação e manutenção, possibilitando que essas bases tenham dados mais recentes, sem a necessidade de recriá-las a partir da produção.
Com a replicação de dados, a equipe de suporte passa a ter acesso aos dados da base de produção no ambiente de homologação com um dia de atraso, permitindo simular os processos e relatórios de forma mais fidedigna, sem a necessidade de ter acesso à base de produção.
Importante: a replicação de dados somente pode ser utilizada em bases de dados que tenham sido migradas para as chaves de 64 bits.
Mais detalhes no manual Replicação de dados.
Melhorias
Engine
- Foram criados os métodos
Controller.prototype.temporaryRedirect
eController.prototype.permanentRedirect
que permitem criar respostas HTTP com os status TEMPORARY_REDIRECT (307) e PERMANENT_REDIRECT (308), respectivamente, indicando que o recurso requisitado foi movido (de forma temporária ou permanente) para uma outra URL. - Os métodos
DataSet.prototype.applyLog
eDataSet.prototype.undoLog
passam a permitir informar a versão inicial e final dos logs transacionais a serem aplicados ou desfeitos, possibilitando assim o processamento parcial de umDataSet
contendo um conjunto maior de logs transacionais. - Foi criado o método
Database.prototype.incVersion
com o objetivo de incrementar a versão da base de dados sem que uma alteração tenha sido realizada de fato por meio do métodoapplyUpdates
. - O método
Database.prototype.insertLog
passa a permitir indicar a versão do log inserido. - O método
VirtualFileSystem.prototype.createFile
passa a permitir indicar a chave do arquivo que será criado. - Foram criadas as propriedades
Connection.prototype.protocol
eDatabase.prototype.protocol
com o objetivo de identificar o protocolo utilizado na comunicação com o servidor. - Foi criado o método
Database.prototype.sendEmail
com o objetivo de enviar emails utilizando o servidor Engine associado a uma conexão. O antigo métodoConnection.prototype.sendEmail
continua a ser suportado e passa a utilizar a nova implementação. Por ter um custo adicional em relação à implementação da classeDatabase
, o seu uso deixa de ser recomendado. - Foi criado o método
Database.prototype.discardCaches
com o objetivo de forçar o descarte dos caches locais de dados e chaves dos Engines. O uso deste método requer o escopo de autorização “database.discardCaches”, que passa a ser atribuído por padrão ao grupo “Administradores”. - Foi criado o método
Database.prototype.userHasScope
com o objetivo de testar em uma conexão remota se um usuário tem permissão a um determinado escopo de autorização.
Extensão VS Code
- A extensão do VS Code passa a contar com a funcionalidade de exportação de dados de um DataSet na tela de resultados da execução de script/query.
- Foi disponibilizado o recurso de efetivar alterações pendentes de um resultado do tipo DataSet na tela de resultados da execução de script/query.
- Scratchpads passam a ter um backup local, e a extensão passa a oferecer a opção de restaurar os scratchpads do usuário a partir desse backup caso eles tenham sido perdidos em uma recriação de base.
- Foi disponibilizado o recurso de filtrar registros de um resultado do tipo DataSet na tela de resultados da execução de script/query.
Defeitos corrigidos
Engine
- Ao exibir arquivos com a extensão “.docx” na IDE do Engine ocorria o erro “value too long for the field”.
- Os métodos
fileExists
edirectoryExists
da classeVirtualFileSystem
poderiam gerar um erro caso fosse informado um caminho inválido. - Ao criar uma chave ocorria o erro “Database keys are exhausted” caso o usuário configurado na conexão ao banco de dados Oracle não fosse o proprietário da tabela “ULTCHAVE”.
- Durante a finalização do Engine poderia ocorrer o erro “External exception”.
Extensão VS Code
- Ao utilizar a funcionalidade de substituição de arquivos do VS Code na VFS, ocorria um erro que impedia a criação do novo arquivo, mas o arquivo antigo ainda era removido.
Web Framework
- O sistema poderia exibir indevidamente mensagens de progresso enquanto um diálogo de formulário estava sendo exibido.
- Durante o login do sistema, as sessões JavaScript auxiliares para o processo de login não eram imediatamente expiradas, alocando recursos desnecessários no Engine por 15 minutos.
Desenvolvimento
- Ao fechar um processo de exemplo disponível no menu “Desenvolvimento > Exemplos” ocorria um erro caso o usuário exibisse o código fonte.
Engine
- Atribuir um valor não numérico à propriedade
size
de um campo do modelo de dados ou da grade passa a gerar um erro. O objetivo dessa alteração é antecipar o erro na definição do campo, que antes se manifestava apenas de forma indireta ou na atualização da estrutura da base de dados.
Web Framework
- A tela de login Mobile foi descontinuada e não deve ser mais utilizada. Em versões futuras, ela será removida do sistema.