classes ORDA du MODÈLE DE DONNÉES
CHAMP D’APPLICATION ET CONTEXTE D’EXÉCUTION DES FONCTIONS
En mode client/serveur, par défaut, les fonctions sont exécutées sur le serveur mais vous pouvez maintenant choisir d’en exécuter certaines d’entre elles sur le client grâce à un nouveau mot-clé: local. De plus, vous avez la possibilité de choisir les fonctions que vous souhaitez publier ou non en tant qu’API pour les clients REST avec le nouveau mot-clé exposed.
selections D’ENTITÉ PARTAGEABLES
Il arrive que vous souhaitiez partager une sélection d’entité avec un autre process ou même la rendre disponible à tous les process. Prenons l’exemple d’une requête complexe que vous souhaitez lancer pour trouver toutes les factures impayées, en permettant ensuite à l’utilisateur final d’en sélectionner certaines (ou toutes) et en envoyant un rappel de paiement par e-mail. Il est préférable d’envoyer les e-mails dans un autre process, pour éviter de bloquer l’utilisateur. Au lieu de créer une liste de clés primaires à passer au nouveau process, une sélection d’entité partagée vous permet de la passer directement à un autre process. Les sélections d’entités partagées peuvent même être associées à l’objet Storage, afin d’être partagées avec tous les process.
Donc, en un mot, une sélection d’entité peut être partageable ou non partageable:
- Une sélection d’entité partageable peut être stockée dans un(e) objet/collection partagé(e) et peut être partagée entre plusieurs process ou workers. De plus, elle ne permet pas d’ajouter de nouvelles entités. Si vous tentez d’ajouter une entité à une sélection d’entités partageables, une erreur sera générée.
- Une sélection d’entité non partageable ne peut pas être partagée entre les process, ni être stockée dans un objet ou une collection partagé(e). Si vous tentez de stocker une sélection d’entité non partageable dans un objet ou une collection partagé(e), une erreur sera générée. Cependant, une sélection d’entité non partageable permet d’ajouter de nouvelles entités.
EDITEUR DE FORMULAIRE
previsualiser le css dans l’editeur de formulaire
Vous pouvez désormais prévisualiser le rendu CSS final dans l’éditeur de formulaire. Une nouvelle icône est disponible dans la barre d’outils, pour vous permettre de visualiser votre formulaire avec ou sans le CSS, en ayant un aperçu sur Mac ou Windows. En ce qui concerne le remplacement d’une propriété, en mode CSS, un nouveau type de bouclier (similaire aux boucliers de la méthode objet ou l’ordre de saisie) est affiché dans l’éditeur de formulaire; il est donc facile de voir les objets sur lesquels un CSS peut avoir une incidence.
Macros
Les macros sont désormais disponibles dans l’éditeur de formulaire. Avec un macro de formulaire, vous pouvez :
- Modifier, supprimer ou ajouter une propriété à un ou plusieurs objets
- Ajouter ou supprimer un ou plusieurs objets de formulaire avec les méthodes associées
- Sélectionner ou désélectionner des objets de formulaire dans l’éditeur
- Afficher une boîte de dialogue modale pour saisir un paramètre à la volée
- Calculez la position idéale des objets formulaire et déplacez-les
- Créer une classe CSS à partir d’un objet formulaire à utiliser comme modèle (template)
- Vérifiez que les chemins d’accès des images dans le formulaire sont valides
- Ouvrez les fichiers CSS dans votre éditeur CSS au lieu de rechercher les fichiers sur le disque
- Vérifiez que les références XLIFF ont leur correspondance dans les fichiers XLIFF
- et bien plus …
Les macro des formulaires sont visibles depuis le menu contextuel. Les macros de base de données hôte s’affichent en premier, suivis des macros de composants. Pour exécuter une macro, cliquez simplement sur l’élément de menu. Et pour les créer, les macros sont déclarées dans un fichier formMacros.json au premier niveau du dossier Sources de votre projet.
nouvelle commande pour ouvrir l’editeur de formulaire
Une nouvelle commande 4D est disponible, pour ouvrir un formulaire dans l’éditeur de formulaires. Cela peut être particulièrement utile pour les outils d’analyse ou d’introspection. La nouvelle commande s’intitule FORM EDITER.
4D for iOS
“Deep linking”
Le “deep linking” (lien profond) permet de partager une URL. Un clic sur l’URL ouvrira directement un enregistrement spécifique dans une application 4D for iOS. En le combinant avec la push notification (notification ”push”), vous informez un agent commercial d’un nouveau devis, un agent d’assurance d’un nouveau dossier… d’un simple clic, l’application s’ouvre directement et cet enregistrement s’affiche dans l’application.
synchroniSation OPTIMISEE DES DONNEES
Le processus de synchronisation des données 4D for iOS a été optimisé, permettant une synchronisation des données jusqu’à 25 fois plus rapide.
fonctionnalites de programmation
des parametres nommes pour les fonctions et les methodes
Il n’est pas nécessaire de passer par une variable intermédiaire. Vous pouvez désormais nommer vos paramètres et votre résultat lors de la déclaration :
- d’une méthode projet,
- d’un trigger,
- d’une méthode de base de données,
- d’une méthode formulaire,
- d’un constructeur de classe,
- d’une fonction de classe.
debogueur distant
Cette fonctionnalité vous permet de décider de l’emplacement du débogage du code de votre serveur (côté client ou côté serveur).
Deux nouveaux éléments de menu sont ajoutés (des deux côtés) pour gérer l’association du débogueur :
- Attacher / Détacher le débogueur : attachez ou détachez instantanément le débogueur à votre client ou serveur.
- Attacher le débogueur au lancement : attachez le débogueur lorsque vous lancez votre client ou serveur.
A noter que le débogueur ne peut être attaché qu’à un seul 4D à la fois. Par exemple, si vous essayez d’attacher le débogueur à votre serveur sans le détacher du client, un message d’erreur s’affiche, avec des informations sur le propriétaire du débogueur.
Aussi, pour vous aider à identifier si le débogueur ou les fenêtres d’erreur proviennent du serveur ou du client, nous modifions l’apparence de ces fenêtres.
fonctionnalites de deploiement
personnaliser le dossier de cache 4d pour le serveur 4d fusionne
Si votre machine héberge une application serveur fusionnée créée avec différentes versions de 4D, vous pourriez rencontrer des problèmes dus au dossier de structure 4D partagé. Afin d’éviter de partager ce dossier système entre des applications serveur fusionnées créées avec différentes versions de 4D, vous pouvez désormais rectifier le nom du dossier lors du processus de génération de l’application avec la nouvelle clé buildApp pour définir votre propre dossier de structure.
personnaliser le dossier de cache 4d pour le client 4d fusionne
La connexion de votre application distante à plusieurs serveurs entraîne parfois l’obtention d’un énorme dossier de ressources locales dans le système, ce qui peut prendre du temps, du volume et du réseau. Vous avez maintenant la possibilité de partager le même dossier de ressources locales entre tous les serveurs identiques avec la nouvelle clé buildApp pour partager le dossier de ressources locales.
integrer le journal sans interruption des la premiere erreur
Lors de l’exécution de 4D Server en production, tout doit être entièrement automatique, sans l’intervention d’un administrateur. Ceci est particulièrement important avec la mise à jour automatique et l’exécution en mode headless. Après une coupure de courant ou un crash, des erreurs mineures dans le journal peuvent interrompre et arrêter un serveur 4D redémarré automatiquement. Une nouvelle option permet désormais de supprimer les messages d’erreurs non critiques (simplement en les reportant dans un journal), réduisant ainsi les temps d’arrêt du système.
Emails (IMAP)
RECHERCHER ET TELECHARGER DES Emails
La recherche permet de récupérer une liste d’e-mails en fonction de critères, tels que tous les e-mails non lus ou tous les e-mails d’une personne donnée datant de plus de 4 semaines. La commande retourne une collection d’identifiants de mails, qui peuvent être directement utilisés par la nouvelle méthode getMails pour les télécharger.
CopIER, DEPLACER ET SUPPRIMER DES emails
Trois nouvelles fonctionnalités sont ajoutées au transporteur IMAP : copy(), move() et delete().
Listbox
amelioration de la saisie anticipee
Auparavant, une list box recevait uniquement les événements de frappe en mode édition. Cela l’empêchait d’être utilisée pour filtrer automatiquement la liste ou sélectionner une entrée lorsqu’un utilisateur utilisait le clavier et une list box non saisissable.
Désormais, l’événement Sur avant frappe clavier est généré dès que la list box a le focus et qu’une touche est tapée, même si les données ne sont pas saisies dans une cellule. Cela permet à 4D de savoir quelles touches ont été appuyées et permet (par programmation) de prendre des décisions telles que le lancement d’une nouvelle recherche ou la modification de la sélection courante.
La nouvelle commande Texte en édition a été ajoutée pour aider à déterminer si une saisie est en cours lorsque l’événement Sur avant frappe clavier est généré. Elle permet par exemple à une list box d’être modifiable – et prend toujours en charge les fonctionnalités de saisie anticipée. Enfin, les options Sur avant frappe clavier et Sur après frappe clavier prennent désormais en charge les dialogues d’aide du système pour sélectionner des signes diacritiques tels que é, ä ou des caractères asiatiques. L’événement est retardé jusqu’à ce que l’utilisateur final sélectionne les derniers caractères. Il n’est pas nécessaire de gérer cela vous-même.
4D Write Pro
SELECTION DU CARACTERE POUR LES TABULATIONS DECIMALES
Si certains de vos documents proviennent de différentes sources, les chiffres risquent de ne pas être formatés de la bonne manière. Désormais, 4D Write Pro vous permet de spécifier ce paramètre pour chaque document. Vous pouvez choisir d’aligner les nombres sur :
- le point,
- la virgule,
- le premier caractère trouvé,
- ou enfin, au séparateur défini dans le système d’exploitation.
Afin de maximiser la compatibilité (avec MS Word en particulier), l’option n°3 est choisie par défaut lors de la création de nouveaux documents. Lors de la migration de documents 4D Write vers 4D Write Pro, le séparateur défini par le système est choisi par défaut.
GESTION Du TRAIT D’union conditionnel
L’insertion de traits d’union conditionnels est simplifiée grâce à de nouvelles actions standard, ainsi que de nouveaux boutons dans les widgets de l’interface 4D Write Pro.
Deux nouvelles normes d’action sont disponibles :
- insertSoftHyphen
- removeSoftHyphens
De plus, la fonctionnalité a été ajoutée aux widgets de l’interface 4D Write Pro à la fois dans le widget de la barre d’outils et dans le widget de la barre latérale (sidebar).
SelectION DES pages A AFFICHER
4D n’affiche que les pages mentionnées dans la collection, dans l’ordre de la collection. Cela permet de réduire l’ensemble des fonctionnalités, afin qu’elles soient plus simples pour l’utilisateur final. Si seules des options de style sont nécessaires, il est préférable de ne pas afficher toutes les autres fonctionnalités. Désormais, le widget 4D Write Pro donne la possibilité de sélectionner les pages à afficher avec la nouvelle méthode composant WP ShowTabPages. Passez simplement le nom du widget et une collection de pages à afficher lorsque vous appelez la méthode. Ainsi, 4D affichera uniquement les pages mentionnées dans la collection, dans l’ordre de la collection.
4D View Pro
FORMULES 4D dans les feuilles de calcul
VP SET CUSTOM FUNCTIONS vous crée des fonctions personnalisées qui exécutent une formule 4D dans 4D View Pro. Il n’est plus nécessaire de créer une méthode pour utiliser une variable simple dans 4D View Pro, il suffit de la passer en paramètre à votre Formule. De plus, la commande permet de faciliter la saisie anticipée pour l’utilisateur final (en fournissant un texte d’aide et des noms de paramètres). Enfin, dans les très grandes structures, cette commande est beaucoup plus rapide que l’utilisation de la commande générique FIXER TITRES CHAMPS.
Vous souhaitez en savoir plus ? Consultez tous les articles du blog de 4D v18 R5