NOVIDADES EM 4D V20 R3

4D Write Pro

Atribuir nomes às fórmulas

Anteriormente, as fórmulas podiam ser exibidas como valores, expressões ou símbolos, o que poderia colocar desafios em relação à legibilidade.

No entanto, com 4D v20 R3, os desenvolvedores agora têm a opção de atribuir nomes às fórmulas. Isto melhora a intuitividade dos documentos 4D Write Pro já que os usuários podem rapidamente identificar e entender o propósito de cada fórmula dentro do documento, facilitando o trabalho com modelos e melhorando a experiência geral do usuário.

Dois comandos, o WP Insert formula e o WP Get formula, foram revistos e melhorados para suportar este novo modo de exibição de fórmulas.

 

exportar formato PDF/A

O formato PDF se tornou uma escolha clássica para exportar documentos 4D Write Pro e está disponível em várias versões. E a partir de 4D v20 R3, há uma adição excitante: o formato PDF/A. Este novo formato é opcional mas abre possibilidades para futuras aplicações como faturação eletrônica.

Pode exportar documentos 4D Write Pro em formato PDF/A da maneira usual, seja através da interface ou por programação. Ambos os métodos são simples, e pode escolher entre os formatos mais recentes, como PDF/A-2 ou PDF/A-3.

 

Funcionalidades relacionadas com a programação

Declaração e inicialização de variáveis de uma linha

Com 4D v20 R3, os programadores podem agora declarar e inicializar variáveis numa única linha, eliminando a necessidade de código repetitivo. Isso simplifica o processo de desenvolvimento, tornando o código mais limpo e mais eficiente.

Pode deixar que o compilador determine o tipo de variável com base no valor:

var <variableName> := <value>

Ou especificá-la explicitamente para tipos complexos, melhorando a clareza do código e reduzindo os erros:

var <variableName> : <type> := <value>

 

Simplificando a escrita de funções variádicas

A partir de 4D v20 R3, simplificamos a declaração de métodos ou funções que aceitam um número não especificado de parâmetros.

Agora pode usar o símbolo “…” no seu último parâmetro para indicar que o número de parâmetros pode variar. Esta melhoria torna as suas declarações de funções e métodos mais simples e fáceis de trabalhar.

 

Sincronização Incremental com Selos Globais

Com 4D for Mobile, introduzimos selos globais para sincronização incremental.

Esta caraterística permite atualizar ou sincronizar dados transferindo apenas as mudanças feitas desde a última sincronização ao invés de transferir todo o conjunto de dados.

Esta funcionalidade está agora aberta para qualquer necessidade, usando o Servidor 4D REST para fazer a sincronização, enquanto 4D automaticamente atribui selos a registos recém criados, modificados ou apagados. Duas novas funções permitem obter e definir esses selos no caso de precisar sobrescrever manualmente o comportamento.

  • A função .getGlobalStamp() recupera os selos de modificação globais atuais associados ao armazenamento de dados. Estes carimbos representam o estado de modificação dos dados.
  • A função .setGlobalStamp() define e ajusta os valores do carimbo global conforme necessário. Com cada modificação de dados, o carimbo global indica as alterações desde a última sincronização.

 

Nova função para sincronizar várias coleções

4D permite trabalhar eficientemente com coleções de objetos, simplificando tarefas como classificar, ordenar e filtrar. No entanto, quando os dados chegam de sistemas não-4D na forma de arrays, convertê-los em coleções de objetos e de volta em arrays pode ser tedioso.

Em 4D v20 R3, a nova função multiSort() simplifica a ordenação e sincronização de múltiplas coleções, tornando a manipulação de dados mais eficiente.

 

Personalizar cabeçalhos de cliente Websocket

Personalizar cabeçalhos de cliente WebSocket permite injetar informação específica, preferências ou requerimentos no processo de estabelecimento de conexão WebSocket.

A partir de 4D v20 R3, pode enviar detalhes de segurança, dados específicos da aplicação, ou qualquer informação relevante para o servidor usando cabeçalhos de cliente WebSocket.

