LES NOUVEAUTÉS DE 4D 20 R5

4D Write Pro 

ENVELOPPER les images et les zones de texte avec du texte.

Avec 4D 20 R5, les images et les zones de texte offrent désormais la possibilité d’envelopper du texte, ce qui apporte une grande souplesse dans la conception de la mise en page des documents. Grâce aux nouveaux modes d’ancrage, les utilisateurs peuvent envelopper du texte autour des images et des zones de texte, créant ainsi des documents visuellement attrayants sans contraintes.

L’interface de 4D Write Pro a été améliorée pour vous permettre de choisir comment vous voulez afficher les images et les zones de texte. De nouvelles valeurs pour l’action standard image/anchorLayout et textBox/anchorLayout sont disponibles. Vous pouvez également ajuster ces paramètres par programmation en utilisant les nouveaux attributs : wk text wrap top bottomwk text wrap squarewk text wrap square leftwk text wrap square right, et wk text wrap square largest.

En prime, cette fonctionnalité est prise en compte lors de l’exportation vers SVG, PDF et HTML (en fonction du mode incorporé) et lors de l’importation et de l’exportation vers Word.

Traiter les sections à partir de l’interface

4D 20 R5 vous permet de gérer les coupures de section via l’interface d’utilisation.

La mise à jour de l’interface introduit des menus accessibles par deux boutons, permettant aux utilisateurs d’insérer des coupures de section (comme auparavant) et d’accéder à des options pour différentes pages. Cela permet de personnaliser facilement les sections, comme distinguer la première page des suivantes ou différencier les pages de droite et de gauche directement à partir de l’interface. En outre, le nouveau menu permet de supprimer les en-têtes et les pieds de page des sections et des sous-sections.

Remplir les tables avec un nombre illimité de lignes et de colonnes

4D 20 R5 supprime la limite de 1000 lignes.

Cette limite n’est plus fixe et contrôlée par 4D Write Pro mais est uniquement limitée par la mémoire disponible. Il est désormais possible d’associer des sources de données à des tables, ce qui permet de les remplir automatiquement et sans contraintes.

wk page size pour la taille du document

4D 20 R5 introduit un nouvel attribut de document pour 4D Write Pro : wk page size. Cette fonctionnalité pratique vous permet de définir la largeur et la hauteur du document en une seule étape. Quelle que soit votre imprimante actuelle, vous pouvez choisir parmi des formats d’imprimante prédéfinis, des formats personnalisés créés par l’utilisateur, ou même des formats ISO standard (A0-C10, DL, Legal, etc.). Cela simplifie la définition des tailles de document pour différents besoins, ce qui vous permet de gagner du temps et d’économiser du code !

 

ORDA

Restriction des données sur les sélections d’entités

4D 20 R5 améliore la restriction des données sur les sélections d’entités en simplifiant la mise en œuvre des filtres, en garantissant une recherche de données plus précise adaptée à des critères spécifiques et aux interactions des utilisateurs, et en sécurisant l’accès aux données grâce à des requêtes raffinées et à des restrictions de sélection.

Il permet aux développeurs 4D d’appliquer des filtres commerciaux aux données lues à partir de classes de données désignées. Les développeurs Web peuvent filtrer les données extraites en fonction de l’utilisateur ou d’autres informations pertinentes stockées dans les sessions Web. Les développeurs Qodly peuvent filtrer les données lues en fonction des utilisateurs finaux qui interagissent avec l’application.

REST

Utilisation améliorée des licences du client 4D

4D 20 R5 introduit une nouvelle fonctionnalité pour vos API REST appelée Force Login. Ce mode garantit que personne ne peut accéder à vos données sans avoir été correctement authentifié, en exigeant une authentification réussie avant que toute donnée puisse être visualisée ou manipulée via les API REST. En outre, cette fonction garantit qu’aucune licence 4D Client n’est utilisée tant que l’authentification n’est pas réussie.

FONCTIONNALITÉS RELATIVES À LA PROGRAMMATION

Introduction des blocs Try-Catch

Après avoir implémenté la commande throw() et introduit le mot-clé Try(Expression), 4D 20 R5 est livré avec la dernière évolution du système de gestion des erreurs de 4D : les blocs de code Try-Catch !

Les développeurs peuvent gérer et localiser les erreurs avec précision en encapsulant le code dans les mots-clés Try, Catch et End try. Si une erreur survient, le bloc Catch s’exécute pour la gérer de manière appropriée.

Les classes partagées

