O que há de novo em 4D V17 R5

Tradução automática de Deepl

Criptografia

4D v17 R5 introduz a nova encriptação de dados incorporada para as suas bases de dados 4D. Os dados podem ser encriptados através de código ou da interface do utilizador, para todas as tabelas ou apenas para tabelas seleccionadas. As ferramentas de encriptação 4D são baseadas numa frase-chave. É composto por uma frase ou uma combinação de palavras que é utilizada para gerar uma chave de encriptação binária para encriptar dados com o algoritmo AES. Para trabalhar com um ficheiro de dados codificado, a frase-chave ou a chave de encriptação binária é obrigatória.

É importante notar: se perder a chave de encriptação, não há nenhuma solução de trabalho. Os dados ficarão bloqueados para sempre!

Encriptar através do MSC

Um novo atributo Encriptável está disponível para tabelas no Modo Design. Define o estado de encriptação de uma tabela designando que esta pode ser encriptada. Quando estiver pronto para encriptar os seus dados, a forma mais fácil de o fazer é através da nova página de Encriptação no MSC. Esta página fornece todas as características necessárias para monitorizar a encriptação dos seus dados. Pode utilizar esta página para encriptar ou desencriptar o ficheiro de dados, bem como reencriptar e/ou alterar a sua frase-chave.

Encriptar com comandos 4D

Para além do MSC, 4D v17 R5 inclui um conjunto de comandos que são concebidos para suportar a maioria dos requisitos de encriptação. Por exemplo, pode gerir a encriptação com o comando Encrypt data file(), ou utilizar o comando provideDataKey() para fornecer a chave de encriptação de dados a um ficheiro de dados aberto. Pode mesmo utilizar o comando encryptionStatus() para verificar se o ficheiro de dados aberto está ou não encriptado e se foi fornecida uma chave de encriptação de dados válida. A lista completa de comandos está disponível no centro Doc.

4D para iOS – Pré-visualização

Acções

Estão agora disponíveis acções com 4D para iOS que lhe permitem ter mais interactividade com a sua aplicação móvel. Estas acções permitem aos seus utilizadores definir tarefas a completar ou terminar ou marcar eventos a serem verificados, apenas com o deslizar de um dedo ou seleccionando uma acção de um menu. Está disponível um novo método de base de dados On Mobile App Action, que lhe permite declarar todas as suas acções. Além disso, foi adicionada uma secção Acção no editor do Projecto para que possa definir os elementos da sua acção (Nome, ícone, etiquetas curtas/longas, tabelas, e âmbito).

Sincronização de dados incrementais

Com 4D v17 R5, 4D para iOS inclui sincronização incremental de dados. Isto significa que, em vez de enviar continuamente todo o conjunto de dados para um dispositivo, 4D mantém agora automaticamente um registo actualizado ou apagado e só actualiza estes dados no dispositivo. Além disso, os seus dados são actualizados não só cada vez que lança a sua aplicação, mas também cada vez que a sua aplicação vai para o primeiro plano ou em resposta a uma acção do utilizador.

N a uma relação

Em 4D v17 R5, 4D para iOS suporta N a uma relação. Pode usar nomes de relações descritivas e simplificar a definição da estrutura do seu projecto. Altere os nomes curtos e longos de um campo relacionado, escolha o seu ícone, e aplique consultas sobre o mesmo.

Envio de e-mails

Registo de conversas SMTP

4D v17 R5 fornece uma nova funcionalidade para registos de correio electrónico: o comando SMTP Novo Transportador. Cria uma ligação entre um servidor SMTP (como troca ou gmail) e o cliente, e regista – em texto simples e não encriptado – todas as suas comunicações. Está disponível um novo ficheiro de registo de propriedade, contendo o caminho completo do ficheiro de registo definido para a ligação SMTP. O ficheiro pode ser produzido em duas versões: Uma versão padrão e uma versão alargada. Ambas as versões podem ser activadas pelo comando SET DATABASE PARAMETER.

Cabeçalhos de correio personalizados

4D v17 R5 fornece cinco novos cabeçalhos pré-definidos directamente através do objecto de correio:

  • messageId: Identificador de mensagem único e único que se refere a uma versão de mensagem específica.
  • inReplyTo: Identificador de mensagem da mensagem original à qual a mensagem actual é uma resposta
  • referências: Recolha de identificador(es) de mensagem(s) de outra(s) mensagem(s) com as quais a mensagem actual pode estar relacionada.
  • palavras-chave: Objecto contendo palavras e frases importantes que possam ser úteis para o destinatário.
  • comentários: Contém quaisquer comentários adicionais sobre o texto do corpo da mensagem.

Se precisar de outros cabeçalhos, utilize a colecção de cabeçalhos para adicionar cabeçalhos SMTP específicos ao seu correio electrónico.

Suporte de cartas antigas

