Versão 74
Novidades
Armazenamento de arquivos na nuvem
O sistema passa a permitir que os arquivos gravados no sistema via API
LobStorage
sejam armazenados em serviços de armazenamento de objetos na nuvem em vez do banco de dados
relacional.
De uma forma geral, o custo dos serviços de armazenamento de objetos em nuvem é mais barato que o equivalente em um banco de dados relacional por não exigir discos SSD de alto desempenho e por serem projetados para armazenarem arquivos que raramente são alterados após a sua criação.
Ao mover esses arquivos para serviços especializados também há o benefício de reduzir o tamanho total da base de dados, simplificando a sua administração e backup.
Mais detalhes no manual Gerenciamento de armazenamento.
Melhorias
Administração do sistema
- No processo “Administração do sistema > Armazenamento de arquivos > Gerenciamento de armazenamento”, a grade “Espaço utilizado por tipo de arquivo” passa a apresentar uma coluna indicando pendências de migração de arquivos entre os diferentes locais de armazenamento. Também foi incluído neste processo o botão “Migração de dados”, que permite visualizar essas pendências e resolvê-las.
- Foi criado o manual Backup e recuperação de dados com o objetivo de documentar de forma mais clara os comportamentos específicos do sistema que devem ser considerados nas estratégias de backup e de recuperação de dados empregadas na operação do sistema.
Engine
- O método VirtualFileSystem.prototype.commitTransaction passa a retornar o número da versão gerada pela gravação das alterações.
- O sistema passa a utilizar o modo “chunked rows” na leitura de registros do banco de dados PostgreSQL, eliminando a necessidade de criar cursores para realizar a leitura dos registros em blocos. Essa alteração melhora a compatibilidade do sistema com ferramentas de monitoramento e insights de consultas SQL, como o Google Cloud SQL.
Web Framework
- A grade lookup passa a ajustar a sua altura dinamicamente, evitando assim a apresentação de registros vazios quando há poucas opções disponíveis para o usuário. Também foi eliminado o campo de apresentação da imagem padrão associada ao registro. Quando houver uma imagem, ela passará a ser exibida no final do campo principal, de forma similar à dos campos lookups. Por último, o campo “Classe” deixa de ser exibido em campos do tipo “combo”.
- O sistema passa a publicar as variáveis CSS “–wfd-color-outline” e “–wfd-color-outline-variant” com o objetivo de definir a cor de bordas e contornos de elementos HTML de forma consistente com o padrão visual adotado no sistema.
- O sistema passa a publicar as variáveis CSS “–wfd-color-alert” e “–wfd-color-unknown” com o objetivo de definir dois níveis adicionais de cores de notificação.
- O sistema passa a publicar a variável CSS “–wfd-color-no-change” com o objetivo de definir uma cor para sinalizar um resultado sem alterações.
- O sistema passa a publicar variáveis CSS de cores de texto sobre cores de categoria de forma a garantir o contraste necessário quando houver necessidade de escrita sobre um fundo que utilizar uma das cores de categorias disponíveis.
- Foram adicionados os ícones “book_ribbon”, “captive_portal”, “code”, “data_exploration”, “dictionary”, “favorite_outlined”, “hub”, “lan”, “language”, “lightbulb_2”, “medical_information”, “medical_services”, “model_training”, “pinboard”, “threat_intelligence”, “view_kanban” e “vpn_lock_2” à biblioteca de ícones do sistema.
- O método
Process.prototype.prompt
passa a utilizar como retorno do botão de cancelamento do diálogo o valor da opção que possui o rótulo “Cancelar”, caso exista uma. Essa melhoria busca melhorar a experiência de uso dos diálogos existentes que definem uma opção de cancelamento de forma explícita sem informar o parâmetroescapeIndex
. Em códigos novos, é recomendado que sempre seja utilizada a opçãocancelReturnValue
para definir o valor de retorno no caso do diálogo a ser cancelado. - A página “Sobre o sistema” passa a exibir o “Tempo de atividade do servidor” caso o usuário tenha permissão de ver informações técnicas (escopo “security.viewTechnicalInfo”).
Defeitos corrigidos
Administração do sistema
- O processo “Administração do sistema > Scripts agendados > Agendador de scripts” não permitia informar URLs com o protocolo https.
- Os campos calculados da grade “Engines” do processo “Administração do sistema > Monitoramento > Engines” não eram atualizados corretamente após a alteração dos filtros.
Web Framework
- Os totais dos relatórios com grupos colapsáveis poderiam ser exibidos desalinhados caso as colunas totalizadas fossem configuradas como invisíveis.
- Ao executar o método
Link.prototype.getHtml()
sem informar o parâmetrocontent
era retornado um link vazio em vez de retornar o conteúdo definido na propriedadelabel
ouname
. - Campos lookup cujo valor do registro configurado em
lookupDisplayFieldName
esteja vazio passam a exibir o valor “[valor vazio]”, permitindo que o campo possa ser limpo.
Outras alterações
Engine
- A tabela legada “DELCHAVE” passa a ser removida caso ela ainda exista na base de dados.
- O método
LobStorage.prototype.deleteLob
passa a poder ser utilizado dentro de uma transação ou de uma operação em batch. - A biblioteca OpenSSL foi atualizada para a versão 3.5.1.
- A biblioteca “libpq” utilizada no acesso ao PostgreSQL foi atualizada para a versão 17.5.
Web Framework
- O sistema passa a validar se o valor informado na propriedade
column
de um campo é válido, passando a rejeitar valores que não sejam números inteiros maiores ou iguais a zero. - A propriedade
Link.prototype.name
passa a ser somente leitura e a tentativa de alterar o seu valor passa a gerar erro. Também passam a ser rejeitados nomes de links que contenham os valores'&'
,'<'
,'>'
,'"'
ou'''
. - Os seguintes ícones forem renomeados:
- credit_card_multiple_outline => credit_card_multiple_outlined
- home_export_outline => home_export_outlined
- home_import_outline => home_import_outlined
- label_important => label_important_outlined
- label_important_fill => label_important