Les nouveautés de 4D v16 R5

 

Sécurité

sécurité améliorée pour 4D server

4D supporte le protocole “Transport Layer Security” (TLS v1.0, TLS v1.1, et TLS v1.2) pour encrypter les communications entre les postes Client et le serveur. A partir de 4D v16 R5, la version minimale du TLS par défaut est la v1.2 ; les versions plus anciennes seront rejetées car moins sécurisées. Pour accroître la sécurité de votre 4D Server, mettez simplement à jour votre 4D en v16 R5. Aucune modification n’est nécessaire pour vos pages web et vos méthodes, ni pour vos applications client-serveur.

Mais si vous souhaitez utiliser les anciens navigateurs (ou outils) qui ne prennent pas en charge TLS v1.2, vous pouvez baisser le niveau de sécurité avec le nouveau sélecteur Min TLS version en paramètre des commandes Lire parametre base et FIXER PARAMETRE BASE.

commande Generer Digest et support du SHA-2

Les fonctions digest sont utiles lorsqu’il s’agit de vérifier l’intégrité des données lorsque vous les échangez ou les comparez. La commande Generer digest a été améliorée pour prendre en charge SHA-2. Elle supporte deux nouveaux algorithmes de la famille SHA-2 : SHA-256 et SHA-512. La syntaxe reste la même, mais comprend maintenant deux nouvelles constantes : SHA256 digest et SHA512 digest.

 

vérification du hachage et du mot de passe pour la connexion web utilisateur

Le mécanisme de hachage est un moyen idéal pour stocker des mots de passe. Deux nouvelles commandes ont été créées pour générer et vérifier les mots de passe hashés : Generer hash mot de passe et Verifier hash mot de passe. Les deux sont basées sur l’algorithme bcrypt, conçu pour être lent. Ainsi les attaques de force brute sont forcément plus lentes et les impacts ainsi minimisés.

 

plus de commandes pour les process premptifs

L’exécution de vos méthodes dans des process préemptifs signifie que vos applications sont plus rapides et peuvent supporter plus d’utilisateurs connectés. Avec 4D v16 R5, plus de vingt commandes existantes ont été modifiées afin de pouvoir être utilisées dans les process préemptifs. N’oubliez pas que, par défaut, les méthodes projet sont exécutées en mode coopératif. Par conséquent, si vous souhaitez passer en mode préemptif, vous devez vérifier que l’option peut être exécutée dans un process préemptif est bien sélectionnée 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 prend désormais en charge les pointeurs JSON avec la nouvelle commande JSON Resoudre pointeurs. Elle analyse les pointeurs JSON trouvés dans l’objet passé en paramètre, puis renvoie un objet contenant : le statut, la valeur retournée et une potentielle liste d’erreurs.

 

manipulation des valeurs indéfinies

L’utilisation de propriétés ou de valeurs indéfinies avec la notation objet est simplifiée car le langage 4D accepte maintenant les valeurs indéfinies dans une expression. Et chaque fois que vous attribuez une valeur indéfinie à une variable, elle sera définie selon une valeur par défaut en fonction de son type. Cela signifie que la lecture d’une propriété d’un objet non-existant ne générera pas d’erreurs et n’arrêtera pas l’exécution du code.

 

Passer des données entre formulaires

Désormais vous pouvez lier un objet à un formulaire et l’utiliser 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 devez faire est de passer des paramètres dans un objet à un formulaire à l’aide de la commande DIALOGUE. Toutes les propriétés de cet objet seront alors disponibles dans le formulaire via la commande Form. Ceci peut s’appliquer aussi sur les zones de sous-formulaire.

messages d’aide sur les list box

Avec 4D v16 R5, deux commandes ont été améliorées pour afficher les messages d’aide sur les cellules de la list box. Tout d’abord, OBJET FIXER MESSAGE AIDE a été étendue pour prendre en charge les list box. Deuxièmement, la commande LISTBOX LIRE POSITION CELLULE prend maintenant en charge deux paramètres optionnels (position x et y des coordonnées de la souris) et renvoie les numéros de colonne et de ligne correspondants.

4D Write Pro

gestion des en-têtes et pieds de page par programmation

Avec un nouveau jeu de commandes, les en-têtes et les pieds de page 4D Write Pro peuvent être gérés par programmation pour créer d’autres documents à partir d’un modèle. Ces commandes sont divisées en deux catégories :

  • Des commandes pour obtenir les références de n’importe quel en-tête, pied de page ou corps à l’intérieur des documents, qui peuvent ensuite être utilisés pour définir des plages associées, ou bien pour créer des documents pour une section spécifique. Ces commandes sont : WP Lire entete, WP Lire corps et WP Lire pied.
  • Des commandes pour déplacer le curseur vers une position spécifique : WP Lire cadre est utilisé pour obtenir une référence du cadre dans lequel le curseur se trouve, tandis que WP FIXER CADRE place le curseur dans le cadre donné.
 

prise en charge des expressions IMAGE

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

N’oubliez pas que, avant d’utiliser une méthode 4D dans une expression, vous devez d’abord autoriser son utilisation à l’aide de la commande FIXER METHODES AUTORISEES.

 

images de fond en pleine page

La création d’image de fond en pleine page est désormais possible avec 4D Write Pro, grâce à un nouvel attribut de style d’arrière-plan pour définir la zone de fond et son origine. L’intérêt est que les images peuvent être attachées au bord du papier et plus seulement à la bordure, la marge intérieure ou le contenu.

Cet attribut peut être contrôlé via :

  • Langage 4D : Vous pouvez utiliser la commande WP FIXER ATTRIBUTS et définir la nouvelle valeur wk paper box pour le découpage et/ou l’origine de l’image d’arrière-plan.
  • Actions standards : La commande APPELER ACTION peut être utilisée, ou bien définie en mode développement comme n’importe quelle autre action standard.
  • Widget 4D Write Pro : Lorsque vous sélectionnez les éléments “image de fond” et “document”, les options Rogner et Origine ont une nouvelle valeur disponible : Papier.

 

4D view Pro: hauteur automatique des lignes

4D View Pro prend déjà en charge les hauteurs de lignes variables dans les list box basées sur des tableaux. 4D v16 R5 supporte désormais la hauteur de ligne dans un mode entièrement automatique, ce qui signifie qu’une list box adapte la hauteur de chaque ligne à son contenu afin qu’un texte ou une image puissent être affichés dans leur ensemble sans problèmes.

Trois nouvelles propriétés sont disponibles dans la liste des propriétés : Hauteur ligne automatiqueHauteur ligne mini et Hauteur ligne maxi. Ces propriétés permettent aux développeurs de définir si une list box utilise le mode de hauteur de ligne automatique, et autorisent des hauteurs de ligne mini et maxi.

Ces paramétrages peuvent aussi être gérés par programmation à l’aide de la commande LISTBOX FIXER PROPRIETE et de la nouvelle commande LISTBOX FIXER HAUTEUR LIGNE AUTOMATIQUE.

personnalisation du dialogue d’administration du serveur

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

La nouvelle commande WEB Lire infos serveur récupère des informations détaillées sur votre serveur web 4D. Cette commande possède un paramètre d’entrée optionnel, withCacheInfo, qui est utile si les informations du cache vous sont nécessaires. Cet attribut est fixé à “Faux” par défaut.

 

amélioration de la commande get process activity

La commande Lire activite process a été améliorée pour faciliter l’analyse de son résultat. En outre, un nouvel attribut systemID est inclus pour identifier de manière unique tout process : process utilisateur, process 4D et process de réserve.

Vous voulez en savoir plus ? Lisez tous les blog posts 4D v16 R5!