Com 4D v17 R5, é possível utilizar codificações herdadas para enviar correio electrónico: ISO-2022-JP para japonês ou ISO-8859-1 para europeu ocidental. O comando SMTP Novo Transportador aceita novos parâmetros que lhe permitem especificar o tipo de codificação que pretende utilizar no seu cabeçalho ou corpo.

ORDA

Titulares de lugares nomeados para valores

4D v17 R5 facilita a escrita de consultas ORDA genéricas, graças a detentores de lugares nomeados para valores. Estes placeholders são fornecidos como parâmetros de objectos nas definições da consulta e substituídos por outro valor quando a cadeia de consulta é avaliada.

Titulares de lugares nomeados para os caminhos de atributo

Também pode utilizar marcadores de lugar para os caminhos de atributos (nomes de campos em tabelas). Estão disponíveis dois tipos: Indexado – inserido como :paramIndex(por exemplo:1, :2,… com um incremento de 1) na cadeia de consulta e os seus valores correspondentes são fornecidos pela sequência de parâmetro(s) de valor, e Nome – inserido como :paramName e os seus valores são fornecidos nos atributos ou parâmetros objectos na cadeia de consulta.

Optimização do desempenho no modo Cliente/Servidor

O acesso a tabelas grandes (especialmente aquelas com relações) em modo Cliente/Servidor usando ORDA foi grandemente melhorado em 4D v17 R5. Ao utilizar selecções de entidades em caixas de listagem ou em loops de código(por exemplo, While ou Para cada) os campos utilizados serão automaticamente analisados para optimizar a transferência de rede. Verá 2-3x melhor desempenho da LAN e até 30x mais rápido na WAN (dependendo da rede e do tamanho do registo). E o melhor de tudo – não há necessidade de alterar nada no seu código, é tudo automático.

Melhorias significativas

Melhor desempenho

Em servidores muito utilizados (por exemplo, muitos utilizadores paralelos ou processos de acesso a registos, enquanto outros utilizadores modificam/criam registos da mesma tabela), um mecanismo de bloqueio interno melhorado pode melhorar drasticamente o desempenho. Isto pode levar a velocidades significativamente mais rápidas (4-8xs) com maior utilização de CPU, uma vez que os fios passam menos tempo à espera de micro fechaduras.

Actualização da Librairies

Como 4D v17 R5 é apenas de 64 bits, foram actualizadas múltiplas bibliotecas: Hunspell v.1.7.0 (corrector ortográfico), PHP v7.3.1, CEF 3626 (Chrome Foundation, área interna da web), OpenSSL v1.1.1 (permitindo o suporte de TLS 1.3), e ICU 63.1 (novas versões Unicode. Esta actualização provocará uma reindexação automática dos campos de texto, alfa, e de objectos).

Instâncias multi-clientes

Com 4D v17 R5, pode executar vários clientes no mesmo computador e simultaneamente ligá-los ao mesmo Servidor 4D. Cada ligação de cliente inclui agora uma pasta cache separada contendo o endereço IP da ligação, porta, e um código hash. Graças a isto, também é possível ligar vários clientes da mesma máquina a vários servidores em máquinas diferentes. Não é necessária qualquer configuração.

Melhoria da IU em Relatório Rápido

A interface do utilizador Quick Report foi melhorada com um botão“Save / Save as” e uma dica de ferramenta. Escolhendo“Guardar como” guarda o seu trabalho actualizando a última versão guardada do ficheiro para corresponder à versão no seu ecrã. Escolher“Guardar como” pede-lhe para guardar o seu trabalho como um ficheiro com um nome diferente. A adição de uma dica de ferramenta permite-lhe ver a direcção de ordenação: ascendente ou descendente.

4D Língua

Ler campos de objectos 4D com motor SQL

O motor SQL em 4D v17 R5 foi actualizado para permitir a leitura de campos de objectos 4D. Para navegar pelo conteúdo de um campo de objecto, a função SQL CAST foi alargada para devolver uma representação JSON do campo.

Notação de objectos para tratar ficheiros e pastas

4D v17 R5 fornece comandos para manusear ficheiros e pastas através de notação de objectos. Foi adicionado um novo comando Folder que lhe permite criar um objecto de pasta a partir de uma constante, de um caminho POSIX, ou de um caminho de plataforma. O objecto pasta tem propriedades(por exemplo, nome, modificaçãoDate, modificaçãoTime) e métodos( por exemplo, create(), moveTo(), rename(), delete())) que permitem a criação e manipulação de pastas. Tal como acontece com as pastas, o comando File está disponível para tratar ficheiros. O novo objecto de ficheiro permite aceder e manipular atributos de ficheiro. Pode usar métodos de ficheiro para escrever e ler o conteúdo de um ficheiro, movê-lo, apagá-lo, etc.

Mais informação sobre processos web

Estão disponíveis novas informações sobre o URL utilizado pelos processos web com 4D v17 R5. Esta informação pode ser recuperada de duas maneiras: através da Janela de Administração do Servidor 4D ou através da linguagem 4D com o comando Get process activity ; um novo atributo “url” é adicionado ao objecto de processo quando o tipo de processo é um processo web.

