Nouveautés de 4D v18 R4

Classes ORDA

ORDA vous permet de créer des fonctions de classe de haut niveau au-dessus du modèle de données. Cela vous permet d’écrire du code orienté métier pour masquer la complexité, réduire les erreurs et accélérer le processus de développement. De plus, vous pouvez exposer votre projet comme une API avec un serveur REST.

Classes ORDA pour gérer le modèle de données

La structure d’ORDA (datastore, dataclass, entité, sélection d’entité) est composée d’objets fortement typés liés à des classes ORDA spécifiques. Cela signifie que vous pouvez écrire des fonctions qui masquent la complexité de l’implémentation physique de vos données.

Les classes ORDA sont automatiquement disponibles avec les projets d’application. 4D crée automatiquement :

  • DataStore: Pour l’implémentation des fonctions liées au datastore
  • Classe DataClass: Pour implémenter les fonctions liées à la classe de données
  • Classe Entity: Pour implémenter des fonctions liées à une entité
  • Classe EntitySelection: Pour implémenter des fonctions liées à la sélection d’une entité

Classes du modèle de données ORDA et REST

Vous pouvez appeler les fonctions des classes définies pour le modèle de données ORDA par le biais de requêtes REST afin de bénéficier de l’API exposée du projet d’application 4D visé. Veuillez noter que les fonctions doivent toujours être appelées par des requêtes REST POST.

Fonctions liées à la programmation

Développement du code serveur

Le développement et le débogage du code serveur dans les applications de projet deviennent plus faciles. Pour gagner du temps et éviter de devoir redémarrer votre application serveur après une modification de code (en mode autonome), désormais lorsque vous connectez un 4D Remote sur le même ordinateur que le 4D Server, le Remote est capable de modifier les fichiers du projet (code, formulaires, ressources, etc.).

Lorsqu’un client 4D Developer se connecte à un 4D Server sur le même ordinateur, le fichier .4DZ n’est pas transféré du serveur au client. Le 4D Remote gère les fichiers du projet (méthodes, formulaires, ressources, etc.) comme s’il s’agissait d’un client 4D mono-utilisateur. Les fichiers du projet sont partagés par 4D Server et 4D Remote. Ainsi, vous pouvez modifier votre code et le tester à la volée.

Si vous voulez que le serveur recharge les fichiers modifiés, passez de l’environnement de développement au mode application, faites passer le 4D Server au premier plan ou sélectionnez l’élément de menu « File / Save all » dans le 4D Remote (ou utilisez la nouvelle commande RELOAD PROJECT ).

N’oubliez pas que l’exécution d’une méthode côté client entraîne automatiquement une action « Enregistrer tout » , ce qui a pour effet de recharger les fichiers modifiés côté serveur.

Accéder aux valeurs des objets du formulaire par programmation

Deux nouvelles commandes sont disponibles pour vous aider à accéder aux valeurs des objets du formulaire, quelle que soit sa variable ou son expression : OBJECT Get value et OBJECT SET VALUE. Pour obtenir la valeur d’un objet de formulaire, utilisez la commande OBJECT Get value et passez le nom de votre objet de formulaire en paramètre. De la même manière, si vous devez définir la valeur d’un objet de formulaire, utilisez la commande OBJECT SET VALUE et passez le nom et la nouvelle valeur comme paramètres.

Nouvelle syntaxe de déclaration

Une nouvelle syntaxe pour déclarer vos variables est maintenant disponible. Elle utilise le mot-clé var, le nom de la variable et son type. Cette nouvelle syntaxe permet d’améliorer considérablement l’autocomplétion lors de la déclaration de vos variables. Vous pouvez déclarer des variables en utilisant à la fois la syntaxe classique et la nouvelle syntaxe dans la même base de données.

Prise en charge du protocole CORS (Cross-origin resource sharing)

Le protocole CORS empêche une page Web d’envoyer des requêtes à des domaines autres que le sien. Cependant, si vous avez besoin de permettre à d’autres sites de faire des requêtes HTTP à votre serveur afin d’obtenir ou d’envoyer certaines données… maintenant vous pouvez via :

  • la programmation : grâce aux commandes WEB SET OPTION et WEB Server . Elles prennent en compte les paramètres du domaine pour permettre des actions spécifiques (GET, POST, HEAD, PUT).
  • les paramètres de la base de données : grâce aux options disponibles dans la fenêtre Paramètres> Web > Options (II).