4D 20 R5 introduit les classes partagées, ce qui facilite le travail avec des objets partagés.

Les classes partagées simplifient le processus de création et d’utilisation d’objets partagés en gérant automatiquement la configuration nécessaire. En ajoutant le mot-clé “shared” (partagées) au constructeur ou à la fonction d’une classe, vous indiquez qu’elle créera ou modifiera des objets partagés.

Singleton 4D

4D 20 R5 introduit une fonctionnalité extrêmement utile : les singletons, qui sont des objets accessibles dans l’ensemble de votre application. Ils offrent une multitude de fonctionnalités, servant d’hôtes pour les valeurs interprocessus et les classes utilitaires, et même d’éléments fondamentaux pour les modèles de conception tels que le modèle d’usine.

Ils sont de deux types :

  • des singletons réguliers, uniques par processus,
  • et des singletons partagés, qui sont propres à l’ensemble de l’application.

Les définir est simple. Ajoutez “singleton” au constructeur de la classe. Ensuite, vous pouvez facilement accéder à vos singletons en utilisant l’attribut “me”.

 

Déclaration et initialisation des propriétés rationalisées

4D 20 R5 introduit une nouvelle fonctionnalité qui rationalise la déclaration des propriétés, permettant aux développeurs d’initialiser les propriétés en même temps que leur déclaration sur une seule ligne. Cette amélioration simplifie la lisibilité et l’efficacité du code, en réduisant le besoin de blocs d’initialisation séparés. Les développeurs peuvent créer des bases de code plus propres et plus faciles à maintenir grâce aux options de types déduits ou de types déclarés et d’initialisation.

Nouvel objet 4D de session à distance avec connexion Client/Serveur

4D 20 R5 introduit une fonctionnalité étendue à la commande Session, couvrant les connexions Client/Serveur et les procédures stockées, ainsi que les sessions Web et mobiles existantes dans les applications 4D. Cette mise à jour introduit une nouvelle classe, ‘ClientServerSession’, conçue spécifiquement pour les sessions 4D Remote, offrant les propriétés suivantes : ID, info, storage et userName.

Gestion simplifiée des paquets

4D 20 R5 apporte une fonctionnalité qui simplifie la gestion des paquets : Package Manager. Il n’est plus nécessaire de stocker les composants d’un projet dans un dossier Components. Cette fonctionnalité utilise les fichiers dependencies.json et environment4d.json, ce qui permet aux développeurs d’avoir une vision plus claire des dépendances de leurs applications et de personnaliser les chemins d’accès aux composants.

En outre, vous pouvez désormais accéder aux composants de 4D et du dossier Components du projet via un nouvel écran dans le menu Design sous Project Dependencies (dépendances du projet). Bientôt, vous pourrez également ajouter et gérer des dépendances directement à partir de cette interface, ainsi que d’autres fonctionnalités du gestionnaire de paquets.

 

4D Project

Amélioration de la gestion des catalogues dans les systèmes de contrôle des versions

Grâce à vos retours nous avons considérablement amélioré la configuration de nos projets 4D.

Auparavant, tous les détails du projet, comme les couleurs et les positions des tables, des champs et des relations, étaient stockés dans catalog.4DCatalog. Maintenant, nous avons séparé ces informations dans un fichier distinct appelé catalog_editor.json.

Cela facilite la gestion des modifications et la révision du travail, particulièrement lorsque plusieurs développeurs sont impliqués. Grâce à cette modification, le fichier de catalogue reste intact lorsque quelqu’un modifie une table ou un champ.

Cela permet d’éviter les conflits et de simplifier l’examen des modifications. De plus, nous avons ajouté une option permettant de basculer vers cette nouvelle configuration pour les anciens projets. Si vous activez accidentellement cette fonctionnalité, ne vous inquiétez pas ! Vous pouvez facilement l’annuler en rétablissant l’ancienne configuration.

4D View Pro

Amélioration des fonctions personnalisées

4D 20 R5 permet d’effectuer des calculs personnalisés sur le contenu des colonnes ou des lignes d’une feuille de calcul sans connaître au préalable le nombre de cellules concernées. Ceci est rendu possible en autorisant le passage de plusieurs plages de cellules ou d’objets à des formules personnalisées, ce qui permet de récupérer une collection ou un objet contenant tout le contenu des cellules dans une méthode 4D.

4D Netkit

Ajouter un email avec Gmail