Definir um nome alternativo para a conta de utilizador 4D

Um novo comando está disponível para definir um nome personalizado a utilizar em vez do nome da conta de utilizador 4D actual: SET USER ALIAS. Aceita uma cadeia de caracteres como parâmetro. Essa string (alias) irá substituir o nome de utilizador 4D no ambiente 4D. Este comando só pode ser chamado a partir de aplicações 4D remotas ou 4D de utilizador único, e não no Servidor 4D. Um alias permite utilizar o seu próprio sistema de utilizador/senha, ou um directório de utilizador externo, como Active Directory ou LDAP, enquanto ainda beneficia de todos os conceitos de identificação de utilizador 4D incorporados.

Melhorias no registo de depuração

Com 4D v17 R5, o comando SET DATABASE PARAMETER é melhorado para permitir o registo apenas de processos específicos, bem como chamadas a métodos de membros (métodos de recolha ou métodos de objectos). Está disponível um novo selector(Registo de registos de depuração do processo actual) que lança o registo de depuração do processo actual e cria um ficheiro chamado “4DDebugLog_pX_Y.txt” na pasta de registos 4D (onde X é o PID do processo e Y o número do ficheiro de sequência). Para os métodos de registo de membros, usar os selectores de registo de depuração de registo de depuração do processo actual, que aceitam uma nova opção com o valor 32.

4D Write Pro

Ligações aos métodos 4D

4D v17 R5 inclui o novo comando, WP SET LINK. Permite-lhe definir URLs, e também lhe dá a capacidade de invocar um método da sua aplicação 4D (com parâmetros) ou marcadores de destino do seu documento. O novo comando WP Get links retorna uma colecção de todas as ligações de um documento, numa única chamada. Cada ligação da colecção é um objecto com uma descrição da ligação nos seus atributos.

Definições dos separadores

A partir de 4D v17 R5, os separadores podem ser definidos com uma colecção de cordas, valores numéricos, ou mesmo uma colecção de objectos! Se necessitar apenas de modificar os valores por defeito dos separadores, pode utilizar um objecto com a nova constante por defeito do separador wk (adicionada especificamente para este fim).

Manusear as propriedades de visualização por programação

Com 4D v17 R5 pode manusear as propriedades de visualização programando. O comandoWPSET VIEW PROPERTIES permite definir dinamicamente uma ou mais propriedades de visualização da área 4D Write Pro. As definições podem ser devolvidas num objecto com todas as propriedades de visualização através do comando WP Get view properties.

Mais alvos e comandos renomeados

Os comandos listados abaixo foram alargados em 4D v17R5 para aceitar qualquer tipo de alvo como primeiro parâmetro. Ainda podem utilizar um intervalo, mas agora também podem utilizar uma referência (cabeçalho, corpo, rodapé), um elemento (imagem, parágrafo), ou o documento inteiro como alvo:

  • TEXTO WP SET
  • RUPTURA DA INSERÇÃO DO WP
  • WP INSERIR DOCUMENTO
  • WP INSERIR IMAGEM
  • WP Tabela de inserção
  • ATRIBUTOS DO CONJUNTO WP
  • WP OBTER ATRIBUTOS

Além disso, vários comandos foram renomeados:

Nome anterior Novo nome
WP Criar intervalo de parágrafos WP Gama de parágrafos
WP Criar gama de imagens WP Gama de imagens
WP Criar gama Gama de textos WP
WP Criar gama de mesas Gama de tabelas WP
WP Obter gama de marcadores de livros WP Gama de marcadores de livros
WP Obter selecção Gama de selecção WP

4D Ver Pro

Barra de ferramentas ao estilo de fita

4D v17 R5 fornece uma poderosa barra de ferramentas ao estilo de fita para melhorar a interface do utilizador 4D View Pro. Permite organizar as características 4D View Pro num conjunto de separadores, para aumentar a capacidade de descoberta de funções e permite o acesso rápido a diferentes comandos. Vale a pena mencionar que esta barra de ferramentas também introduz novas funções tais como PDF e opções de exportação CSV.

Gerir as selecções e célula activa

Com 4D v17 R5, estamos a incluir um conjunto de comandos para o ajudar a definir e obter a célula ou selecção(ões) activa(s) nos seus documentos:

  • VP Adquira a célula activa
  • VP Obter selecção
  • CONJUNTO VP CÉLULA ACTIVA
  • SELECÇÃO DO CONJUNTO VP
  • VP ADICIONAR SELECÇÃO
  • SELECÇÃO VP RESET

E se quiser ver uma célula numa posição específica na sua área 4D View Pro(por exemplo , superior esquerda ou inferior direita), pode usar o comando VP SHOW CELL .

Quer saber mais? Leia todos os posts do blogue sobre 4D v17 R5