LES NOUVEAUTÉS DE 4D 20 R6

FONCTIONNALITÉS RELATIVES À LA PROGRAMMATION

Support REST et Qodly des singletons

4D 20 R6 développe les singletons introduits dans la version précédente. Désormais, vous pouvez appeler directement les fonctions exposées par les singletons partagés à travers les API REST et les événements des pages Qodly.


Gérer vos requêtes HTTP avec des agents HTTP

4D 20 R6 introduit des agents HTTP pour aider à personnaliser les connexions aux serveurs HTTP, car ces agents HTTP gèrent la persistance et la réutilisation des connexions pour les requêtes HTTP.

Cette optimisation permet d’éviter les surcoûts liés à la renégociation des connexions, en particulier des connexions sécurisées, pour chaque requête. Par défaut, toutes les commandes HTTPRequest utilisent un agent de base qui maintient les connexions en vie. Toutefois, les utilisateurs peuvent créer des agents personnalisés pour affiner les connexions, contrôler le mécanisme de maintien en vie, définir le nombre maximal de connexions simultanées, ajouter des délais d’attente et configurer les paramètres TLS/SSL au niveau de l’agent.

Force Login devient la valeur par défaut pour toutes les authentifications REST

4D 20 R6 introduit le mode “Force Login” comme comportement par défaut pour contrôler l’accès à l’API REST. Cette fonctionnalité, mise en œuvre via la fonction ds.authentify, renforce la sécurité en exigeant des identifiants de connexion pour l’accès à l’API. Les nouveaux projets incluent automatiquement un fichier roles.json dont l’attribut forceLogin est défini en True, ce qui interdit l’accès par défaut. Les projets existants peuvent être convertis à ce mode à l’aide d’un nouveau bouton dans la boîte de dialogue Structure Settings. Cette mise à jour simplifie la transition depuis les méthodes legacy du contrôle d’accès et permet une gestion fine des accès en utilisant l’éditeur de rôles et privilèges de Qodly Studio.

Interaction des composants via les Namespaces déclarés

4D 20 R6 introduit une nouvelle approche : les composants avec des namespaces déclarés partagent automatiquement leurs classes avec tous les autres composants au sein du même projet. Cela élimine le besoin de configurations complexes et vous permet d’utiliser librement les classes d’autres composants directement dans votre code.

Comparaison facile des objets et des collections

