Dicas

Como implementar Integração Contínua com 4D: Um Guia Passo-a-Passo

No mundo do desenvolvimento de software, surgiu nos últimos anos um novo conceito chamado “Integração Contínua”. A definição que vemos ou ouvimos em todo o lado é :

A definição que vemos ou ouvimos em todo o lado é: “CI é um processo que automatiza a compilação, o teste e a entrega de uma aplicação numa base regular e frequente.”

Tendo entendido essa definição, que expressa um processo interessante e promissor, o que eu preciso fazer para implementá-lo em 4D? Se pesquisar na Internet, verá que há muitas ferramentas e frameworks de CI disponíveis.

No entanto, há vários pré-requisitos antes de usar essas ferramentas de CI.

Produto blank

4D mantém as suas selecções de registos coerentes no que diz respeito à eliminação de registos

Tradução automática de Deepl

A eliminação de dados deve ser tratada com cuidado. Para prevenir problemas, podemos usar transações ou confiar em backups e logs.

Algumas melhorias foram feitas em 4D 20 R4 para fazer suas seleções de registros estáveis e consistentes em relação à potencial eliminação de registros nessa seleção.

Continue lendo para aprender como seu código 4D será tão seguro fora da caixa.

Produto blank

Criar, atualizar e eliminar com o Data Explorer

O Data Explorer é uma ferramenta poderosa para a visualização de dados. As suas capacidades permitem aos administradores assegurar sem esforço a consistência dos dados. Ao mesmo tempo, desenvolvedores podem validar seu código para criar, atualizar ou deletar dados – tudo sem a necessidade de criar novos formulários.

Agora, com 4D 20 R4, os usuários têm a habilidade não só de visualizar mas também de corrigir seus dados diretamente na interface do Data Explorer. É isso mesmo! Pode adicionar, modificar, ou apagar dados diretamente na interface do Data Explorer.

Dicas blank

Uma classe para facilitar o tratamento dos seus subformulários

No fórum, foram feitos vários pedidos, dicas ou perguntas sobre a apresentação de uma mensagem, uma ampulheta ou alguns elementos de interface no primeiro plano de um formulário, esbatendo o resto. É possível criar este tipo de interface com subformulários e formulários de chamada. O código pode tornar-se complicado se estiver a trabalhar com um formulário de várias páginas.

Para facilitar o seu trabalho, Vincent De Lachaux preparou uma classe para simplificar a gestão dos subformulários apresentados num formulário de várias páginas. Trata do carregamento do subformulário em tempo real, controlando-o a partir de um worker e reposicionando-o se o formulário principal for redimensionado. Pode concentrar-se nos seus diálogos sem se preocupar com a mecânica.

Produto blank

Personalização personalizada para datas e horários

A manipulação de datas e horas frequentemente requer formatação específica para várias representações baseadas nos recursos internos de 4D ou configurações do sistema operacional.

Enquanto os formatos padrão são geralmente tudo o que precisa, há cenários em que a formatação personalizada é essencial, particularmente para diferentes localizações geográficas ou requisitos únicos. Em 4D v20 R4, avanços significativos foram feitos para atender a essa necessidade precisa

Produto blank

Impressão sem bloqueio

Com 4D v20 R4, melhoramos significativamente a gestão de trabalhos de impressão dentro de 4D. 4D agora pode executar múltiplos trabalhos de impressão em paralelo, aumentando significativamente a reatividade de suas aplicações enquanto facilita o gerenciamento de trabalhos de impressão simultâneos.

Deixe-me contar mais sobre isso!

Produto blank

4D View Pro: O que há de novo no 4D v20 R4

A cada lançamento, a lista de funcionalidades do 4D View Pro continua a aumentar. E este lançamento não é exceção:4D v20.2 e 4D v20 R4 vêm com uma nova versão de SpreadJS, a v16.2, e uma atualização Ribbon que é compatível com ela.

Vamos explorar as características melhoradas introduzidas nesta última versão.

Produto blank

Uma nova forma de tratar os erros

Tradução automática de Deepl

Introduzimos recentemente um novo mecanismo de tratamento de erros utilizando o novo comando throw().
Isso marcou o primeiro passo para um novo sistema de tratamento de erros, posicionado o mais próximo possível do código que os gera.
Na próxima fase com 4D v20 R4, estamos a expandir esta abordagem para intercetar erros durante a execução de expressões.
Vamos nos aprofundar nos detalhes.