Nouveautés de la version 4D v16 R5

Récupérer les nouveautés des précédentes versions de la R>>.

Sécurité

Sécurité améliorée pour le serveur 4D

4D prend en charge Transport Layer Security (TLS v1.0, TLS v1.1 et TLS v1.2) pour permettre des communications cryptées entre clients et serveurs. À partir de 4D v16 R5, la version minimale prise en charge par défaut est TLS v1.2, les versions plus anciennes seront rejetées car elles pourraient être non sécurisées. Pour augmenter la sécurité de votre serveur 4D, il suffit de passer à la version 4D v16 R5. Aucune modification n’est nécessaire pour vos pages et méthodes web, il en va de même pour vos applications client-serveur.

Mais si vous souhaitez prendre en charge des navigateurs (ou outils) plus anciens qui ne supportent pas TLS v1.2, vous pouvez diminuer le niveau de sécurité avec le nouveau sélecteur de version Min TLS pour les commandes Get database parameter et SET DATABASE PARAMETER.

Commande Generate Digest et support SHA-2

Les fonctions digest sont pratiques lorsqu’il s’agit de vérifier l’intégrité des données lors d’échanges ou de comparaisons de données. La commande Generate digest a été améliorée pour prendre en charge SHA-2. Elle prend en charge deux nouveaux algorithmes de la famille SHA-2 : SHA-256 et SHA-512. La syntaxe reste la même, mais inclut désormais deux nouvelles constantes : SHA256 digest et SHA512 digest.

Vérification du hachage et du mot de passe pour la connexion des utilisateurs Web

Le mécanisme de hachage est un moyen idéal pour stocker les mots de passe. Deux nouvelles commandes ont été créées pour générer et vérifier les mots de passe hachés : Generate password hash et Verify password hash. Toutes deux sont basées sur l’algorithme bcrypt, qui est lent par conception. Ainsi, les attaques par force brute sont plus lentes et les impacts sont minimisés.

Autres commandes pour les processus préemptifs

L’exécution de vos méthodes dans des processus préemptifs signifie que vos applications sont plus rapides et peuvent prendre en charge un plus grand nombre d’utilisateurs connectés. Avec 4D v16 R5, plus de vingt commandes existantes ont été enrichies pour pouvoir être utilisées dans des processus préemptifs. N’oubliez pas que, par défaut, les méthodes de projet sont exécutées en mode coopératif. Par conséquent, si vous souhaitez passer à un mode préemptif, vous devez cocher l’option « peut être exécuté en mode préemptif » de la propriété Mode d’exécution dans les propriétés de la méthode.

Gestion des pointeurs JSON

Les pointeurs JSON sont utiles pour structurer vos documents JSON en les divisant en parties plus petites et réutilisables.

4D supporte désormais les pointeurs JSON avec la nouvelle commande JSON resolve pointers. Elle analyse les pointeurs JSON trouvés dans l’objet passé en paramètre, puis renvoie un objet avec : l’état de réussite, la valeur du résultat et une liste potentielle d’erreurs.

Traitement des valeurs indéfinies

L’utilisation de propriétés et de valeurs indéfinies avec la Notation Objet est simplifiée car le langage 4D accepte désormais les valeurs indéfinies n’importe où dans une expression. Et, chaque fois que vous assignez une valeur indéfinie à une variable, celle-ci sera définie par une valeur par défaut en fonction de son type. Cela signifie que la lecture de la propriété d’un objet inexistant ne générera pas d’erreurs et n’arrêtera pas l’exécution du code.

Transmettre des données entre formulaires

Vous pouvez désormais lier un objet à un formulaire et l’utiliser en interne avec la nouvelle commande Form plutôt que d’utiliser des variables globales lorsque les données ne proviennent pas de la base de données. Tout ce que vous avez à faire est de passer les paramètres d’un objet à un formulaire en utilisant la commande DIALOG. Toute propriété de cet objet sera alors disponible à l’intérieur du formulaire via la commande Form. La même chose peut être faite pour les zones de sous-formulaires.

conseils d’aide sur les boîtes de liste