4D 20 R6 facilite grandement le travail avec les objets dans votre code ! De nouveaux opérateurs de comparaison (= et #) ont été introduits pour vous permettre de vérifier rapidement si deux objets sont identiques en mémoire. Ceci est particulièrement utile lorsque vous traitez avec des références d’objets.

Accès amélioré au stockage des sessions

Auparavant, il était difficile de s’assurer que les utilisateurs avaient la même expérience dans les différentes parties de votre application, par exemple une application web et une application client/serveur. Ceci était dû au fait que les informations stockées dans une session n’étaient pas facilement accessibles aux autres sessions.

4D 20 R6 corrige ce problème grâce à une nouvelle commande, Session storage by id. Cette commande vous permet d’accéder au stockage de n’importe quelle session de votre application, qu’il s’agisse d’une session web, d’une session client/serveur ou d’une session mobile.

Cela signifie que vous pouvez désormais facilement stocker des informations qui doivent être partagées entre différentes parties de votre application. Par exemple, vous pouvez stocker un enregistrement de client dans la session lorsqu’un utilisateur se connecte, puis accéder à ce même enregistrement à partir de l’application web et de l’application client/serveur.

Permissions : Inspecter les privilèges de la session pour faciliter le débogage

4D 20 R6 renforce la sécurité de vos applications en vous donnant plus de contrôle sur l’accès des utilisateurs aux données !

Une des manières importantes pour protéger vos applications est de contrôler les données auxquelles les utilisateurs peuvent accéder. 4D 20 R6 facilite cette tâche en améliorant la gestion des privilèges.

ORDA

Plus d’espaces vides dans vos sélections d’entités

4D 20 R6 introduit une nouvelle fonction clean() pour les sélections d’entités, éliminant l’encombrement des espaces vides après la suppression d’entités. Cela améliore l’expérience de l’utilisateur en gardant l’interface propre et organisée.

Éditeur de code

Personnaliser l’affichage global des avertissements

Grâce à de nouvelles commandes de contrôle global des avertissements, 4D 20 R6 permet de se concentrer plus facilement sur les problèmes les plus critiques de votre code. Les avertissements dans votre code 4D peuvent vous aider à détecter des erreurs potentielles. Ils agissent comme un filet de sécurité, en vous informant des éléments susceptibles de poser des problèmes ultérieurement. Toutefois, dans le cas de projets complexes ou de grande taille, il se peut que vous receviez un grand nombre d’avertissements.

Cette situation peut être accablante et empêcher de se concentrer sur les questions les plus importantes.

4D 20 R6 vous permet de mieux contrôler les avertissements que vous voyez :

  • Définitions globales des avertissements : Vous pouvez désormais définir les avertissements à afficher globalement dans l’éditeur de code et la boîte de dialogue du compilateur. Vous pouvez ainsi masquer les avertissements qui ne sont pas pertinents pour votre projet ou votre style de codage.
  • Plus de souplesse : Même si un type d’avertissement est affiché ou masqué en fonction des paramètres définis, il est toujours possible d’activer et de désactiver la vérification d’un type d’avertissement localement dans le code à l’aide des commutateurs legacy //%W+ et //%W- .

4D Write Pro 

Gérer les sources de données vides

4D 20 R6 permet plus de contrôle sur l’apparence des tableaux dans vos documents, en particulier lorsque les données auxquelles ils sont liés sont vides. Cela est possible grâce au nouvel attribut wk empty datasource. Cet attribut définit le comportement d’un tableau lorsque la source de données à laquelle il est lié est vide, offrant des options pour :

  • Afficher la ligne de données (par défaut)
  • Masquer la ligne de données
  • Masquer la table
  • Afficher la ligne de remplacement

Zone web

Paramètres personnalisés pour l’initialisation d’une zone Web embarquée

4D 20 R6 facilite la personnalisation de la zone web embarquée dans vos applications ! Cette zone utilise Chromium pour la navigation, et les développeurs doivent parfois ajuster le fonctionnement de Chromium.

Auparavant, cela nécessitait des modifications de code complexes. Désormais, avec 4D 20 R6, vous pouvez simplement créer un fichier nommé “4DCEFParameters.json” et spécifier les personnalisations que vous souhaitez dans ce fichier. Cela facilite grandement la gestion et garantit que vos personnalisations sont appliquées correctement.

Par exemple, cette fonctionnalité permet de lire automatiquement des vidéos dans votre zone web, ce qui n’était pas possible auparavant.

COMPOSANTS 4D

Intégrer des composants 4D directement depuis GitHub

4D 20 R6 rend l’utilisation des composants dans vos projets 4D encore plus facile, particulièrement si ces composants sont stockés sur GitHub. Auparavant, vous ne pouviez utiliser le Component Manager qu’avec des composants stockés sur un disque local. Désormais, avec 4D 20 R6, vous pouvez intégrer directement des composants provenant de dépôts GitHub.

4D Netkit

Personnalisation de l’interface de connexion OAuth 2.0

4D 20 R6 vous donne plus de contrôle sur la manière dont les utilisateurs se connectent avec OAuth 2.0 dans votre application.

Par défaut, les connexions OAuth 2.0 ouvrent une fenêtre de navigateur web pour afficher l’interface de connexion. Mais que faire si vous souhaitez personnaliser cette expérience ?

Avec 4D 20 R6, vous pouvez utiliser l’attribut browserAutoOpen pour empêcher l’ouverture automatique d’une fenêtre de navigateur web. Cela vous permet d’afficher l’interface de connexion où vous le souhaitez dans votre application.

Expérience utilisateur

Amélioration du comportement de défilement dans les sous-formulaires

4D 20 R6 rend le travail avec les sous-formulaires dans vos applications beaucoup plus fluide et intuitif pour les utilisateurs !

Vous est-il déjà arrivé d’être frustré en essayant de faire défiler une liste dans un sous-formulaire, et de voir l’ensemble du sous-formulaire se déplacer à la place ? Ou peut-être avez-vous essayé de faire défiler le sous-formulaire, mais la zone de liste ne bouge pas ?

4D 20 R6 corrige ce problème grâce à un nouveau comportement amélioré de défilement des sous-formulaires.

Vous voulez en savoir plus ? Consultez tous les articles de blog sur 4D 20 R6