Notes de version > Notes de mise à jour de ThingWorx Platform 9.3 > Nouveautés de ThingWorx Platform 9.3.0
Nouveautés de ThingWorx Platform 9.3.0
Les améliorations de fonctionnalités, problèmes connus, limitations et informations de fin de prise en charge ci-après concernent la version 9.3.0 de ThingWorx :
Pour obtenir la liste des problèmes résolus, consultez la rubrique Fixed Issues in ThingWorx Platform 9.3.0 (en anglais).
Améliorations
Sécurité
ThingWorx 9.3.0 utilise log4j 2.17 et n'est pas exposé aux CVE actuels avec les anciennes versions de log4j. Les instructions relatives aux versions antérieures de ThingWorx doivent être référencées ici.
Correction de problèmes de sécurité potentiels, y compris les éléments identifiés de manière proactive par un logiciel détectant les vulnérabilités et un test d'assurance qualité. Effectuez une mise à niveau dès que possible pour tirer parti de ces améliorations majeures.
Consultez cet article du support technique qui fournit des recommandations importantes concernant l'utilisation et la mise à jour de logiciels tiers pour ThingWorx.
Plateforme
Le processus de mise à niveau manuelle a été simplifié pour accélérer et rationaliser les mises à niveau vers ThingWorx 9.3.0 en mode manuel. Si vous effectuez une mise à niveau à partir de ThingWorx 9.0.x ou version ultérieure, les scripts de mise à niveau ont été combinés pour réduire le nombre de scripts à exécuter.
Des services peuvent désormais être exécutés à partir de modèles d'objet et de formes d'objet.
Les références d'entité peuvent être affichées dans la section Référencé par de Composer. Cette fonctionnalité vous permet de savoir où une entité donnée est référencée dans votre modèle ThingWorx. Elle est désactivée par défaut, mais peut être activée dans le sous-système de relations.
Le service GetWhereUsed vous permet de savoir où des entités données ou leurs caractéristiques, telles qu'une propriété ou un service, sont référencées dans ThingWorx. Pour plus d'informations, consultez la section Utilisation du service GetWhereUsed.
De nombreuses propriétés peuvent désormais être indexées dans le but d'accélérer les requêtes lors de l'utilisation des services QueryImplementingThingsOptimized et QueryImplementingThingsOptimizedCount. Pour plus d'informations, consultez la rubrique Propriétés indexées.
Cette fonctionnalité inclut de nouvelles données statistiques sur les requêtes. Pour plus d'informations, consultez la rubrique Statistiques des requêtes.
Le service GetPropertyVTQ renvoie un décompte de propriétés d'objet (définies sur un objet, un modèle d'objet ou une forme d'objet) qui ont été ingérées ou définies dans ThingWorx à l'exécution. Vous pouvez utiliser ce service pour déterminer comment optimiser les performances de vos requêtes ou l'ingestion des valeurs de propriété compte tenu du nombre total de valeurs de propriété indexées. Pour plus d'informations, consultez la section Utilisation du service GetPropertyVTQCount.
* 
Cette fonctionnalité a entraîné des modifications de comportement en ce qui concerne les types de base GUID et DATETIME. Pour plus d'informations, consultez la section Modifications de comportement ci-dessous.
Pour la protection contre le détournement de clic, le filtre ClickjackFilterAllowList et le paramètre ALLOWLIST ont été ajoutés. Ceux-ci remplaceront le filtre ClickjackFilterWhiteList et le paramètre WHITELIST dans une prochaine version. ThingWorx 9.3 prend en charge ces deux filtres et deux paramètres, mais il est recommandé de mettre à jour votre fichier web.xml avant la publication de la prochaine version. Pour plus d'informations, consultez la rubrique Autoriser l'incorporation d'applications composites intégrées dans des iFrames.
Clustering haute disponibilité
Le clustering ThingWorx haute disponibilité est désormais pris en charge sur Windows 2019.
Mashup Builder
CSS personnalisées
* 
Cette version présente des modifications de comportement dans les CSS personnalisées qui sont appliquées aux widgets de composant Web. Pour plus d'informations, consultez la section Modifications de comportement.
Migration des applications composites héritées
La migration des applications composites a été améliorée pour permettre la migration des définitions de style héritées vers les propriétés de style des widgets. Vous pouvez utiliser la boîte de dialogue Migration de l'application composite pour migrer vers l'un des thèmes stylistiques suivants :
Thème convergence PTC : utilisez le thème stylistique par défaut pour vos nouvelles applications composites.
Thème stylistique hérité : conserve le rendu des définitions de style héritées.
Thème personnalisé : thème stylistique personnalisé.
Vous pouvez désormais migrer les personnalisations que vous avez effectuées sur les entités de définition de style par défaut dans Composer vers un thème stylistique à l'aide de l'action Mettre à jour avec les définitions de style par défaut dans le menu Plus des entités de thème stylistique.
Vous pouvez à présent masquer le message de migration et n'exécuter la migration qu'ultérieurement à l'aide de l'action Migrer l'application composite disponible dans le menu Plus.
Les widgets suivants ont rejoint la liste des widgets hérités et seront abandonnés dans une prochaine version :
Grille (avancée) : remplacé par le widget de type composant Web Grille.
Préférences
Nuage de tags
Wiki
Blog
Mises en page dynamiques
Ajout d'options pour le défilement des conteneurs dans le panneau Mise en page, qui vous permettent de contrôler le comportement de défilement vertical et horizontal d'un conteneur.
Thèmes stylistiques
Ajout d'une nouvelle entité de thème stylistique nommée Legacy Styles Theme, qui implémente des styles similaires à ceux des définitions de style par défaut des widgets hérités. Ce thème stylistique vous permet de conserver le rendu de vos applications composites lorsque vous migrez des applications composites avec des widgets hérités.
Widget Barre de menus
Vous pouvez désormais afficher un logo de société ou de produit dans la section de pied de page lorsque le widget est développé à l'aide de la propriété FooterLogo.
Grille (thématisable)
Le widget a été amélioré par l'ajout de nouvelles propriétés qui vous permettent de réaliser les configurations suivantes :
Activer le mode d'édition des données de la grille à l'aide de la propriété EditLevel. Vous pouvez configurer le mode d'édition au niveau grille, au niveau ligne ou au niveau cellule.
Redimensionner les colonnes de la grille à l'exécution.
Configurer la grille de manière dynamique à l'aide de données JSON.
* 
Vous devez mettre à jour la sortie des services de configuration existants pour le widget Grille (avancée) en remplaçant le type de base STRING par un type JSON.
Afficher un bouton permettant de rétablir la configuration par défaut de la grille à l'exécution.
Déclencher un événement de filtre lors de la mise à jour de la configuration dynamique.
Afficher un menu déroulant permettant aux utilisateurs de contrôler l'ordre et la visibilité des colonnes.
Afficher les numéros de ligne dans une colonne distincte de la grille.
* 
Le widget Grille thématisable remplace désormais le widget Grille (avancée) lorsque vous migrez une application composite héritée.
La propriété chart-line-style a été ajoutée au panneau Propriétés de style des widgets Graphique en courbes et Graphique de Pareto. La nouvelle propriété vous permet d'afficher des lignes continues, en pointillés ou en tirets.
Pour le widget Graphique en courbes, la nouvelle propriété est disponible sous Propriétés de style > Série1–24 > Ligne.
Pour le widget Graphique de Pareto, la nouvelle propriété est disponible sous Propriétés de style > Base > Ligne.
Prise en charge améliorée de la localisation grâce à l'ajout de jetons de localisation pour plusieurs propriétés possédant une valeur d'étiquette par défaut, dans les widgets suivants :
Graphique à barres
Bouton
Case à cocher
Filtre de données à base de jeton
Sélecteur de date/heure
Liste déroulante
Grille
Etiquette
Graphique en courbes
Lien
Liste
Générateur de listes
Graphique de Pareto
Affichage propriétés
Bouton d'option
Graphique de planification
Curseur
Onglets
Barre d'outils
Graphique en cascade
Amélioration du formatage dans le graphique en courbes pour les types d'axe X Date/Heure et Numérique afin qu'ils s'alignent sur le format de données défini par l'utilisateur. Cette amélioration optimise la sélection et l'affichage des graduations sur l'axe X.
Pour le type d'axe X Date/Heure, la granularité respectera le modèle utilisé pour afficher l'heure. Si vous avez modifié le format de date/heure, le formatage suivant est utilisé pour afficher les graduations de l'axe.
Si le modèle de format de date/heure est uniquement yy, la granularité des données s'arrête à l'année.
Si le modèle de format de date/heure est uniquement mm, la granularité des données s'arrête au mois.
Si le modèle de format de date/heure est uniquement mm/dd, la granularité des données s'arrête au jour.
Si le modèle de format de date/heure est uniquement mm/dd h, la granularité des données s'arrête à l'heure.
Pour le type d'axe X Numérique, la granularité a été améliorée de façon à sélectionner les points de données adaptés au formatage des nombres.
Dans tous les widgets de graphique, ajout d'une propriété ShowHideLegend permettant d'afficher ou de masquer la légende du graphique à l'exécution grâce à un bouton.
Widget Fil d'Ariane
Un modèle de débordement est ajouté dans le fil d'Ariane compte tenu de votre définition de la nouvelle propriété MaxNumberOfLinks. La propriété MaxNumberOfLinks définit le nombre maximal de liens dans le fil d'Ariane. Tous les liens supplémentaires sont répertoriés dans la liste des débordements qui s'affiche lorsque vous cliquez sur l'icône de débordement. Auparavant, des flèches de navigation vous permettaient de vous déplacer vers la gauche ou vers la droite dans les liens du fil d'Ariane. Celles-ci ont été remplacées par une icône de débordement dans ThingWorx 9.3.0 et versions ultérieures.
Widget Bouton
Ajout des propriétés suivantes au widget :
MultiLine : permet de renvoyer à la ligne les étiquettes longues lorsque l'espace horizontal n'est pas suffisant.
MaxHeight : définit la hauteur maximale jusqu'à laquelle le widget peut s'étendre lorsqu'une étiquette est affichée sur plusieurs lignes.
SVGIcon : permet d'afficher les icônes SVG à partir du jeu d'icônes par défaut.
Widget Onglets
Ajout d'une propriété TabNameHeight, qui permet de définir la hauteur de la zone du nom de l'onglet.
Un modèle de débordement est ajouté dans les onglets. En cas de débordement d'onglets, ceux-ci s'affichent dans la liste des débordements qui apparaît lorsque vous cliquez sur l'icône de débordement. Auparavant, des flèches de navigation vous permettaient de vous déplacer vers la gauche ou vers la droite dans les onglets. Celles-ci ont été remplacées par une icône de débordement dans ThingWorx 9.3.0 et versions ultérieures.
Widget Barre d'outils
Ajout de la possibilité d'afficher des icônes SVG à partir d'un jeu d'icônes dans les actions de bouton à l'aide de la forme de données ToolbarAction.
Ajout d'une propriété HideFilterSeparator permettant d'afficher ou de masquer la ligne verticale qui sépare le filtre dans la barre d'outils.
Fonction Expression
Dans la boîte de dialogue de configuration, ajout d'une option Désactiver la sortie initiale, qui permet d'empêcher la fonction d'affecter des valeurs non définies à la propriété Sortie.
ThingWorx Flow
Cliquez ici pour découvrir les nouveautés de ThingWorx Flow.
Gestion des identités et des accès PTC (IAM)
L'outil KeyCzar a été remplacé par l'utilisation de Tink pour le chiffrement des jetons d'accès avant qu'ils ne soient rendus persistants dans la base de données. Lorsque vous utilisez Tink, le fichier de jeu de clés nécessaire est créé automatiquement au démarrage de ThingWorx et stocké dans le dossier ssoSecurityConfig.
Tink n'a pas besoin du dossier symmetric, ni du paramètre keyczarKeyFolderPath dans le fichier sso-settings.json de ThingWorx. Si vous effectuez une mise à niveau à partir d'une version antérieure de ThingWorx, vous pouvez conserver ces fichiers et ces paramètres tels quels. ThingWorx 9.3 (et versions ultérieures) les ignorera. Si vous décidez en revanche de les supprimer, notez que cette opération ne doit dès lors se faire qu'une fois la procédure de mise à niveau achevée.
Modifications de comportement
Plateforme
L'introduction de la fonction d'indexation décrite plus haut a entraîné les modifications suivantes de comportement pour les types de base de propriété GUID et DATETIME :
La valeur par défaut (default) de DATETIME (si aucune valeur par défaut n'a été définie explicitement dans la définition de propriété) correspond à la date par rapport à l'epoch UNIX (1/1/1970). Cette nouvelle valeur par défaut s'applique à toutes les propriétés persistantes et non persistantes.
Si vous aviez une propriété DATETIME persistante renvoyant la valeur par défaut (default) de la plateforme, cette propriété DATETIME commencera à renvoyer la date par rapport à l'epoch UNIX (1/1/1970) une fois votre mise à niveau vers ThingWorx 9.3 effectuée.
La valeur par défaut (default) de GUID est à présent le GUID Nil (00000000-0000-0000-0000-000000000000). Après votre mise à niveau vers ThingWorx 9.3.0, les GUID qui définissaient précédemment un timestamp "epoch", une quality "unknown" et une Value définie sur la valeur par défaut, seront modifiés de sorte à utiliser un timestamp "now", et une quality "Good". La valeur restera inchangée.
Pour toutes les propriétés persistantes de type de base GUID qui retournaient le GUID par défaut (default) : cette valeur sera migrée et promue en une valeur réelle afin que la valeur GUID renvoyée ne change pas une fois votre mise à niveau vers ThingWorx 9.3 effectuée.
Mashup Builder
CSS personnalisées
Pour s'aligner sur la dernière spécification CSS Shadow DOM, un polyfill utilisé pour fournir une fonctionnalité de stylisation pour les widgets de composant web a été supprimé. Par conséquent, les règles CSS existantes qui sont appliquées aux widgets de composant Web dans des versions antérieures de ThingWorx peuvent ne plus fonctionner. Si vos CSS personnalisées ne fonctionnent pas correctement, vous devez les revoir et les mettre à jour manuellement après la mise à niveau. Pour plus d'informations sur l'application de CSS aux widgets de composant Web, consultez la rubrique Application de styles CSS personnalisés aux widgets de composant Web.
Problèmes connus et limitations
Les limitations et problèmes suivants ont été détectés dans ThingWorx 9.3.0 :
Plateforme
Si vous mettez à niveau MS SQL, Azure SQL ou H2, la mise à niveau échouera si des champs d'index personnalisés ne comportent pas de valeur dans les tables de données. Vérifiez que tous les champs d'index personnalisés comportent des valeurs avant de démarrer le processus de mise à niveau. Si votre mise à niveau échoue, vous devrez restaurer la base de données et la plateforme ThingWorx, supprimer des index personnalisés ou fournir des valeurs manquantes pour les champs indexés personnalisés, puis redéployer la mise à niveau. Pour plus d'informations, consultez la rubrique Mise à niveau de ThingWorx.
La fonction Référencé par et le service GetWhereUsed présentent des limitations lorsqu'ils sont exécutés sur une définition d'état ou une entité de média. Si la définition d'état ou l'entité de média existe sur une application composite, il est possible que l'application composite ne soit pas renvoyée dans les résultats.
Mashup Builder
Migration d'applications composites
Les styles et configurations suivants ne sont pas conservés lors de la migration d'une application composite :
Espace entre les conteneurs du widget Mise en page.
Styles personnalisés pour le graphique chronologique.
Couleur de gradient de la zone en surbrillance dans le widget Graphique en courbes. Seule la couleur principale d'un gradient linéaire est migrée.
Largeur et style de trait des règles présentes dans les graphiques. Seule la couleur de trait des règles est migrée.
Icônes qui s'affichent en regard des éléments de liste dans le widget Liste déroulante.
Etiquette du bouton bascule dans le widget Actualisation automatique.
Icônes définies pour n'importe quel état autre que celui de base du widget Bouton hérité.
Styles des bordures de grille.
Styles de la boîte de dialogue de confirmation.
Définition de style PopupTitleStyle du widget Navigation hérité.
Définition de style héritée ListBackgroundStyle du widget Liste.
Styles personnalisés des info-bulles de widget.
Styles personnalisés de la zone de focus de widget.
Widget Sélecteur de dates
Une partie de la valeur de date n'est pas affichée car l'espace est utilisé par le bouton d'effacement.
Grille (thématisable)
Les services de données existants utilisés pour fournir les données de configuration cessent de fonctionner après la migration. Pour résoudre ce problème, définissez le type de sortie du service de données sur JSON dans Composer.
Est-ce que cela a été utile ?