Novidades em 4D v16 R5

Securança

Melhor segurança para 4D Server

4D suporta Transport Layer Security (TLS v1.0, TLS v1.1 e TLS v1.2) para permitir comunicações criptografadas entre clientes e servidores. A partir de 4D v16 R5, a versão mínima suportada é TLS v1.2, versões mais velhas serão rejeitadas pois podem ser inseguras. Para melhorar a segurança de seu Server 4D, basta atualizar para 4D v16 R5. Nenhuma modificação é necessária para suas páginas web e métodos, e o mesmo vale para suas aplicações cliente-servidor.

Mas se quiser oferecer compatibilidade com navegadores (ou ferramentas) mais antigas, sem compatibilidade com TLS v1.2, pode diminuir o nível de segurança com o novo seletor Min TLS version para os comandos Get database parameter e SET DATABASE PARAMETER.

Comando Generate Digest e suporte SHA-2

As funções digest são úteis para checagem de integridade de dados durante troca de dados ou comparações. O comando Generate digest foi melhorado para ser compatível com SHA-2. Suporta dois novos algoritmos da família SHA-2: SHA-256 e SHA-512. A sintaxe permanece a mesma, mas agora inclui duas novas constantes: SHA256 digest e SHA512 digest.

Verificação de Hash e senha para web user login

O mecanismo de hashing é uma maneira ideal para armazenar senhas. Dois novos comandos foram criados para gerar e verificar senhas hashed: : Generate password hash e Verify password hash. Ambos são baseados no algoritmo bcrypt, que é devagar por design. Isso diminui a velocidade de ataques de força bruta, minimizando seus impactos.

Mais comandos para processos preemptivos

Rodar seus métodos em processos preemptivos significa que suas aplicações são mais rápidas e podem suportar mais usuários conectados. Com 4D v16 R5, mais de vinte comandos existentes foram enriquecidos para poderem ser usados em processos preemptivos. Lembre que, por padrão, métodos de projeto são executados em modo cooperativo. Por isso, se quiser mudar para modo preemptivo, precisa marcar a opção de propriedade Modo de Execução – “pode rodar em modo preemptivo nas propriedades de método. 

Gerenciamento de ponteiros json

Ponteiros JSON são úteis para estruturar seus documentos JSON ao dividí-los em partes menores, reutilizáveis.

4D agora é compatível com ponteiros JSON com o novo comando JSON resolve pointers. Ele analisa os ponteiros JSON encontrados no objeto passado como parâmetro, e retorna um objeto com: o estado do sucesso, o valor resultante e uma lista de erros potenciais..

gerenciamento de valores indefinidos

O uso de propriedades e valores indefinidos com  Object Notation foi simplificado porque a linguagem 4D agora aceita valores indefinidos em qualquer parte de uma expressão. Quando atribuir um valor indefinido a uma variável, será estabelecido a um valor padrão de acordo com seu tipo. Isso significa que ler a propriedade de um objeto não existente não gera erros ou para a execução do código.

Passar dados entre formulários

Agora pode conectar um objeto a um formulário e usar internarmente com o novo comando Form  ao invés de usar variáveis globais quando os dados não vêm de um banco de dados. Tudo que precisa fazer é passar parâmetros em um objeto para um formulário usando o comando DIALOG . Qualquer propriedade desse objeto estará disponível de dentro do formulário via o comando Form. O mesmo pode ser feito para áreas subformulário. 

dicas de ajuda em  list boxes

Com 4D v16 R5, dois comandos foram aprimorados para exibir dicas de ajuda em células de list box. Primeiro, OBJECT SET HELP TIP foi expandido para suportar list boxes. E segundo, o comando LISTBOX GET CELL POSITION agora suporta dois novos parâmetros opcionais (posição x e y em pixels) e retorna os números correspondentes de coluna e linha.

4D Write Pro

Gerenciar cabeçalhos e rodapés por programação

Com um novo conjunto de comandos, Cabeçalhos e Rodapés 4D Write Pro podem ser manejados por programação para criar outros documentos baseados em um modelo. Esses comandos são divididos em duas categorias:

  • Comandos para obter referências de qualquer cabeçalho, rodapé ou corpo dentro de documentos, que podem ser usados para obter faixas associadas, criar documentos para uma seção específica. Esses comandos são  WP Get header, WP Get body  e WP Get footer.
  • Comandos para mover o cursor para uma posição especifica: WP Get frame é usado para obter uma referência ao frame onde o cursor está atualmente, enquanto WP SET FRAME estabelece o cursor num frame específico. 

Suporte de expressões de imagem

4D Write Pro agora suporta expressões de imagem. A partir de  4D v16 R5, o comando ST INSERT EXPRESSION foi expandido para suportar qualquer expressão que retorne uma imagem. Uma expressão pode ser uma varíável, campo, função ou método 4D definido pelo usuário.

Lembre que antes de usar um método 4D em uma expressão, deve primeiro ativar o seu usoatravés do comando SET ALLOWED METHODS.  

Imagens de fundo com tamanho completo

Criar imagens de fundo preenchendo a página inteira é possível agora com  4D Write Pro, graças ao recentemente adicionado atributo de imagem de fundo para clipping e origem de imagens. A vantagem é que imagems agora podem ser clipadas ao papel e não apenas para a borda ou conteúdo.

Esse atributo pode ser controlado via:

  • Linguagem 4D: Pode usar o comando WP SET ATTRIBUTES e estabelecer o novo valor wk paper box value for background picture clipping and/or origin.
  • Ações padrão: Comando INVOKE ACTION pode ser usado ou em modo design ou outra ação padrão.
  • 4D Write Pro widget: Quando selecionar os itens “imagem de fundo” e “documento”, as opções clip e origin terão uma nova opção  paper box disponível.

 

 

4D view Pro: Altura de linha automática

4D View Pro já suporta altura de linha variável em list boxes do tipo array. 4D v16 R5 agora dá suporte a altura de linha totalmente automática, o que significa que uma list box adapta a altura de cada linha ao seu conteúdo de maneira que o texto completo ou a imagem pode ser exibido evitando todos os problemas com quebra de linha.

Três novas propriedades estão disponíveis na Lista Propriedade:  Automatic Row Height, Min Row Height e Max Row Height. Essas configurações permitem que desenvolvedores definam se uma list box usa a altura automática de linha, além das alturas de linha mínima e máxima permitidas.

Essas configurações podem ser gerenciadas por programação usando os comandos LISTBOX SET PROPERTY e o novo comando LISTBOX SET AUTO ROW HEIGHT.

diálogo de administração de servidor personalizada

informação detalhada sobre 4D web server

O novo comando WEB Get server info recupera informação detalhada sobre seu 4D Web server. Esse comando tem um parâmetro de input opcional, withCacheInfo, que é útil se a informação de cache do web server for necessária. Esse atributo está configurado para  “False” como padrão.

 

Melhoria do comando get process activity

O comando Get process activity foi melhorado para fazer a interpretação (parsing) dos resultados mais fácil. Além disso, um novo atributo systemID foi incluido para identificar unicamente qualquer processo: usuário, 4D, e spare.

Quer saber mais? Leia todos os blog posts sobre 4D v16 R5!