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 e Controller.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 e DataSet.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 um DataSet 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étodo applyUpdates.
  • 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 e Database.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étodo Connection.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 classe Database, 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 e directoryExists da classe VirtualFileSystem 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.