NOVIDADES EM 4D 20 R5

4D Write Pro 

ajuste o texto ao redor de imagens e text boxes

Com 4D 20 R5, imagens e text boxes agora oferecem a possibilidade de ajustar o texto (wrapping), oferecendo flexibilidade no design do layout do documento. Com novos modos de âncora, usuários podem arranjar o texto ao redor de imagens e text boxes, criando documentos visuais e sem restrições.

A interface 4D Write Pro foi melhorada para permitir que escolha como deseja exibir suas imagens e caixas de texto. Novos valores para as ações padrão image/anchorLayout e textBox/anchorLayout já estão disponíveis. Pode também mudar as configurações por programação com os atributos: wk text wrap top bottomwk text wrap squarewk text wrap square leftwk text wrap square right, e wk text wrap square largest.  

Um bônus extra: esta funcionalidade é levada em consideração quando exportar a SVG, PDF e HTML (baseado em modo embebido) e quando importar e exportar para Word.

manejar seções da Interface

4D 20 R5 permite manejar quebras de seção via interface de usuário.

A atualização de interface introduz menus acessíveis através de dois botões, permitindo a usuários inserir quebras de seção (como antes) e opções de acesso para páginas diferentes. Isso permite personalização dentro de sessões, como diferenciando a primeira página das outras, ou diferenciar as páginas da esquerda das da direita diretamente da interface. Além disso, o novo menu oferece a conveniência de remover cabeçalhos e rodapés das seções e subseções.

preencher tabelas com linhas e colunas ilimitadas

4D 20 R5 remove o limite de 1000 linhas.

Este limite já não é fixo e controlado por 4D Write Pro mas sim limitado pela memória disponível. Agora pode associar as fontes de dados com tabelas, ativando o preenchimento automático sem restrições.

wk page size para tamanho de documento

4D 20 R5 introduz um novo atributo de documento para 4D Write Pro: wk page size. Esta funcionalidade prática permite estabelecer a largura e altura do documento em um único passo. Independente de sua impressora atual, pode escolher entre formatos de impressão pré-determinados, formatos personalizados pelo usuário ou mesmo formatos padrão ISO (A0-C10, DL, Legal, etc.). Isso simplifica a definição de tamanhos de documento para várias necessidades, poupando tempo e código!

 

ORDA

Restrição de dados em seleções de entidade

4D 20 R5 melhora a restrição de dados em seleções de entidade facilitando a implementação de filtros, assegurando a pesquisa de dados de forma mais precisa de acordo com critérios específicos e interações de usuário, assegurando o acesso de dados através de pesquisas refinadas e restrições na seleção.

Permite que os desenvolvedores 4D usem filtros para ler dados a partir de data classes determinadas. Desenvolvedores web podem filtrar dados pesquisados baseados em usuário ou outra informação relevante armazenada nas sessões web. Desenvolvedores Qodly podem filtrar os dados lidos de acordo com o usuário final interagindo com a aplicação.

REST

uso melhorado de licenças 4D Client

4D 20 R5 introduz uma nova funcionalidade para suas REST APIs chamada Force Login. Garante que ninguém possa acessar seus dados a não ser que  tenham sido autenticados antes de que qualquer dado tenha sido visto ou manipulado com a REST APIs. Essa funcionalidade garante que nenhuma licença 4D Client seja usada sem a autenticação bem sucedida. 

funcionalidades de programação

Introduzindo os blocos Try-Catch

Depois de ter implementado o comando throw() e introduzido a palavra chave Try(Expression), 4D 20 R5 agora é enviado com o novo sistema de gerenciamento de erros de 4D: os blocos Try-Catch code!

Desenvolvedores podem gerir e localizar erros com precisão encapsulando código com as palavras chave Try, Catch, e End try. Se ocorrer um erro, o Catch block o gerencia adequadamente.

classes COMpartilhadas

4D 20 R5 introduz classes compartilhadas, o que torna mais fácil com objetos partilhados.

Classes partilhadas simplificam o processo de criar e usar objetos partilhados ao gerar o setup necessário. Adicionando a palavra-chave “shared” para um construtor de classe ou função, indica que vai criar ou modificar objetos partilhados.

4D Singleton

4D 20 R5 introduz uma funcionalidade muito útil: singletons são objetos acessíveis em sua aplicação inteira. Oferecem múltiplas funcionalidades, servem como hosts para valores interprocesso e classes de utilidade e mesmo os elementos fundacionais para padrões de design tais como configurações iniciais.

Vem em dois tipos:

  • singletons normais, únicos por processo,
  • singletons partilhados, que são únicos para a aplicação inteira.

Defini-los é fácil. Adicione “singleton” para o construtor de classe. Pode facilmente acessar seus singletons usando o atributo “me”. 

 

declaração e inicialização de propriedades racionalizadas

4D 20 R5 introduz uma nova funcionalidade que facilita a declaração de propriedades, e agora desenvolvedores podem inicializar propriedades simultaneamente com suas declarações em uma única linha. Isso facilita a legibilidade de código e eficiência, reduzindo a velocidade de blocos de inicialização separados. Desenvolvedores podem criar bases de código mais limpas e fáceis de manter, com opções para tipos inferidos ou tipos declarados e inicialização.

objeto de sessão remota 4D com conexão cliente/servidor

4D 20 R5 introduz uma funcionalidade estendida para Comando de sessão, conexões de Cliente/Servidor e procedimentos armazenados junto com sessões web e mobile existentes em aplicações 4D. Essa atualização introduz uma nova classe, ‘ClientServerSession’, especificamente criadas para sessões 4D Remote, oferece as propriedades seguintes: ID, info, storage, e userName.

Gerenciamento simplificado de pacotes

