Nouveautés de 4D V17 R5

Cryptage

4D v17 R5 introduit un nouveau cryptage des données intégré pour vos bases de données 4D. Les données peuvent être cryptées via le code ou l’interface utilisateur, pour toutes les tables ou seulement certaines. Les outils de cryptage de 4D sont basés sur une phrase de passe. Elle est composée d’une phrase ou d’une combinaison de mots qui est utilisée pour générer une clé de chiffrement binaire afin de crypter les données avec l’algorithme AES. Pour pouvoir travailler avec un fichier de données crypté, la phrase de passe ou la clé de cryptage binaire est obligatoire.

Il est important de noter que si vous perdez la clé de cryptage, il n’y a PAS de solution de rechange. Les données seront verrouillées pour toujours !

Crypter via le MSC

Un nouvel attribut Encryptable est disponible pour les tables en mode conception. Il définit le statut de cryptage d’une table en indiquant qu’elle peut être cryptée. Une fois que vous êtes prêt à crypter vos données, la façon la plus simple de le faire est d’utiliser la nouvelle page Crypter du MSC. Cette page fournit toutes les fonctionnalités nécessaires pour contrôler le cryptage de vos données. Vous pouvez utiliser cette page pour crypter ou décrypter le fichier de données, ainsi que pour le re-crypter et/ou modifier votre phrase de passe.

Crypter avec les commandes 4D

En plus du MSC, 4D v17 R5 comprend un ensemble de commandes conçues pour prendre en charge la plupart des besoins en matière de cryptage. Par exemple, vous pouvez gérer le cryptage avec la commande Encrypt data file(), ou utiliser la commande provideDataKey() pour fournir la clé de cryptage des données à un fichier de données ouvert. Vous pouvez même utiliser la commande encryptionStatus() pour vérifier si le fichier de données ouvert est crypté ou non et si une clé de cryptage des données valide a été fournie. La liste complète des commandes est disponible dans le centre de documentation.

4D pour iOS – Aperçu

Actions

Les actions sont maintenant disponibles avec 4D pour iOS et vous permettent d’avoir plus d’interactivité avec votre application mobile. Ces actions permettent à vos utilisateurs de définir des tâches comme étant terminées ou achevées ou de marquer des événements à vérifier, d’un simple glissement de doigt ou en sélectionnant une action dans un menu. Une nouvelle méthode de base de données On Mobile App Action est disponible et vous permet de déclarer toutes vos actions. En outre, une section Action a été ajoutée dans l’éditeur de projet afin que vous puissiez définir vos éléments d’action (nom, icône, étiquettes courtes/longues, tableaux et portée).

Synchronisation incrémentale des données

Avec 4D v17 R5, 4D pour iOS inclut la synchronisation incrémentale des données. Cela signifie qu’au lieu d’envoyer continuellement l’ensemble des données à un appareil, 4D garde désormais automatiquement la trace des enregistrements mis à jour ou supprimés et ne met à jour que ces données sur l’appareil. De plus, vos données ne sont pas seulement mises à jour à chaque fois que vous lancez votre application, mais aussi à chaque fois que votre application passe au premier plan ou en réponse à une action de l’utilisateur.

Relations N à un

Dans 4D v17 R5, 4D pour iOS prend en charge les relations de N à un. Vous pouvez utiliser des noms de relations descriptifs et simplifier la définition de la structure de votre projet. Modifiez les noms courts et longs d’un champ lié, choisissez son icône et appliquez des requêtes sur ce champ.

Envoi de courriers électroniques

Consignation des conversations SMTP

4D v17 R5 offre une nouvelle fonctionnalité pour la journalisation des courriers électroniques : la commande SMTP New transporter. Elle crée une connexion entre un serveur SMTP (tel que exchange ou gmail) et le client, et enregistre – en texte clair et non crypté – toutes leurs communications. Une nouvelle propriété logFile est disponible, contenant le chemin complet du fichier journal défini pour la connexion SMTP. Le fichier peut être produit en deux versions : Une version standard et une version étendue. Les deux versions peuvent être déclenchées par la commande SET DATABASE PARAMETER.

En-têtes de courrier personnalisés

4D v17 R5 fournit cinq nouveaux en-têtes prédéfinis directement via l’objet mail :

  • messageId: Identifiant unique du message qui fait référence à une version spécifique du message.
  • inReplyTo: Identificateur de message du message original auquel le message actuel est une réponse.
  • references: Collection d’identifiants d’autres messages auxquels le message actuel peut être lié.
  • keywords: Objet contenant des mots et des phrases importants qui pourraient être utiles au destinataire.
  • commentaires: Contient tout commentaire supplémentaire sur le texte du corps du message.

Si vous avez besoin d’autres en-têtes, utilisez la collection d’en-têtes pour ajouter un en-tête SMTP spécifique à votre courriel.

Prise en charge des anciens jeux de caractères

Avec 4D v17 R5, vous pouvez utiliser les anciens encodages pour envoyer des e-mails : ISO-2022-JP pour le japonais ou ISO-8859-1 pour l’Europe occidentale. La commande SMTP New transporter accepte de nouveaux paramètres qui vous permettent de spécifier le type d’encodage que vous souhaitez utiliser dans votre en-tête ou votre corps.

