Versão 77
Novidades
Formatação de campos numéricos na grade
Campos numéricos (integer
, int64
, int32
e number
) agora suportam formatação de exibição
personalizada através da propriedade
displayFormat
.
O comportamento da formatação é similar aos campos lookup
: quando o campo não possui foco,
o valor é exibido formatado; quando em foco, apresenta apenas o valor numérico com separador
de casas decimais (quando aplicável).
Os seguintes formatos estão disponíveis com localização para Português-Brasil:
- Formato decimal: Exibe números com separadores de milhares e decimais (ex.: 1.234,56)
- Formato inteiro: Exibe números inteiros com separadores de milhares (ex.: 1.234.567.890)
- Formato de chave: Exibe números sem formatação, para chaves de banco de dados (ex.: -1234567890)
Por padrão, campos dos tipos integer
, int64
e int32
serão formatados com formato inteiro.
Recomenda-se que campos que armazenem chaves do sistema sejam configurados manualmente para o
formato de chave.
Melhorias
Administração do sistema
- O processo “Administração do sistema > Licenciamento > Produtos licenciados” passa a permitir que a chave do licenciador seja alterada durante o relicenciamento de todos produtos que não sejam o “Engine”. O processo também passa a apresentar o status de integridade da licença, permitindo identificar licenças que tenham sido alteradas acidentalmente.
- O processo “Administração do sistema > Armazenamento de arquivos > Gerenciamento de armazenamento” passa a permitir a verificação de arquivos órfãos nos serviços de armazenamento em nuvem. Mais detalhes no manual Gerenciamento de armazenamento.
Engine
- A classe Pop3
Pop3
agora oferece suporte à autenticação via XOAUTH2. Para utilizá-la, o usuário deve definir a propriedadeauthCommand
como “xoauth2” e fornecer o token de acesso como segundo parâmetro do métodologin
. A geração do token de acesso deve ser realizada separadamente. - Foi criado o método
ProductManager.prototype.isDevelopmentEnabled
com o objetivo de verificar se um produto do sistema está habilitado para desenvolvimento na base de dados corrente.
Web Framework
- Usuários que acessem o sistema por meio de um provedor de identidade externo agora podem utilizar o mesmo provedor para desbloquear a tela do sistema. Para que o desbloqueio funcione corretamente, é necessário permitir que o navegador abra pop-ups a partir do sistema.
- Foram adicionados os métodos
toText
etoBytes
à classeUploadedFile
, permitindo obter o conteúdo do arquivo como string ou como array de bytes. - Foi criada a classe
LabelFieldAggregator
com o objetivo de permitir a exibição de rótulos fixos na barra de agregadores de colunas da grade.
Extensão VS Code
- Os erros de execução de código que acontecem no servidor passam a ser apresentados com uma aba de informações na tela de resultados, informando base de dados, tempo de execução, javascript runtime, nome do servidor e IDs da sessão e do Engine.
- A extensão passa a contar com o comando “Engine DevTools: Open ESLint Config Folder”, que abre a pasta local onde todas as configurações de ESLint de todas as bases de dados são salvas de forma consolidada. Mais informações na documentação da extensão.
- A extensão passa a indicar erro nos arquivos de teste com falha no carregamento da suíte de testes. Mais detalhes na documentação da extensão.
Defeitos corrigidos
Engine
- O método
File.prototype.moveFile
poderia falhar no Linux se o caminho do arquivo de destino estivesse numa partição ou sistema de arquivos diferente daquele em que o Engine está instalado. - A inicialização do Engine poderia falhar se o caminho de instalação do sistema contivesse caracteres acentuados.
- A opção “Tools > Enable product changes” da IDE embarcada do Engine poderia afetar outras sessões de usuários além da sessão da IDE.
- A inicialização do Engine no Linux falhava caso o usuário utilizado para executar o serviço fosse definido por um provedor de identidade externo, como o LDAP.
Web Framework
- A propriedade
FieldAggregator.prototype.decimalPrecision
era ignorada na apresentação dos totalizadores de campos da grade.
Extensão VS Code
- O botão de copiar da grade de resultados não copiava o conteúdo da célula selecionada.
Outras alterações
Engine
- A função
validateString
deixa de suportar tipos de validação customizados que antes podiam ser registrados por meio da funçãovalidateString.registerType
ou pela variável global_validateStringHandler
. O uso da funçãovalidateString.registerType
em códigos customizados deve ser eliminado. Os códigos que faziam uso desses tipos devem passar a utilizar os pré-definidos pela funçãovalidateString
ou devem fazer uso direto da função de validação customizada. - O runtime Javascript V8 foi atualizado para a versão 13.8.
- O método
LicenseManager.prototype.isLicensed
passa a retornar falso caso o registro de um produto licenciado na base de dados tenha sido alterado indevidamente. - O cabeçalho “x-content-type-options: nosniff” passa a ser adicionado em todas as respostas de requisições HTTP de conteúdos originados da Virtual File System, tornando mais estrita a validação do tipo de mídia dos arquivos retornados pelo sistema no navegador Web.
Web Framework
- A biblioteca “ECharts” foi atualizada para a versão 6.0.0.
Extensão VS Code
- A extensão passa a recomendar a desativação da configuração “Testing > Save Before Test”. Por padrão, no momento em que testes são executados, o VS Code salva automaticamente todos os arquivos abertos que tenham modificações não salvas. Desativar essa configuração evita que arquivos da VFS sejam indevidamente salvos dessa forma.