4D 20 R5 traz uma funcionalidade que simplifica o gerenciamento de pacotes: Package Manager. Não precisa mais armazenar componentes de projeto em uma pasta Components. Ao invés disso, essa funcionalidade usa  dependencies.json e environment4d.json, dando aos desenvolvedores um insight mais claro das dependências de sua aplicação e a habilidade para personalizar as rotas dos componentes.

Adicionalmente, pode acessar componentes 4D e componentes pasta via uma new screen no menu Design em  Project Dependencies. Em breve poderá adicionar e gerenciar dependências diretamente dessa interface, assim como outras funcionalidades para o Package Manager.

 

4D Project

Melhora da gestão de catálogos nos sistemas de controle de versão

Baseado no seu feedback, melhoramos a configuração de nossos projetos 4D.

Antes todos os detalhes de projeto, como cores e posição de tabelas, campos e relações eram armazenados em catalog.4DCatalog. Agora essa informação está em um arquivo separado chamado catalog_editor.json.

Isso faz com que o gerenciamento de mudanças seja mais fácil, especialmente quando múltiplos desenvolvedores estão envolvidos. Com essa mudança, o arquivo catálogo continua intocado quando alguém ajustar uma tabela ou campo.

Isso ajuda a prevenir conflitos e tornar as revisões de mudanças mais fáceis. Também adicionou-se a opção para trocar para essa nova setup para projetos mais velhos. Se acidentalmente ligar essa funcionalidade, não se preocupe, pode revertê-la para a configuração antiga.

4D View Pro

Melhoria de funções personalizadas

4D 20 R5 permite cálculos personalizados em conteúdos de linha ou coluna dentro de uma planilha sem conhecimento prévio do número de células envolvidas. Isso é possível ao permitir que se passe múltiplos intervalos de célula ou objetos para fórmulas, resultando na pesquisa em uma coleção ou objeto contendo todo o conteúdo de células dentro de um método 4D.

4D Netkit

Anexar um email com Gmail

4D 20 R5 traz uma nova funcionalidade que permite criar esboços de emails e salvá-los diretamente com etiquetas específicas em seu mailbox, sem enviá-los. Isso permite acessar e modificar facilmente seus modelos sempre que precisar enviar um email parecido.

PKCE para OAuth 2.0

4D 20 R5 agora inclui PKCE (Proof Key for Code Exchange) em autenticação OAuth 2.0. Ligando a configuração PKCEEnabled em cs.NetKit. Na classe OAuth2Provider, aumenta a segurança contra ataques de intercepção e reprodução. Essa funcionalidade adiciona proteção extra assegurando que cada código de autorização seja seguro por criptografia. 

autenticação OAuth2.0 usando um certificado

Em 4D 20 R5, Netkit agora é compatível com OAuth 2.0 autentificação baseada em certificado para maior segurança.

A autenticação é mais robusta quando se usa certificados ao invés de secretos de cliente, especialmente com servidores como o Microsoft Identity Platform.

Interface de usuário

personalização de aparência dos Apps com novos tipos de janelas

Dois novos tipos de janela permitem criar barras de título e seus próprios elementos, como botões ou uma barra de pesquisa. Isso significa liberdade para personalizar a aparência de sua aplicação.

Mas isso não é tudo, também introduzimos vários novos comandos criados para facilitar seu processo:

  • Reduzir uma janela na barra de títulos em Windows ou no dock em macOS, REDUCE RESTORE WINDOW
  • Saber se a janela está reduzida na barra de titulo em Windows ou no dock macOS, Is Window Reduced
  • Saber se a janela está maximizada, Is Window Maximized.

rede de comunicação melhorada (QUIC)

compatibilidade com IPv6 e Broadcast

Como QUIC (a rede futura entre 4D Remote e 4D Server) ainda está em desenvolvimento e não está pronta para produção, 4D 20 R5 adicionou mais funcionalidades; é hora de começar testando sua própria rede.

A funcionalidade broadcast permite que usuários facilmente identifiquem e conectem-se aos servidores 4D Servers rodando aplicações em sua rede, assegurando integração perfeita. Além disso, a funcionalidade broadcast foi refinada para oferecer listagem de servidores precisa, para que usuários se conectem a servidores relevantes

IPv6 também é compatível, o que significa que pode usar seu 4D Server em uma rede IPv6.

Visual Studio Code

verificar sintaxe no Workspace

Com 4D 20 R5 e a extensão 4D-Analyzer, Visual Studio Code oferece Verificação de sintaxe no workspace. Ajuda a reduzir erros e facilitar a codificação ao verificar o projeto 4D inteiro de uma vez. Erros e avisos são mostrados em uma barra lateral, tornando fácil encontrar e resolver os erros. 

download automático de Tool4D

Com a versão 0.2.0 da extensão 4D-Analyzer, ao invés da instalação manual da aplicação 4D, digitando sua rota nos parâmetros da extensão, a extensão baixa automaticamente uma versão de tool4d, e a armazena em um local do sistema, lançando-o no fundo. Essa simplificação ajuda o processo de iniciar e melhora o desenvolvimento com VS Code for 4D.

 

Codepaces do github 

Codespaces do GitHub simplificam desenvolvimento remoto ao permitir a edição de repositórios de qualquer parte com Visual Studio Code ou a aplicação Codespaces.

Com a integração de projetos 4D, desenvolvedores podem melhorar sua experiência de código com ferramentas como o 4D-Analyzer, que oferecem funcionalidades como ressaltar o código e autocompletar. Como visto acima, 4D-Analyzer baixa automaticamente e atualiza a versão da aplicação tool4d definida. 4D lançou uma versão dedicada, for GitHub para permitir isso no ambiente Codespace.

Quer saber mais? Leia todas as postagens do blog sobre 4D 20 R5