Avec 4D v16 R5, deux commandes ont été améliorées pour afficher des conseils d’aide sur les cellules des boîtes de liste. Tout d’abord, la commande OBJECT SET HELP TIP a été étendue pour prendre en charge les boîtes de liste. Ensuite, la commande LISTBOX GET CELL POSITION prend désormais en charge deux nouveaux paramètres facultatifs (position x et y, en pixels) et renvoie les numéros de colonne et de ligne correspondants.

4D Write Pro

Gestion programmatique des en-têtes et des pieds de page

Grâce à un nouvel ensemble de commandes, les en-têtes et les pieds de page de 4D Write Pro peuvent être gérés de manière programmatique pour créer d’autres documents basés sur un modèle. Ces commandes sont divisées en deux catégories :

  • Les commandes permettant d’obtenir les références de n’importe quel en-tête, pied de page ou corps à l’intérieur des documents, qui peuvent être utilisées pour obtenir les plages associées, créer des documents pour une section spécifique. Ces commandes sont : WP Get header, WP Get body et WP Get footer.
  • Commandes permettant de déplacer le curseur à une position spécifique : WP Get frame est utilisé pour obtenir une référence au cadre dans lequel le curseur est actuellement situé, tandis que WP SET FRAME place le curseur dans un cadre spécifique.

Prise en charge des expressions d’images

4D Write Pro prend désormais en charge les expressions d’images. À partir de 4D v16 R5, la commande ST INSERT EXPRESSION a été étendue pour prendre en charge toute expression renvoyant une image. Une expression peut être une variable 4D, un champ, une fonction ou une méthode définie par l’utilisateur.

N’oubliez pas qu’avant d’utiliser une méthode 4D dans une expression, vous devez d’abord activer l’utilisation de cette méthode à l’aide de la commande SET ALLOWED METHODS.

Images d’arrière-plan en taille réelle

La création d’images d’arrière-plan remplissant toute la page est désormais possible avec 4D Write Pro, grâce à un nouvel attribut de style d’arrière-plan pour le détourage et l’origine des images. L’avantage est que les images peuvent désormais être clippées sur le papier et pas seulement sur la bordure, le padding ou le contenu.

Cet attribut peut être contrôlé via :

  • lelangage 4D: Vous pouvez utiliser la commande WP SET ATTRIBUTES et définir la nouvelle valeur wk paper box pour le détourage et/ou l’origine de l’image de fond.
  • Actions standard: La commande INVOKE ACTION peut être utilisée, ou en mode conception comme toute autre action standard.
  • Widget 4D Write Pro: Lorsque vous sélectionnez les éléments « image d’arrière-plan » et « document », les options d’écrêtage et d’origine disposent d’une nouvelle option de boîte à papier.

4D view Pro : hauteur de ligne automatique

4D View Pro prend déjà en charge les hauteurs de ligne variables dans les boîtes de liste basées sur des tableaux. 4D v16 R5 prend désormais en charge la hauteur automatique des lignes, ce qui signifie qu’une boîte de liste adapte la hauteur de chaque ligne à son contenu afin d’afficher l’intégralité du texte ou de l’image en évitant tout type de problème d’habillage.

Trois nouvelles propriétés sont disponibles dans la liste des propriétés : Hauteur automatique des rangées, Hauteur minimale des rangées et Hauteur maximale des rangées. Ces paramètres permettent aux développeurs de définir si une zone de liste utilise le mode de hauteur de ligne automatique, en plus de la hauteur de ligne minimale et maximale autorisée.

Ces paramètres peuvent également être gérés par programme à l’aide de la commande LISTBOX SET PROPERTY et de la nouvelle commande LISTBOX SET AUTO ROW HEIGHT.

DIALOGUE d’administration du serveur personnalisé

Informations détaillées sur le serveur web 4D

La nouvelle commande WEB Get server info permet de récupérer des informations détaillées sur votre serveur Web 4D. Cette commande possède un paramètre d’entrée facultatif, withCacheInfo, qui est utile si des informations sur le cache du serveur Web sont nécessaires. Cet attribut est défini sur « False » par défaut.

Amélioration de la commande Get Process Activity

La commande Get process activity a été améliorée pour faciliter l’analyse des résultats. En outre, un nouvel attribut systemID est inclus pour identifier de manière unique tout processus : utilisateur, 4D et spare.

Vous voulez en savoir plus ? Lisez tous les articles de blog sur 4D v16 R5 !