ORDA

Des caractères de remplacement nommés pour les valeurs

4D v17 R5 facilite l’écriture de requêtes ORDA génériques grâce à des caractères de remplacement nommés pour les valeurs. Ces caractères de remplacement sont fournis en tant que paramètres d’objet dans les paramètres de la requête et sont remplacés par une autre valeur lorsque la chaîne de requête est évaluée.

Caractères de remplacement nommés pour les chemins d’accès aux attributs

Vous pouvez également utiliser des caractères de remplacement pour les chemins d’accès aux attributs (noms de champs dans les tables). Deux types sont disponibles : Indexés – insérés par :paramIndex(par exemple :1, :2,… avec un incrément de 1) dans la chaîne de requête et leurs valeurs correspondantes sont fournies par la séquence de paramètre(s) de valeur, et Nommés – insérés par :paramName et leurs valeurs sont fournies dans les objets attributs ou paramètres dans la chaîne de requête.

Optimisation des performances en mode client/serveur

L’accès aux grandes tables (en particulier celles avec des relations) en mode Client/Serveur en utilisant ORDA a été grandement amélioré dans 4D v17 R5. Lorsque vous utilisez des sélections d’entités dans des boîtes de liste ou dans des boucles de code(par exemple, While ou For each), les champs utilisés seront automatiquement analysés pour optimiser le transfert réseau. Vous constaterez une amélioration des performances de 2 à 3 fois en LAN et jusqu’à 30 fois en WAN (en fonction du réseau et de la taille des enregistrements). Et le meilleur de tous – il n’y a pas besoin de changer quoi que ce soit dans votre code, tout est automatique.

Améliorations significatives

Amélioration des performances

Dans les serveurs fortement utilisés (par exemple, de nombreux utilisateurs ou processus parallèles accèdent aux enregistrements, tandis que d’autres utilisateurs modifient/créent des enregistrements de la même table), un mécanisme de verrouillage interne amélioré peut améliorer considérablement les performances. Cela peut conduire à des vitesses significativement plus rapides (4-8xs) avec une utilisation plus élevée du CPU, car les threads passent moins de temps à attendre des microverrous.

Mise à jour des librairies

Parce que 4D v17 R5 est uniquement 64-bit, plusieurs bibliothèques ont été mises à jour : Hunspell v.1.7.0 (correcteur orthographique), PHP v7.3.1, CEF 3626 (Chrome Foundation, zone web interne), OpenSSL v1.1.1 (permettant le support de TLS 1.3), et ICU 63.1 (nouvelles versions Unicode. Cette mise à jour entraînera une réindexation automatique des champs texte, alpha et objet).

Instances multi-clients

Avec 4D v17 R5, vous pouvez exécuter plusieurs clients sur le même ordinateur et les connecter simultanément au même serveur 4D. Chaque connexion client comprend désormais un dossier de cache distinct contenant l’adresse IP de la connexion, le port et un code de hachage. Grâce à cela, vous pouvez également connecter plusieurs clients d’une même machine à plusieurs serveurs sur des machines différentes. Aucune configuration n’est nécessaire.

Amélioration de l’interface utilisateur dans Quick Report

L’interface utilisateur du rapport rapide a été améliorée avec un bouton« Enregistrer / Enregistrer sous » et une infobulle. Le choix de« Enregistrer » permet de sauvegarder votre travail en mettant à jour la dernière version enregistrée du fichier pour qu’elle corresponde à la version sur votre écran. Le choix de« Enregistrer sous » vous invite à enregistrer votre travail dans un fichier portant un nom différent. L’ajout d’une info-bulle vous permet de visualiser le sens du tri : ascendant ou descendant.

Langage 4D

Lire les champs des objets 4D avec le moteur SQL

Le moteur SQL de 4D v17 R5 a été mis à jour pour permettre la lecture des champs d’objets 4D. Pour parcourir le contenu d’un champ d’objet, la fonction SQL CAST a été étendue pour retourner une représentation JSON du champ.

Notation objet pour gérer les fichiers et les dossiers

4D v17 R5 fournit des commandes pour gérer les fichiers et les dossiers via la notation objet. Une nouvelle commande Dossier a été ajoutée, qui vous permet de créer un objet dossier à partir d’une constante, d’un chemin POSIX ou d’un chemin de plate-forme. L’objet dossier possède des propriétés(par exemple, name, modificationDate, modificationTime) et des méthodes( par exemple, create(), moveTo(), rename(), delete()) qui permettent la création et la manipulation de dossiers. Comme pour les dossiers, la commande File est disponible pour manipuler les fichiers. Le nouvel objet file permet d’accéder aux attributs des fichiers et de les manipuler. Vous pouvez utiliser les méthodes de fichier pour écrire et lire le contenu d’un fichier, le déplacer, le supprimer, etc.

Plus d’informations sur les processus web