Como o post do blog do cliente WebSocket explica, é preciso criar uma classe para lidar com eventos WebSocket. Essa classe introduz um novo atributo chamado headers, um objeto estruturado com atributos no formato headers.key:=value.

Esse atributo fornece uma maneira flexível de gerenciar e personalizar os cabeçalhos do cliente WebSocket para atender às suas necessidades.

 

Melhorando a opção ‘Use Log file’ (usar arquivo de log)

Em 4D v20 R3, o gerenciamento de logs recebe uma atualização para oferecer mais opções de configuração para implementação.

Agora pode sobrepor a opção “Use log file” como outras configurações de backup. Essa opção controla se sua aplicação usa um log. Quando ativada, 4D pede que crie ou selecione um log ao criar um novo arquivo de dados, armazenando o caminho do log no arquivo de dados. Se abrir um arquivo de dados sem um log e essa opção estiver ativada, 4D pede que crie ou selecione um log.

A opção “Use log” é salva no arquivo “catalog” por padrão. Mas com 4D v20 R3, pode mudar isso durante a implementação usando o arquivo de parâmetro de backup. Pode colocar esse parâmetro na estrutura, próximo à estrutura, ou próximo aos dados.

 
 

Melhorar o comando Formula from string

Em 4D v20 R3, o comando Formula from string foi melhorado, permitindo que fórmulas sejam executadas em vários contextos. Essa melhoria simplifica o desenvolvimento de componentes, tornando mais fácil o acesso a métodos e variáveis a partir da database host.

Depreciação de comandos PHP & Remoção do interpretador embutido de 4D

PHP tem tido um papel significante no desenvolvimento web de 4D, oferecendo características como zip, hash, e funcionalidade LDAP. Com o tempo, muitas características PHP se tornaram parte integrante da funcionalidade central de 4D. Para racionalizar e simplificar, removemos o interpretador PHP embutido em 4D v20 R3 e começamos o processo de depreciação para comandos PHP na v21.

Enquanto não eliminamos completamente os comandos PHP de 4D, recomendamos fortemente usar system workers para executar código PHP.

 
 
 

4D View Pro

Importar e exportar documentos em formato Blob

Reconhecemos os desafios dos desenvolvedores quando trabalham com documentos maiores e mais complexos de 4D View Pro. Para melhorar sua experiência, introduzimos o formato de arquivo .sjs.

As melhorias continuam com 4D v20 R3, já que introduzimos um novo formato blob que permite armazenar documentos comprimidos em sua base de dados, oferecendo a mesma alta performance que o formato .sjs.

 

Extensão de código Visual Studio

Mostrar a documentação 4D

4D v20 R3 vem com uma nova caraterística do editor Visual Studio Code graças à extensão 4D-Analyzer – a caraterística “Show 4D Documentation”!

Mesmo que seja bom em entender comandos e classes 4D, às vezes é útil ver a informação completa quando se trabalha com código em VS Code.

A partir de 4D v20 R3, é simples: mova o mouse sobre o comando, classe, ou função de classe que quiser conhecer. Uma dica de ferramenta com uma descrição aparecerá. Na parte inferior deste tooltip, há um link que diz Mostrar documentação.

 

4D Netkit

Obter etiquetas, buscar e remover emails do Gmail

A versão anterior foi o primeiro passo para integrar o Gmail API em 4D Netkit. A partir de 4D v20 R3, introduzimos comandos para obter listas de rótulos, buscar emails, e remover emails, com mais comandos a caminho.

 

Microsoft 365

Atualizar emails

Respondendo ao seu feedback, estamos introduzindo um novo comando para endereçar seus pedidos em relação ao sinalizador ‘isRead’ em emails. Com o lançamento de 4D v20 R3, Netkit agora permite atualizar várias propriedades de emails recebidos e rascunhados usando a função‘Office365.mail.update()’.

Usando Microsoft Graph, essa função permite modificar múltiplos atributos de email. Lembre-se de que as propriedades específicas, como o corpo ou o assunto, só podem ser actualizadas para e-mails no estado de rascunho.

 

Quer saber mais? Leia todos os posts do blogue sobre 4D v20 R3