4D 20 R5 apporte une nouvelle fonctionnalité qui vous permet de créer des emails en brouillon et de les enregistrer directement sur des étiquettes désignées dans votre mailbox sans les envoyer. Cela vous permet d’accéder facilement à vos modèles et de les modifier chaque fois que vous avez besoin d’envoyer un email similaire.

PKCE pour OAuth 2.0

4D 20 R5 inclut désormais le PKCE (Proof Key for Code Exchange) dans l’authentification OAuth 2.0. En activant le paramètre PKCEEnabled dans dans cs.NetKit.In la classe OAuth2Provider, vous augmentez la sécurité contre les attaques d’interception et de rejeu. Cette fonctionnalité ajoute une protection supplémentaire en s’assurant que chaque échange de code d’autorisation est cryptographiquement sécurisé.

Authentification OAuth2.0 avec certificat

Avec 4D 20 R5, Netkit supporte désormais l’authentification OAuth 2.0 basée sur des certificats pour une sécurité renforcée.

L’authentification devient plus robuste en utilisant des certificats au lieu des secrets du client, en particulier avec des serveurs tels que Microsoft Identity Platform.

L’interface utilisateur

Personnaliser l’apparence de l’application avec des nouveaux types de fenêtres

Deux nouveaux types de fenêtres vous permettent de concevoir vous-même la barre de titre de la fenêtre et d’ajouter vos propres éléments, tels que des boutons ou une boîte de recherche. Vous avez ainsi toute liberté pour adapter l’apparence de votre application à vos spécifications.

Mais ce n’est pas tout ! Nous avons également introduit plusieurs nouvelles commandes conçues pour rationaliser votre processus de développement :

  • Réduire une fenêtre dans la barre de titre sous Windows ou dans le dock sous macOS, REDUCE RESTORE WINDOW.
  • Savoir si la fenêtre est réduite dans la barre de titre sous Windows ou dans le dock sous macOS, Is Window Reduced.
  • Pour savoir si la fenêtre est maximisée, Is Window Maximized.

Meilleure communication en réseau (QUIC)

Prise en charge de l’IPv6 et du Broadcast

Alors que QUIC (le futur système de réseau entre 4D Remote et 4D Server) est encore en développement et n’est pas encore prêt pour la production, 4D 20 R5 ajoute davantage de fonctionnalités ; il est temps de commencer à le tester dans votre propre réseau.

La fonctionnalité broadcast permet aux utilisateurs d’identifier facilement les serveurs 4D exécutant des applications sur leur réseau et de s’y connecter, garantissant ainsi une intégration transparente. De plus, En outre, la fonctionnalité broadcast a été améliorée pour fournir des listes de serveurs plus précises, garantissant ainsi que les utilisateurs ne se connectent qu’aux serveurs pertinents.

En outre, IPv6 est également pris en charge, ce qui signifie que vous pouvez utiliser votre serveur 4D sur un réseau IPv6.

                                                                                                                   Lire la documentation >

Visual Studio Code

Contrôle de la syntaxe du Workspace

Avec 4D 20 R5 et l’extension 4D-Analyzer, Visual Studio Code propose désormais la vérification syntaxique du workspace. Ce contrôle permet de réduire les erreurs et de rationaliser le codage en vérifiant les erreurs dans l’ensemble du projet 4D. Les erreurs et les avertissements sont affichés dans une barre latérale, ce qui facilite le repérage et la résolution des problèmes.

Téléchargement automatique de Tool4D

Avec la version 0.2.0 de l’extension 4D-Analyzer, plutôt que d’installer manuellement une application 4D et d’entrer son chemin dans les paramètres de l’extension, l’extension télécharge automatiquement une version de tool4d, la stocke dans un emplacement sur le système et la lance en arrière-plan. Cette simplification vise à rationaliser le processus de démarrage et à améliorer le développement avec VS Code pour 4D.

 

Codepaces GitHub

Les Codespaces de GitHub simplifient le développement à distance en permettant l’édition de répertoires depuis n’importe où via Visual Studio Code ou l’application Codespaces.

Avec l’intégration des projets 4D, les développeurs peuvent améliorer leur expérience de codage grâce à des outils tels que 4D-Analyzer, qui offre des fonctionnalités telles que la mise en évidence du code et l’auto-complétion. Comme indiqué plus haut, 4D-Analyzer télécharge et met à jour automatiquement la version de l’application tool4d que vous avez définie. 4D a publié une version dédiée, tool4d, pour GitHub afin de permettre cette opération dans un environnement Codespace.

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