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 bottom, wk text wrap square, wk text wrap square left, wk 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