Versão 30

Novidades

Integração com Visual Studio Code (experimental)

Foi disponibilizada no VS Code a extensão Engine DevTools como uma alternativa à IDE do Engine para os desenvolvedores da plataforma.

Esta extensão tem o objetivo de substituir a IDE do Engine no futuro, no entanto, nesta primeira versão, ela é restrita apenas à edição de arquivos da Virtual File System. As demais funcionalidades da IDE do Engine, como a execução de scripts, consultas no banco de dados e depuração de códigos, deverão ser disponibilizadas em versões futuras dessa extensão.

Importante: por ainda ser uma funcionalidade experimental, a extensão não deve ser utilizada em ambientes de produção.

Mais detalhes em https://nginstack.com/pt/docs/vscode/overview/.

Engine DevTools Prévia

Integração com a biblioteca de gráficos ECharts

O Web Framework passa a permitir a construção de gráficos utilizando a biblioteca de código aberto ECharts. Gráficos podem ser criados em processos e relatórios por meio da classe ECharts ou em consultas automatizadas utilizando o tipo de visualização 'echarts'.

O uso da biblioteca ECharts passa a ser recomendado em relação às demais bibliotecas de gráficos disponíveis no sistema, pois ela não requer a aquisição de licenças de uso. Mais detalhes em https://nginstack.com/pt/docs/web-framework/echarts.

Melhorias

Engine

  • A configuração de diretórios da UFS no Manage e via parâmetro de linha de comando --ufsDirectory passam a aceitar o caractere curinga “*”, simplificando a configuração de monorepos. Exemplo:
    <UnionFS>
      Directory c:\workspace\my-repository\packages\*
    </UnionFS>
    

REST Framework

Web Framework

  • Foi criado o evento beforeExit na classe Process, permitindo que regras de negócio sejam validadas no fechamento de um processo. Exemplo de uso:
    process.on('beforeExit', function (evt) {
        const process = evt.process;
        const grid = process.grid('pending');
        if (!grid.ds.isEmpty){
            if (!process.confirm('Ainda há operações a serem analisadas. Deseja realmente sair?') {
                evt.preventDefault();
            }
        }
    });
    
  • A imagem de fundo da tela de login padrão passa a poder ser customizada por parceiros via CSS. A classe CSS desse elemento também passa a indicar o mês corrente, permitindo imagens temáticas por época do ano.
  • Foram disponibilizados os manuais de criação de fontes de dados, visualizações e uso do IQuery em https://nginstack.com/pt/docs/datasources/overview/.

Defeitos corrigidos

Admin

  • Ao atribuir um escopo de autorização a um usuário recém criado poderia ocorrer o erro “Não foi possível localizar o usuário xxxxx”.
  • Ao executar o processo Admin > Cache local > Descartar os caches de dados e de chaves ocorria o erro “include is not a function”.
  • O relatório Admin > Segurança > Grupos, Papéis e Usuários > Usuários habilitados apresentava uma quebra de agrupamento caso fosse utilizada mais de uma classe de usuários.

Desenvolvimento

  • O processo Atualizar sistema poderia deixar a base em um estado não íntegro que impedia novas atualizações caso ele fosse interrompido abruptamente na sua etapa inicial.

Engine

Web Framework

  • Ao executar o método SimpleLayout.prototype.end em um relatório sem colunas ocorria o erro “Não é permitido abrir um TiCustomDataset sem as definições dos campos”.
  • Na versão 24, a propriedade Process.prototype.key passou a ser uma instância de DBKey em vez um number primitivo. Essa alteração foi revertida, pois ela foi acidental e altera o comportamento de processos que testam o valor dessa propriedade de forma estrita.
  • Não era possível criar links em visualizações de fontes de dados que utilizassem colunas como parâmetros, caso essas colunas tivessem um alias informado.
  • Visualizações de fontes de dados abertas por links criados pelo método Process.prototype.dsvLink poderiam ignorar as variáveis informadas pelo usuário caso os links fossem criados sem parâmetros adicionais.

Outras alterações

Engine

  • O escopo de autorização “api.classes” passa a ser atribuído por padrão aos usuários do grupo “Developers”, permitindo assim que eles possam utilizar a API HTTP Classes.
  • As APIs IQuery e DataSource foram movidas do pacote “@nginstack/engine” para os novos pacotes “@nginstack/iquery” e “@nginstack/datasource”. A documentação disponível em https://api.nginstack.com passa a indicar os novos caminhos dos módulos dessas APIs. Os caminhos para os módulos no pacote “@nginstack/engine” utilizados antes dessa alteração continuarão a ser aceitos para fins de compatibilidade.

Web Framework

  • A página de login padrão do sistema passa a inibir o usuário de iniciar múltiplos logins pressionando diversas vezes a tecla Enter ou o botão “Ok”. Essa alteração não se aplica às páginas de logins customizadas por parceiros ou clientes, as quais precisam ser revistas para implementar funcionalidade equivalente.