Boîte de liste

Disponibilité des fonctionnalités de la boîte de liste Pro

Il n’est plus nécessaire d’avoir une licence 4D View Pro pour utiliser des fonctionnalités avancées telles que les boîtes de liste. Elles sont désormais gratuites ! Rien ne vous empêche de profiter des boîtes de liste qui peuvent :

  • adapter automatiquement la hauteur de chaque ligne à son contenu (afin de pouvoir afficher l’intégralité du texte ou de l’image),
  • utiliser des tableaux d’objets dans les colonnes (afin de pouvoir saisir et afficher différents types de valeurs dans les lignes d’une même colonne de boîte de liste).

Configurer des rangées mobiles par code

Dans le cas des boîtes de liste basées sur un tableau, vous pouvez définir (en mode Conception) si les utilisateurs finaux peuvent déplacer les lignes(par exemple, pour réorganiser ou regrouper les lignes, etc.) Les commandes LISTBOX SET PROPERTY et LISTBOX Get property ont été mises à jour pour prendre en charge une nouvelle propriété : lk movable rows.

Administration

Accorder dynamiquement des permissions aux utilisateurs

Après la possibilité d’utiliser votre propre système de gestion des utilisateurs finaux et la commande SET USER ALIAS, nous avons ajouté la possibilité de gérer les autorisations des utilisateurs finaux. La nouvelle commande SET GROUP ACCESS vous permet de définir dynamiquement les appartenances à un groupe.

Courriel

Réception d’e-mails avec IMAP

Dans 4D v18, nous avons introduit une nouvelle façon d’envoyer des e-mails. Puis, dans 4D v18 R2, nous avons ajouté une nouvelle façon de récupérer les emails en utilisant POP3. Maintenant, dans 4D v18 R4, nous faisons les premiers pas vers une nouvelle façon de gérer le protocole IMAP. Comme nous l’avons fait pour SMTP et POP3, il y a une nouvelle commande IMAP New transporter pour gérer le protocole IMAP. Nous avons ajouté des commandes pour choisir une boîte aux lettres et pour télécharger un courriel. D’autres commandes pour d’autres fonctionnalités IMAP arriveront avec les prochaines versions de fonctionnalités.

4D pour iOS

Push

Les notifications push sont disponibles avec 4D pour iOS. Elles fournissent aux utilisateurs des informations pertinentes pour les encourager à utiliser une application. Il suffit de définir un message et un titre de notification push, et 4D pour iOS se chargera du processus d’envoi pour vous.

En outre, lorsque les notifications push sont activées pour une application installée sur votre iPhone, vous recevez également les notifications sur votre Apple Watch !

Authentification par courriel

4D pour iOS vous permet de déterminer facilement l’authenticité et la légitimité de la personne qui tente de se connecter à votre application en vérifiant qu’un courriel provient bien de la personne qu’il prétend être. Fondamentalement, le processus met à jour l’état de la session d’un utilisateur pour lui donner accès à l’application :

  • Lorsqu’un utilisateur saisit son adresse électronique dans le formulaire de connexion et clique sur le bouton Connexion, l’état de sa session est mis à jour et passe au statut « en attente ».
  • Un courriel de validation est alors envoyé à l’utilisateur, qui n’aura qu’à cliquer sur le lien de validation pour mettre à jour le statut de sa session de « en attente » à « accepté ».
  • Une fois le processus de validation terminé, l’utilisateur peut rouvrir l’application et, comme le statut de sa session est « accepté », l’accès lui est désormais accordé.

Le composant qui gère et facilite le processus est également disponible afin que vous puissiez adapter l’authentification à vos propres besoins.

Création de modèles de formulaires détaillés