De nouvelles informations sur l’URL utilisée par les processus web sont disponibles avec 4D v17 R5. Ces informations peuvent être récupérées de deux manières : via la fenêtre d’administration du serveur 4D ou via le langage 4D avec la commande Get process activity ; un nouvel attribut « url » est ajouté à l’objet processus lorsque le type de processus est un processus web.

Définir un nom alternatif pour le compte utilisateur 4D

Une nouvelle commande est disponible pour définir un nom personnalisé à utiliser à la place du nom actuel du compte utilisateur 4D : SET USER ALIAS. Elle accepte une chaîne de caractères comme paramètre. Cette chaîne (alias) remplacera le nom d’utilisateur 4D dans l’environnement 4D. Cette commande ne peut être appelée qu’à partir des applications 4D distantes ou 4D mono-utilisateur, et non sur 4D Server. Un alias permet d’utiliser votre propre système d’utilisateur/mot de passe, ou un répertoire d’utilisateurs externe tel qu’Active Directory ou LDAP, tout en bénéficiant de tous les concepts d’identification des utilisateurs intégrés à 4D.

Amélioration du journal de débogage

Avec 4D v17 R5, la commande SET DATABASE PARAMETER est améliorée pour permettre la journalisation de processus spécifiques, ainsi que des appels aux méthodes membres (méthodes de collection ou d’objet). Un nouveau sélecteur est disponible(Current process debug log recording) qui lance la journalisation de débogage du processus en cours et crée un fichier nommé « 4DDebugLog_pX_Y.txt » dans le dossier 4D logs (où X est le PID du processus et Y le numéro du fichier de séquence). Pour enregistrer les méthodes des membres, utilisez les sélecteurs Debug log recording ou Current process debug log recording qui acceptent une nouvelle option avec la valeur 32.

4D Write Pro

Liens vers les méthodes 4D

4D v17 R5 comprend une nouvelle commande, WP SET LINK. Elle vous permet de définir des URL, et vous donne également la possibilité d’invoquer une méthode depuis votre application 4D (avec des paramètres) ou de cibler des signets depuis votre document. La nouvelle commande WP Get links renvoie une collection de tous les liens d’un document, en un seul appel. Chaque lien de la collection est un objet avec une description du lien dans ses attributs.

Paramètres des onglets

A partir de 4D v17 R5, les onglets peuvent être définis avec une collection de chaînes de caractères, de valeurs numériques, ou même une collection d’objets ! Si vous avez seulement besoin de modifier les valeurs par défaut des onglets, vous pouvez utiliser un objet avec la nouvelle constante wk tab default (ajoutée spécifiquement à cet effet).

Manipuler les propriétés de la vue par programmation

Avec 4D v17 R5, vous pouvez manipuler les propriétés de la vue par programmation. La commandeWPSET VIEW PROPERTIES permet de définir dynamiquement une ou plusieurs propriétés de vue de la zone 4D Write Pro. Les paramètres peuvent être retournés dans un objet avec toutes les propriétés de vue via la commande WP Get view properties.

Plus de cibles et de commandes renommées

Les commandes énumérées ci-dessous ont été étendues dans 4D v17R5 pour accepter n’importe quel type de cible comme premier paramètre. Elles peuvent toujours utiliser une plage, mais maintenant elles peuvent également utiliser une référence (en-tête, corps, pied de page), un élément (image, paragraphe), ou le document entier comme cible :

  • WP SET TEXT
  • WP INSERT BREAK
  • WP INSERT DOCUMENT
  • WP INSERT PICTURE
  • WP Insert table
  • WP SET ATTRIBUTES
  • WP GET ATTRIBUTES

En outre, plusieurs commandes ont été renommées :

Ancien nom Nouveau nom
WP Create Paragraph range WP Paragraph range
WP Create Picture range Gamme d’images WP
WP Create range Gamme de texte WP
WP Create Table range Gamme WP Table
Gamme WP Get bookmark WP Bookmark range
WP Get selection WP Selection range

4D View Pro

Barre d’outils en forme de ruban

4D v17 R5 propose une puissante barre d’outils en forme de ruban pour améliorer l’interface utilisateur de 4D View Pro. Elle vous permet d’organiser les fonctionnalités de 4D View Pro en un ensemble d’onglets, afin d’accroître la facilité de découverte des fonctions et de permettre un accès rapide aux différentes commandes. Il convient de mentionner que cette barre d’outils introduit également de nouvelles fonctions telles que les options d’exportation PDF et CSV.

Gestion des sélections et de la cellule active

Avec 4D v17 R5, nous incluons un ensemble de commandes pour vous aider à définir et obtenir la cellule active ou la ou les sélections dans vos documents :

  • VP Get active cell
  • VP Get selection
  • VP SET ACTIVE CELL
  • VP SET SELECTION
  • VP ADD SELECTION
  • VP RESET SELECTION

Et si vous souhaitez visualiser une cellule dans une position spécifique de votre zone 4D View Pro(par exemple, en haut à gauche ou en bas à droite), vous pouvez utiliser la commande VP SHOW CELL .

Vous voulez en savoir plus ? Lire tous les articles de blog sur 4D v17 R5