funcionalidades de Programação
assistência para REST e Qodly para Singletons
4D 20 R6 expande nas capacidades de singletons introduzidos no lançamento anterior. Agora, pode chamar funções diretamente que estão expostas por singletons partilhados através das REST APIs e eventos das páginas Qodly.
gerenciar suas petições HTTP com agentes HTTP
4D 20 R6 introduz agentes HTTP para ajudar a personalizar conexões aos servidores HTTP já que estes agentes HTTP gerenciam persistência de conexão e reusam petições HTTP.
Esta otimização evita a renegociação de conexões, especialmente as de segurança. Como padrão, todos os comandos HTTPRequest usam um agente básico que permite manter as conexões vivas. Mesmo assim, usuários podem criar agentes personalizados para conexões com sintonia fina, controlando o mecanismo de manutenção de conexão, estabelecer número máximo de conexões concorrentes, tempos máximos e configurações TLS/SSL no nível de agente.
login forçado virou o padrão para todos as autenticações REST
4D 20 R6 introduz o modo Force Login como o padrão para controlar o acesso à API REST. Essa funcionalidade, implementada via a função ds.authentify, melhora a segurança exigindo o login de credenciais para acesso à API. Novos projetos incluem automaticamente um arquivo roles.json com o atributo forceLogin estabelecido como True, sendo o padrão negar o acesso. Projetos existentes podem converter a este modo usando um novo botão no diálogo Structure Settings. Essa atualização simplifica a transição de métodos de controle de acesso legado e permite o gerenciamento preciso de acesso usando os Papéis de Qodly Studio e editor de Privilégios.
interação de componentes via namespaces declarados
4D 20 R6 introduz uma nova abordagem: componentes com namespaces declarados partilham automaticamente sua classe com todos os outros componentes dentro do mesmo projeto. Isso elimina a necessidade de configurações complexas e permite usar livremente classes de outros componentes diretamente em seu código.
comparação fácil de referências de objeto e coleções
4D 20 R6 facilita trabalhar com objetos em seu código! Introduz novos operadores de comparação (= e #) que permitem ver facilmente se dois objetos são o mesmo na memória. Isso ajuda principalmente quando lidar com referências de objeto.
acesso a armazenamento de sessão
Antes era difícil garantir que usuários tivessem a mesma experiência em diferentes partes de sua aplicação, tais como um app web ou app cliente-servidor. Isso porque a informação armazenada em uma sessão não era facilmente acessível para outras sessões.
4D 20 R6 resolveu isso com um novo comando, Session storage by id. Este comando permite acessar o armazenamento de qualquer sessão em sua aplicação, independente de se for uma sessão web, sessão de cliente-servidor ou uma sessão móvel.
Isso significa que pode facilmente armazenar informações necessárias que precisem ser partilhadas entre diferentes partes de sua aplicação. Por exemplo, pode armazenar um registro de cliente na sessão quando um usuário fizer login e então acessar o mesmo registro para o app web e o app cliente-servidor.
Permissões: inspecionar os privilégios de sessão para depuração fácil
4D 20 R6 fortaleceu a segurança de suas aplicações dando ao usuário mais controle sobre os dados!
Uma forma importante de proteger suas aplicações é controlar quais dados podem ser acessados pelos usuários. 4D 20 R6 faz isso mais fácil com o gerenciamento de privilégios de acesso.
ORDA
seleções de entidade sem espaços vazios
4D 20 R6 introduz uma nova função clean() para seleções de entidade, eliminando os espaços vazios que ficam depois de apagar uma entidade. Isso melhora a experiência de usuário, mantendo sua interface limpa e organizada.
Code Editor
personalizar avisos globais
Com os novos controles de aviso global, 4D 20 R6 torna mais fácil se focar nos problemas mais críticos de seu código. Avisos no seu código 4D ajudam a encontrar erros potenciais. Agem como uma rede de segurança, permitindo descobrir coisas antes que virem problemas. Entretanto, com projetos grandes ou complexos, podem surgir diversos avisos.
Isso pode ser cansativo e faz com que ter foco nos temas críticos seja mais difícil.
4D 20 R6 dá mais controle sobre os avisos que vai ver:
- Definições Globais: pode definir que avisos são exibidos no editor de código e compilador de diálogo. Isso permite esconder avisos que forem irrelevantes para seu projeto ou estilo de código.
- Mais flexibilidade: Mesmo se um tipo de aviso for exibido de acordo com os parâmetros estabelecidos, ainda é possível ativar e desativar um aviso localmente usando os controles legado //%W+ e //%W- .
4D Write Pro
gerenciar Datasources vazios
4D 20 R6 permite mais controle sobre a aparência de tabelas nos documentos, especialmente quando os dados linkados estão vazios. Isso é feito através do novo atributo wk empty datasource. Este atributo define como uma tabela se comporta quando for linkada à uma datasource vazia, dando opções para:
- Mostrar linha de dados (padrão)
- Ocultar a linha de dados
- Ocultar a tabela inteira
- Exibir uma linha de exemplo
área Web
Parâmetros para inicializar a área web integrada
4D 20 R6 faz com que seja mais fácil personalizar a área web embebida em sua aplicação! Essa área usa Chromium para navegação e desenvolvedores, às vezes, precisam se acostumar ao funcionamento de Chromium.
Anteriormente, isso exigia mudanças de código complexas. Agora, com 4D 20 R6, pode simplesmente criar um arquivo chamado “4DCEFParameters.json” e especificar as personalizações que queira naquele arquivo. Isso torna seu gerenciamento mais fácil e assegura que a personalização é aplicada corretamente.
Por exemplo, essa funcionalidade permite que vídeos toquem automaticamente na área web, o que não era possível antes.
4D Components
Integrando componentes 4d diretamente de GitHub
4D 20 R6 facilita o uso de componentes nos seus projetos 4D, especialmente se esses componentes forem armazenados em GitHub. Anteriormente, só podia usar o Component Manager com componentes armazenados em um drive local. Agora, com 4D 20 R6, é possível integrar os componentes diretamente dos repositórios GitHub.
4D Netkit
personalizar a interface de conexão OAuth 2.0
4D 20 R6 dá mais controle sobre como usuários farão login em sua aplicação com o OAuth 2.0.
Por padrão, o login de OAuth 2.0 abre um navegador para exibir a janela de interface. Mas e se quiser personalizar isso?
Com 4D 20 R6, pode usar o atributo browserAutoOpen para prevenir que abra a janela do navegador, permitindo que exiba a interface de login como quiser.
experiência usuário
melhoria no comportamento de rolagem para subformulários
4D 20 R6 deixa mais fácil interagir com seus subformulários com uma experiência mais suave para os usuários!
Já teve a experiência de tentar rolar através de uma lista em um subformulario, mas ao invés disso rolar o subformulário inteiro? Ou talvez tentou rolar o subformulário, mas a list box não se move?
4D 20 R6 resolve isso com um novo comportamento de scrolling para subformulário.
Quer saber mais? Leia todos os artigos no blog sobre 4D 20 R6