Vous pouvez maintenant déposer autant de champs que vous le souhaitez sur votre modèle de formulaire détaillé car ils sont déroulables. Il existe plusieurs façons d’ajouter vos champs à vos formulaires détaillés :

  • Sélectionnez un modèle vierge dans lequel vous pouvez déposer tous vos champs sans aucune contrainte, ou,
  • Faites glisser et déposez des champs n’importe où dans la vue pour les ajouter et les afficher immédiatement après le dernier champ ajouté ou entre d’autres champs déjà affichés, ou,
  • Double-cliquer sur un champ. Votre champ sera ajouté à la fin de la liste, ou,
  • Cliquez avec le bouton droit de la souris sur l’un des champs disponibles dans le tableau des champs situé à gauche. Cela affichera un menu qui vous permettra d’ajouter les champs manquants à vos formulaires de détail.

Sécurité

Nouvelle classe Cryptokey

Une nouvelle classe fournissant un ensemble de méthodes pour effectuer des opérations cryptographiques courantes(telles que la signature et la vérification, le cryptage et le décryptage) est maintenant disponible : la classe CryptoKey. Elle fournit un moyen de protéger la confidentialité de vos données, ainsi que de vérifier l’intégrité des messages et l’authenticité de l’expéditeur. Elle peut être utilisée pour :

  • La confidentialité : protéger les données contre tout accès non autorisé.
  • Intégrité : garantir que les données sont complètes et correctes
  • Authenticité : valider l’authenticité de l’expéditeur et du destinataire d’un message.

Rapport rapide

Support des structures virtuelles

L’utilisation de la structure virtuelle dans les rapports rapides est désormais possible. Cela vous permet de définir des noms de tables et de champs alternatifs (alias) afin de les rendre plus lisibles pour les utilisateurs finaux.

4D write Pro

Exportation directe au format PDF

Sans installer de pilote d’impression ou de logiciel supplémentaire, les documents 4D Write Pro peuvent être exportés directement au format PDF. L’exportation directe est non seulement plus rapide et plus fiable que le passage par un pilote d’impression, mais elle vous permet également de mieux contrôler le résultat. En plus de prendre en charge les hyperliens, elle vous permet d’optimiser la taille des images et bien plus encore. La commande WP EXPORT DOCUMENT a été mise à jour pour accepter une nouvelle constante : wk pdf.

Formules : Gestion du comportement du retour chariot

Une nouvelle propriété de document définissant la manière dont un retour chariot doit être traité est disponible : wk break paragraphs in formulas. Elle a deux valeurs possibles :

  • wk true: Interprété comme des sauts de paragraphe.
  • wk false: (valeur par défaut) Interprété comme des sauts de ligne.

importation et exportation à partir du widget 4D Write Pro

Un nouvel onglet est disponible dans le widget de l’interface de 4D Write Pro permettant d’importer et d’exporter des documents dans différents formats.

4D View Pro

Zone hors écran

Une nouvelle commande permettant de manipuler les commandes et fonctions de 4D View Pro dans une zone hors écran est disponible : VP Run offscreen area. Pour l’utiliser, il suffit de passer les informations de la zone en paramètre (par exemple, le nom de la zone et la méthode appelée lorsqu’un événement est lancé par la zone 4D View Pro).

Fusionner et défusionner des cellules

Un nouvel ensemble de commandes est à votre disposition pour vous aider à fusionner et à défusionner un groupe de cellules par programmation :

  • Pour créer une cellule fusionnée : définissez une plage avec toutes les cellules que vous souhaitez combiner, puis passez-la en paramètre à la nouvelle commande VP ADD SPAN qui combine les cellules en une seule plage de cellules.
  • Utilisez la commande VP Get spans pour récupérer toutes les cellules fusionnées.
  • Supprimez les cellules fusionnées de votre document à l’aide de la commande VP REMOVE SPAN.

formules : Recalculer, suspendre et reprendre

Trois nouvelles commandes sont disponibles pour vous permettre de déclencher les calculs des formules quand vous le souhaitez :

  • VP RECOMPUTE FORMULAS – pour recalculer les formules lorsque les données changent.
  • VP SUSPENDRE LES CALCULS et VP REPRENDRE LES CALCULS – vous permettent, respectivement, de suspendre et de reprendre les calculs.

Vous voulez en savoir plus ? Lire tous les articles de blog sur 4D v18 R4