Notes de version > Notes de version de ThingWorx Platform 9.0 > Nouveautés et problèmes résolus dans ThingWorx Platform 9.0.0
Nouveautés et problèmes résolus dans ThingWorx Platform 9.0.0
Les améliorations de fonctionnalités, problèmes résolus, problèmes connus, limitations et informations de fin de prise en charge décrits ci-après concernent la version ThingWorx 9.0.0 :
Améliorations
Sécurité
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 ou un test d'assurance qualité PTC. Effectuez une mise à niveau dès que possible pour tirer parti de ces améliorations majeures.
ThingWorx 9.0 est certifié pour Microsoft Edge Chromium mais ne prend pas en charge les variantes de Microsoft Edge autres que Chromium. Si vous utilisez actuellement Microsoft Edge comme navigateur Web, PTC recommande d'effectuer une mise à niveau vers Edge Chromium 81.0 ou une version ultérieure pour tirer parti des importantes améliorations en matière de sécurité.
Programme d'installation
Le programme d'installation de ThingWorx Foundation fournit désormais une mise à niveau automatique pour les installations existantes de ThingWorx 8.5 ou versions ultérieures effectuées à l'aide du programme d'installation. Ce processus vous évite d'avoir à reconfigurer l'installation ou à resaisir en partie les mêmes informations. Pour plus d'informations, consultez la rubrique Utilisation du programme d'installation pour mettre à niveau ThingWorx Foundation .
Si ThingWorx Foundation 8.5.3 ou version antérieure est installé sur votre système, vous pouvez exécuter ThingWorx Foundation Upgrade Ready Utility, disponible sur la page Télécharger un logiciel PTC pour ThingWorx Foundation, avant d'utiliser le programme d'installation pour la mise à niveau. Cet utilitaire détermine si votre système est prêt pour une mise à niveau vers la version 9.0.
Plateforme
Vous devez demander un nouveau fichier de licence afin d'exécuter ThingWorx 9.0 en mode cluster. Pour plus d'informations sur les licences, consultez la rubrique Licences pour ThingWorx Platform . Pour plus d'informations sur l'exécution de ThingWorx en mode cluster, consultez la rubrique Présentation du clustering haute disponibilité de ThingWorx .
Une nouvelle API GetThingPropertyValues a été ajoutée à EntityResources pour récupérer les valeurs des propriétés en bloc à partir d'une liste de table d'informations de noms d'objet. Cette API est conçue pour fonctionner avec l'API QueryImplementingThings, qui peut être utilisée pour générer la liste d'objets. Pour plus d'informations, consultez la rubrique Utilisation du service QueryImplementingThings .
Les groupes d'objets sont un nouveau type d'entité référençable nommé qui permet aux objets et autres groupes d'objets d'apparaître en tant que membres dans une hiérarchie de groupes d'objets. Les groupes d'objets sont principalement utilisés pour gérer les permissions de visibilité à l'échelle, afin de contrôler la visibilité des objets pour ceux qui en ont besoin, mais ils peuvent également être utilisés pour d'autres opérations. Les groupes d'objets sont destinés à être utilisés comme des blocs de construction dans d'autres applications. Pour plus d'informations, reportez-vous à la rubrique Groupe d'objets .
Toutes les tables de configuration sont désormais persistantes. Le drapeau persistant de l'API est ignoré.
La prise en charge des caractères spéciaux suivants dans les noms d'entité a été ajoutée : < et >. Pour plus d'informations, consultez la rubrique Noms des entités.
Le type de base de la forme de données ThingworxMetric a été changé de NOMBRE à VARIANTE pour permettre une plus grande flexibilité. Le champ type de données (NumberPrimitive, StringPrimitiveou BooleanPrimitive) est déterminé en fonction de l'entrée de données par l'utilisateur qui crée une entité avec un service dont la sortie de table d'informations est liée à une forme de données ThingworxMetric. Pour plus d'informations, consultez la section Problèmes connus et limitations ci-dessous.
Le système dispose désormais d'un point de terminaison simple pour l'intégrité et d'un point de terminaison pour déterminer si le serveur est prêt à accepter des requêtes. Aucun point de terminaison ne nécessite une authentification. Tous les deux renvoient le code 200 si la valeur est vrai ou le code 503 si la valeur est faux.
Un nouveau point de terminaison /Thingworx/Metrics est disponible pour récupérer les informations de mesure du système. Il peut être utilisé pour collecter toutes les mesures du système, y compris les mesures de performances du sous-système. Il nécessite une authentification.
Lorsque le serveur est arrêté, le système tente de décharger toutes les files d'attente de données avant de forcer l'arrêt. Cela ne se produit que lorsque le système est arrêté proprement.
La clé d'application et l'ID de liaison d'instance distante pour le reporting de mesure sont à présent stockés dans le keystore. La clé d'application pour le reporting de mesure n'est plus disponible dans la configuration du sous-système de plateforme de Composer.
Le Sous-système de support remplace PTC Support Tools, dont les fonctionnalités ont été fusionnées dans ThingWorx Platform. Par conséquent, n'essayez pas d'importer ces outils dans ThingWorx 9.0 ou version ultérieure. Pour plus d'informations, consultez cet article de support de PTC.
Le paramètre SessionUpdateDelay et les deux paramètres de journalisation des mesures de plateforme MetricsLoggingFrequency et MetricsLoggingLevel sont désormais disponibles dans le fichier platform-settings.json. Pour plus d'informations sur ces nouveaux paramètres, consultez la rubrique Détails de la configuration du fichier platform-settings.json .
Sous-système d'audit
Le sous-système d'audit fournit deux implémentations distinctes :
Persistance directe (nouveau avec ThingWorx Platform 9)
Table de données (implémentation originale du sous-système d'audit)
D'autres modifications ont été apportées pour l'implémentation de la persistance directe du sous-système d'audit :
PostgreSQL et MSSQL sont pris en charge en tant que fournisseur de persistance pour le sous-système d'audit, à l'aide de la fonctionnalité de base de données native pour améliorer les performances globales.
L'interrogation est configurable pour s'adapter aux besoins et aux cas d'utilisation de différentes organisations. Les services de requête acceptent les jetons de localisation pour le paramètre de catégorie d'une requête.
Il est désormais possible de créer des catégories d'audit et des messages d'audit personnalisés via Java.
Quatre options de configuration de la sécurité d'audit :
Administrateur : l'administrateur peut voir tous les messages d'audit et exécuter tous les services d'audit.
Utilisateurs non-administrateurs : par défaut, ces utilisateurs ne peuvent ni voir les messages d'audit ni exécuter les services d'audit. Un administrateur doit accorder aux non-administrateurs les permissions d'exécution dont ils ont besoin pour exécuter le service QueryAuditHistory() sur les objets dont ils sont responsables. Avec ces permissions, les utilisateurs non-administrateurs peuvent afficher tous les messages d'audit associés à leur nom d'utilisateur et aux objets qu'ils contrôlent.
Groupe d'utilisateurs auditeurs : ce groupe d'utilisateurs prédéfini est destiné aux utilisateurs non-administrateurs qui, lorsqu'ils disposent d'un accès au service QueryAuditHistory() sur leurs objets, doivent voir tous les messages d'audit associés à leurs objets, et pas seulement ceux qui sont associés à leur compte utilisateur et ses objets.
Permissions de sécurité personnalisées : les administrateurs peuvent fournir des permissions de sécurité spécifiques aux utilisateurs non-administrateurs, en fonction du cas d'emploi.
Nouvelle catégorie de message, appelée AUDIT, permettant d'assurer le suivi de l'exécution des services du sous-système d'audit.
Entrées d'audit supplémentaires pour suivre l'ajout et la suppression d'utilisateurs ou de groupes d'utilisateurs en tant que membres d'autres groupes d'utilisateurs, ainsi que les déconnexions utilisateur.
Possibilité de contraindre les requêtes par contexte, qu'il s'agisse d'un utilisateur ou d'un objet.
Possibilité d'exporter uniquement les données d'audit en ligne (persistance directe uniquement).
ThingStart désactivé par défaut pour l'audit en raison de l'augmentation de la charge lors du démarrage ou du redémarrage de ThingWorx Platform.
Les messages d'audit associés à un groupe d'objets sont disponibles dans la nouvelle catégorie d'audit THINGGROUPMEMBERSHIPS, ainsi que dans la catégorie d'audit existante SECURITY CONFIGURATION. Tandis que les messages d'audit de THINGGROUPMEMBERSHIPS sont désactivés par défaut, les messages relatifs à SECURITY CONFIGURATION sont activés par défaut.
Pour plus d'informations sur le sous-système d'audit, reportez-vous à la rubrique Sous-système d'audit dans ce Centre d'aide.
Vous pouvez facilement copier l'ID de clé d'une clé d'application dans le Presse-papiers.
Ajout de l'option Exclude Invalid Users and User Groups in Imports du Sous-système de plateforme.
Clustering haute disponibilité
Pour plus d'informations sur le clustering haute disponibilité de ThingWorx et sa configuration, consultez la rubrique Présentation du clustering haute disponibilité de ThingWorx .
Les fournisseurs de persistance pris en charge sont les suivants :
PostgreSQL
Microsoft SQL Server
Microsoft Azure SQL
InfluxDB
Les outils de connectivité suivants sont pris en charge :
Versions du SDK ThingWorx Edge qui prennent en charge le SNI, requis pour les clusters haute disponibilité hébergés dans le Cloud :
C SDK : versions 2.2.9 et ultérieures
.NET SDK : versions 5.8.2 et ultérieures
Java SDK : toute version utilisée avec le kit de développement Java SE 7 (ou version ultérieure). Notez qu'OpenJDK n'est actuellement pas pris en charge. Reportez-vous à la page Java SE 7 Security Enhancements (en anglais).
Pour les clusters ThingWorx haute disponibilité sur site, SNI peut être requis ou non, en fonction de la configuration du réseau. Pour plus d'informations sur le protocole SNI, reportez-vous à l'article What Is SNI? How TLS Server Name Indication Works sur le site Cloudflare.
Les versions ThingWorx Edge MicroServer (EMS) 5.4.8, 5.4.9 et ultérieures prennent en charge le SNI, contrairement aux versions antérieures. Toutefois, la version 5.4.4 a été certifiée dans un environnement haute disponibilité.
ThingWorx Connection Server (AlwaysOn) 9.0.0 est requis pour un environnement de cluster ThingWorx haute disponibilité.
ThingWorx eMessage Connector 2.0.0 est requis pour un environnement de cluster ThingWorx haute disponibilité.
ThingWorx Kepware Server
ThingWorx Kepware Edge
Pour plus d'informations sur la configuration de Connection Server et de Connector eMessage dans un environnement de cluster haute disponibilité, consultez les rubriques sur la configuration haute disponibilité dans les Centres d'aide respectifs :
Connection Server : High Availability Configuration (en anglais)
Le clustering haute disponibilité de ThingWorx est disponible pour le déploiement dans un environnement Docker. Pour pouvoir générer des images ThingWorx Docker dans un cluster haute disponibilité, vous devez d'abord déployer des images supplémentaires pour Apache Ignite et ThingWorx Connection Server. Pour plus d'informations, consultez la rubrique Utilisation de ThingWorx Docker dans un environnement de cluster haute disponibilité .
Un nouveau mode est disponible pour définir le serveur de sorte que le point de terminaison /ready renvoie false pour vous aider à supprimer le serveur des équilibreurs de charge. Cela permet au serveur de cesser de recevoir de nouvelles demandes sans être arrêté, aux fins de dépannage. Le système tente de décharger les informations contenues dans ses files d'attente de données.
Les états de service JavaScript sont désormais conservés dans une couche de cache, qui peut être locale ou distante. Le nouveau système crée un proxy unidirectionnel de l'objet JavaScript vers l'objet original. Chaque modification apportée à l'objet JavaScript déclenche une mise à jour complète de la propriété dans l'objet original. Toutefois, les modifications apportées à l'objet original ne sont pas répercutées dans l'objet JavaScript.
Lors de l'exécution de ThingWorx en mode cluster, les modifications apportées aux modèles sont appliquées de manière cohérente à l'ensemble du cluster. Pour plus d'informations, consultez la rubrique Cohérence éventuelle .
La configuration de la journalisation s'effectue en configurant le fichier logback.xml. La journalisation asynchrone est utilisée pour de meilleures performances, même avec un niveau de journalisation élevé. Pour plus d'informations, consultez la rubrique Configuration de la journalisation .
Il existe un nouveau sous-système de clustering qui permet d'afficher et de configurer votre environnement haute disponibilité en mode cluster.
Extensions
Les API d'extension de cycle de vie startSubsystem et stopSubsystem dans Subsystems.java ont été remplacées par startSubsystem(ContextType) et stopSubsystem(ContextType). Le type de contexte permet à la méthode de fonctionner dans un environnement haute disponibilité où des modifications apportées sur le serveur A doivent être synchronisées sur d'autres serveurs. Le type de contexte permet à la méthode de savoir si elle fait ou non partie d'un processus de synchronisation et, si tel est le cas, d'effectuer une création, une mise à jour ou une suppression. Pour plus d'informations, consultez la rubrique Modification des API de cycle de vie .
Un nouvel attribut de métadonnées d'extension, haCompatible, a été ajouté pour identifier si une extension est compatible avec le clustering haute disponibilité de ThingWorx. Pour plus d'informations, consultez la rubrique Bonnes pratiques pour la création de packages et de déploiement de solutions ThingWorx .
Le nouveau paramètre Politique d'importation des packages d'extension, dans le fichier platform-settings.json, permet de limiter l'importation des extensions à celles dont le marqueur haCompatibility est défini sur vrai dans les métadonnées d'extension. Pour plus d'informations, consultez la rubrique Détails de la configuration du fichier platform-settings.json .
La prise en charge par PTC de l'extension ThingWorx Web Socket Tunnel a pris fin. Pour plus d'informations, consultez cet article de support de PTC.
La prise en charge par PTC de l'extension ThingWorx Ghost Entity a pris fin. Pour plus d'informations, consultez cet article de support de PTC. Pour plus d'informations sur les entités fantômes, consultez la rubrique Création et suppression d'entités fantômes.
Mashup Builder
Création de schémas
Vous pouvez à présent superposer des conteneurs dans des schémas dynamiques lors du développement et de la réduction de conteneurs dans une application composite dynamique. Consultez la rubrique Développement et réduction de conteneurs .
Ajout de la possibilité de couper, copier et coller des conteneurs et leur contenu à l'aide des commandes de la barre d'outils et des raccourcis clavier. Cela permet de créer des schémas plus rapidement en copiant des conteneurs au lieu de widgets. Pour plus d'informations sur cette fonctionnalité, consultez la rubrique Gestion d'éléments sur le canevas .
Paramètres ajoutés pour la configuration des paramètres de la fenêtre d'affichage dans une application composite dynamique. Après avoir créé une application composite, vous utilisez ces paramètres pour ajuster le schéma des appareils mobiles. Ces paramètres sont disponibles dans l'onglet Paramètres mobiles des entités de l'application composite. Pour plus d'informations, consultez la rubrique Optimisation d'une application composite pour les appareils mobiles .
Interface utilisateur
Ajout de la prise en charge des commandes Annuler et Rétablir lors de la modification d'une application composite. Vous pouvez également afficher l'historique des modifications apportées à une application composite dans une session. Ces commandes sont disponibles dans la barre d'outils du canevas. Consultez la rubrique Utilisation des commandes Annuler et Rétablir dans une application composite .
Le panneau Connexions a été mis à jour et renommé Liaisons. Pour plus d'informations sur le nouveau panneau, consultez la rubrique Affichage des liaisons dans une application composite .
Le panneau Tâches a été renommé Rappels.
Les boîtes de dialogue de configuration de liaison pour les widgets et les services ont été mises à jour et améliorées. Vous pouvez désormais configurer des liaisons et rechercher plus facilement des sources et des cibles de liaison dans l'application composite. Pour plus d'informations, consultez les rubriques Configuration des liaisons dans une application composite et Configuration des services de données .
Ajout d'un filtre de catégorie à la liste des propriétés du widget dans le panneau Propriétés en fonction des catégories fonctionnelles. Vous pouvez désormais filtrer rapidement la liste de propriétés des catégories, telles que la taille et la position, la configuration, les données et les liaisons.
Services de données et liaisons
Ajout de la possibilité de configurer des liaisons pour les fonctions à l'aide de la fenêtre de configuration des liaisons. Pour plus d'informations, consultez la rubrique Fonctions .
Le panneau Données a été mis à jour et la boîte de dialogue Ajouter des données a été remaniée. Vous pouvez désormais rechercher des entités et ajouter des services de données à une application composite plus facilement. Pour plus d'informations, consultez la rubrique Ajout de services de données à une application composite .
Ajout d'un menu contextuel qui vous permet de créer des liaisons entre les propriétés de données dans les panneaux de données. Pour plus d'informations, consultez la rubrique Création de liaisons dans une application composite .
Thèmes stylistiques
Ajout de la possibilité de définir des propriétés de style pour les éléments suivants dans l'onglet Styles d'une entité de Thème stylistique :
Conteneurs de mise en page utilisés dans une application composite
Info-bulles utilisées par les widgets dans une application composite
L'application composite d'aperçu de l'onglet Styles a été mise à jour. Vous pouvez sélectionner vos propres applications composites pour afficher un aperçu des modifications apportées à un thème stylistique.
Pour plus d'informations, consultez la rubrique Utilisation de l'onglet Styles .
Ajout de trois nouveaux widgets dans la plateforme : Graphique à barres, Graphique en courbes et Graphique de planification. Ces widgets sont également disponibles en tant que composants Web. Pour plus d'informations sur ces widgets, consultez les rubriques suivantes :
Vous pouvez migrer des applications composites avec les versions héritées de ces widgets. Pour plus d'informations sur la migration, consultez la rubrique Widgets et mises en page hérités.
Les widgets de composants Web sont désormais publiés dans le kit de développement ThingWorx Web Component SDK. Vous pouvez utiliser le kit de développement pour créer vos propres widgets personnalisés.
Vous pouvez désormais créer des extensions de widget à partir de composants Web à l'aide de l'utilitaire ThingWorx Web Component SDK. Ces widgets de composants Web sont ajoutés à Mashup Builder lorsque vous importez votre extension de widget.
Ajout de la prise en charge de l'ajout d'images en tant qu'icônes pour les boutons de la boîte de dialogue de confirmation. Vous entrez une URL ou sélectionnez une entité de média pour spécifier une image.
Tous les widgets sont organisés en deux catégories, Standard ou Hérités, dans le Centre d'aide. Pour plus d'informations, consultez les rubriques suivantes :
Vous pouvez rechercher les différentes Catégories de widgets dans le panneau Widgets de ThingWorx Platform.
Le widget Sélecteur de date/heure a été mis à jour avec une nouvelle fonctionnalité de sélection de plage de dates. Pour plus d'informations sur les nouvelles propriétés ajoutées, consultez la rubrique Widget Sélecteur de date/heure (thématisable) .
ThingWorx Flow
Fonctionnalités étendues pour le déploiement
ThingWorx Flow est compatible avec un environnement ThingWorx de cluster actif-actif. La plupart des composants ThingWorx Flow peuvent être mis à l'échelle. Toutefois, ThingWorx Flow haute disponibilité n'est pas pris en charge. Pour plus d'informations, consultez la rubrique ThingWorx Flow dans ThingWorx haute disponibilité .
Dockerfiles ThingWorx Flow et fichiers Composer de prise en charge sont disponibles pour construire ThingWorx Flow dans un environnement Docker. Vous pouvez déployer avec ThingWorx Flow des images ThingWorx Docker en mode ThingWorx simple et en mode ThingWorx cluster haute disponibilité.
Le programme d'installation de mise à niveau automatisé de ThingWorx Flow est disponible pour la mise à niveau à partir d'une nouvelle installation de ThingWorx Flow 8.5.x et version ultérieure vers 9.0.
Vous ne pouvez pas utiliser ce programme d'installation de mise à niveau pour effectuer une nouvelle installation de 8.4.x. Même si vous avez effectué une mise à niveau manuelle de ThingWorx Flow à partir d'une nouvelle installation de 8.4.x vers une version 8.5.x, vous ne pouvez pas utiliser ce programme de mise à niveau automatique. Dans ce cas de figure, vous devez migrer ThingWorx Flow .
Fonctionnalités d'infrastructure améliorées
Par rapport aux versions précédentes qui ne prenaient en charge que les comptes fixes prédéfinis, vous pouvez désormais utiliser l'identité d'un utilisateur dans les connecteurs ThingWorx Flow. Cette fonctionnalité est essentielle pour une utilisation sécurisée en production avec de nombreuses applications et permet de récupérer différents contenus pour différents utilisateurs. Les types de connexion SSL bidirectionnelle et OAuth (utilisateur session) ont été introduits pour activer cette fonctionnalité. Pour plus d'informations, consultez la rubrique Types de connecteur.
Vous pouvez basculer un type de connexion pour le connecteur sélectionné, ce qui facilite la maintenance des processus. L'option Switch n'est disponible que si le service tiers prend en charge plusieurs types de connecteur.
Vous pouvez mapper des variables de connexion dans un processus, ce qui permet d'utiliser la même action ou le même processus pour différents environnements de services tiers. Pour plus d'informations, consultez la section Mapper connecteur.
Les entités de média ThingWorx peuvent utiliser des connecteurs ThingWorx Flow pour l'autorisation. Pour plus d'informations, consultez la rubrique Configuration de ThingWorx dans les entités de média .
Plusieurs formulaires d'action ont été mis à jour. Vous pouvez choisir Formulaire pour fournir des entrées pour les champs d'entrée individuels répertoriés dans le formulaire, ou choisir l'action Affecter JSON pour spécifier un seul JSON avec toutes les entrées requises. L'utilisation de l'option Affecter JSON raccourcit les formulaires et supprime également la limite de la longueur des éléments des tableaux.
Les services suivants ont été ajoutés à WorkflowSubsystem dans ThingWorx Composer :
Le service LoadOAuthConfiguration doit être utilisé pour charger les configurations OAuth sur le serveur ThingWorx Flow. Ce service fournit un modèle par défaut dans le format préconfiguré pour tous les services tiers qui prennent en charge OAuth.
Les services DeleteOAuthConfiguration ou GetOAuthConfiguration doivent être utilisés pour supprimer ou récupérer des configurations OAuth à partir du serveur ThingWorx Flow.
Le service DeleteOAuthAccessToken DeleteOAuthAccessToken vous permet de supprimer les jetons d'accès OAuth d'un utilisateur pour le fournisseur OAuth spécifié ou de supprimer les jetons d'accès OAuth de tous les utilisateurs pour le fournisseur OAuth spécifié.
Le service RefreshMetadata met en cache les informations Windchill OData pour améliorer les performances.
Interface utilisateur
Le tableau de bord de ThingWorx Flow a été remanié pour faciliter l'accès aux processus, connecteurs, déclencheurs, actions personnalisées et journaux d'activité.
Nouvelles actions
Ajout de l'action Synchroniser sous Outils de développement pour consolider les résultats des actions précédentes dans plusieurs chemins d'accès à l'action Synchroniser. Elle fait appel aux opérateurs logique ET et OU.
Ajout de l'action Renvoyer résultat sous Outils de développement pour renvoyer la sortie de toute action exécutée dans le processus vers le service ThingWorx synchrone ou le demandeur webhook lors de l'exécution du processus.
Ajout des actions Créer entité , Supprimer entité , Obtenir propriétés et Mettre à jour entité sous OData SAP pour interroger et manipuler des jeux de données dans votre système SAP via les opérations CRUD (créer, lire, mettre à jour et supprimer).
Les actions OData SAP prennent en charge les connecteurs de type Base et OAuth.
Ajout de l'action Exécuter BAPI sous RFC SAP pour exécuter les BAPI par défaut ou personnalisés. Le formulaire d'entrée change de manière dynamique en fonction du BAPI que vous fournissez.
Ajout d'une action Exécuter API Swagger sous Windchill pour exécuter les API Windchill Swagger.
Ajout de l'action Télécharger contenu sous Windchill pour télécharger le contenu à partir du serveur Windchill.
Ajout de l'action Charger contenu sous Windchill pour charger du contenu sous la forme d'un fichier, d'un flux ou d'une chaîne sur le serveur Windchill.
Ajout de l'action Exécuter procédure stockée sous Connecteur SQL pour exécuter une procédure SQL stockée.
Mise à jour des actions et services tiers existants
Tous les services tiers qui prenaient en charge auparavant les comptes OAuth fixes, OAuth (utilisateur nommé), ont été améliorés pour utiliser l'identité de l'utilisateur de la session en cours. Ce nouveau type de connecteur est appelé OAuth (utilisateur session). Pour plus d'informations, consultez la rubrique Types de connecteur.
L'action Requête HTTP prend en charge le type de connecteur de base.
Possibilité d'ajouter des en-têtes personnalisés aux actions faisant appel à HTTP.
Gitlab , JIRA et ThingWorx prennent en charge les types de connexion OAuth OAuth (utilisateur nommé) et OAuth (utilisateur session).
La boucle while a été ajoutée à l'action Boucle.
Toutes les actions Bitly et Dialogflow ont été mises à jour.
Connecteur SQL
Ajout de la prise en charge des connexions SSL unidirectionnelles et bidirectionnelles .
Possibilité de créer et de mettre à jour plusieurs lignes dans les actions Créer lignes et Mettre à jour lignes .
La case à cocher Distinct permet de renvoyer des valeurs uniques dans la colonne pour les actions Obtenir lignes et Obtenir lignes avec jointure .
Possibilité d'ajouter du SQL de forme libre dans les champs d'entrée Clause Où et Clause Jointure pour les actions Supprimer lignes , Obtenir lignes , Obtenir ligne avec jointure et Mettre à jour lignes .
Dynamics 365 CRM
La case à cocher Inclure domaines de référence dans les actions Exécuter actions et Exécuter fonctions offre la possibilité d'afficher les actions et les fonctions décrites respectivement par ActionImport et FunctionImport dans les domaines référencés.
Possibilité d'inclure les propriétés de navigation référencées pour les actions Créer enregistrement et Mettre à jour enregistrement . Le formulaire d'entrée change de manière dynamique en fonction du jeu d'entités que vous sélectionnez.
Possibilité de filtrer les propriétés d'un objet via une Requête à base de formulaire, une Requête discrète ou une Requête brute pour les actions Exécuter actions , Exécuter fonctions et Obtenir enregistrements.
OData
La case à cocher Inclure domaines de référence dans les actions Exécuter actions et Exécuter fonctions offre la possibilité d'afficher les actions et les fonctions décrites respectivement par ActionImport et FunctionImport dans les domaines référencés.
Possibilité d'inclure les propriétés de navigation référencées pour les actions Créer entité et Mettre à jour entité . Le formulaire d'entrée change de manière dynamique en fonction du jeu d'entités que vous sélectionnez.
Possibilité de filtrer les propriétés d'un objet via une Requête à base de formulaire, une Requête discrète ou une Requête brute pour les actions Exécuter actions, Exécuter fonctions et Obtenir propriétés .
Windchill
Ajout de la prise en charge de SSL Windchill bidirectionnel et OAuth (utilisateur session) .
La case à cocher Inclure domaines de référence dans les actions Exécuter actions et Exécuter fonctions offre la possibilité d'afficher les actions et les fonctions décrites respectivement par ActionImport et FunctionImport dans les domaines référencés.
Possibilité d'inclure les propriétés de navigation référencées pour les actions Créer entité et Mettre à jour entité . Le formulaire d'entrée change dynamiquement en fonction du type d'entité que vous sélectionnez.
Possibilité de filtrer les propriétés d'un objet par l'intermédiaire d'une Requête à base de formulaire, une Requête discrète ou une Requête brute pour les actions Exécuter actions, Exécuter fonctions , Obtenir entités par ID et Obtenir entités par requête .
Correctifs
Platform
Numéro de suivi
Le service DeleteDataTableEntriesWithQuery a été désapprouvé et remplacé par le service DeleteDataTableEntriesWithQueryCriteria service. Le service DeleteDataTableEntriesWithQueryCriteria n'accepte pas les paramètres location et sourcetype, bien qu'ils puissent être ajoutés au paramètre query.
TW-14728
Les services EnableSubscription et DisableSubscription ont été désapprouvés. Les services EnableSubscription et DisableSubscription ont été créés en remplacement et contiennent le paramètre d'entrée subscriptionName. Pour plus d'informations, reportez-vous à cette rubrique.
TW-66112
Correction d'un problème avec les objets industriels qui provoquaient l'affichage systématique des propriétés distantes sous la forme de ReadEdgeValue, même lorsqu'elles étaient définies comme UseDefaultValue.
TW-76929
Modification de l'étiquette Activé pour les timers et les planificateurs pour Activer automatiquement le timer au démarrage.
TW-75596
Ajout de deux API à EntityServices : GetEntityListByRegex et GetEntityListWithPermissionMaskByRegEx. Chacune de ces API utilise des expressions REGEX (uniquement) au lieu de chaînes de recherche SQL pour filtrer et répertorier les entités. L'API d'origine, GetEntityList, reste inchangée.
TW-75206
Correction d'un problème provoquant l'échec d'une importation s'elle contenait une entité avec des abonnements orphelins (par ex., un événement référencé manquant, une propriété ou une source). Pour résoudre ce problème, les importations sont effectuées en désactivant l'abonnement. Un message d'erreur est enregistré dans ce cas.
TW-74824
Correction d'un problème provoquant des erreurs lors de l'exécution de services asynchrones avec l'authentification unique (SSO).
TW-73693
Correction d'un problème qui empêchait l'affichage des données d'alerte dans l'historique des alertes après un changement de fournisseur de persistance.
TW-73656
Correction d'un problème qui provoquait l'enregistrement d'un module NPE lors de l'exécution des services.
TW-73624
Correction d'un problème avec des sorties de service incohérentes pour les services ThingWorx Analytics.
TW-73451
Correction d'un problème provoquant l'échec des services de purge si le nom de l'objet contenait un point lors de l'utilisation d'InfluxDB en tant que fournisseur de persistance.
TW-73166
Ajout d'entrées d'audit supplémentaires lorsqu'un utilisateur est ajouté ou supprimé d'un groupe d'utilisateurs.
TW-73086
Correction d'un problème empêchant le téléchargement d'une solution à partir de solution Central.
TW-73074
Correction d'un problème provoquant l'invalidité de la valeur du jeton de localisation csvDecimalDelimiter en français.
TW-72859
Correction d'un problème qui empêchait le traitement d'octets HTTP via l'en-tête de plages avec des fichiers stockés dans un référentiel ThingWorx.
TW-72614
Correction d'un problème qui empêchait la modification des permissions de groupe d'utilisateurs.
TW-72437
Correction d'un problème qui empêchait la suppression de l'implémentation du service après l'appel de RemoveServiceDefinition.
TW-71789
Correction d'un problème qui provoquait le renvoi par un service de toutes les propriétés de l'objet au lieu de celle spécifiée dans le table d'informations.
TW-71223
Correction d'un problème empêchant la mise à jour de la date de dernière modification lorsque l'utilisateur était configuré comme verrouillé ou déverrouillé dans les Paramètres de verrouillage du compte.
TW-71207
Correction d'un problème qui provoquait le renvoi par le service QueryImplementingThingsWithData de propriétés non définies sur une forme d'objet.
TW-70763
Correction d'un problème provoquant une erreur NullPointerException dans les journaux de script pour tout problème lié à la base de données.
TW-70070
Correction d'un problème qui empêchait l'application d'un lien hypertexte dans la colonne downloadLink d'un objet FileRepository.
TW-69493
Correction d'un problème qui faisait que le service GetFileInfo renvoyait le chemin deux fois.
TW-69429
Correction d'un problème qui faisait qu'une propriété distante affichait l'icône de bonne qualité (pouce vers le haut) pour une source qui n'existait pas.
TW-69026
Correction d'un problème provoquant l'utilisation par un navigateur Chrome plus de 2 Go de mémoire lors de l'exécution d'un service de requête SQL avec plus de 300000 lignes de données.
TW-68338
Correction d'un problème qui empêchait l'utilisation du formulaire de connexion si le nom de l'application composite contenait des caractères chinois.
TW-67517
Correction d'un problème qui changeait les caractères < et > dans la définition des états.
TW-67228
Correction d'un problème qui empêchait l'ajout de fichiers journaux dans le dossier d'archive.
TW-67040
Correction d'un problème provoquant l'échec d'un objet industriel importé avec des liaisons distantes.
TW-65621
Correction d'un problème qui empêchait la mise à jour d'une table de configuration avec des définitions de champ contenant des caractères spéciaux, après l'importation d'une extension.
TW-63646
Correction d'un problème provoquant le traitement incorrect de tags avec des caractères spéciaux dans le connecteur industriel.
TW-62586
Correction d'un problème qui faisait qu'un nom d'utilisateur composé d'une barre oblique inverse s'affichait deux fois dans Composer.
TW-58563
Ajout d'un commentaire visuel sur un objet lors de la spécification d'un flux de valeurs sur un modèle d'objet.
TW-58277
Correction d'un problème qui faisait passer le schéma de colonne de date/heure dans la table de flux d'un horodatage sans fuseau horaire à un horodatage avec fuseau horaire dans PostgreSQL.
TW-35605
Correction d'un problème qui empêchait le fonctionnement correct de la vérification syntaxique.
TW-35371
Correction d'un problème qui autorisait la suppression des jetons de la table de localisation du système.
TW-33567
Correction d'un problème qui empêchait le service ListDirectories de répertorier les répertoires en fonction du paramètre nameMask.
TW-14413
Correction d'un problème qui empêchait le démarrage du système en cas de perte d'une clé de chiffrage après une importation. Pour résoudre ce problème, l'administrateur peut démarrer le système mais sans importer les informations chiffrées (propriétés de mot de passe) sur le système. Le processus d'importation ignorera toutes les erreurs d'initialisation de type mot de passe, pour autoriser le démarrage après l'importation. Le message d'erreur suivant sera consigné :
During import property [Prop1] on thing [Thing1] initialization error occured,
skipping property initialization. Error message [Unable To Convert From java.lang.String to PASSWORD]
TW-75158
Correction du problème empêchant de packager une solution pour un projet contenant une entité de média avec une URL de contenu dynamique.
TW-73874
Mashup Builder
Numéro de suivi
Correction d'un problème avec le widget Collection qui faisait que la position d'une image passait d'absolue à relative.
TW-75614
Correction d'un problème qui empêchait la localisation de l'étiquette Choisir des fichiers sur le widget Charger un fichier.
TW-75542
Correction d'un problème avec le widget Entrée numérique qui empêchait la valeur "rien" de fonctionner après avoir été initialement définie.
TW-75477
Ajout de la propriété de style CellAlternateStyle au widget Collection pour permettre d'alterner les couleurs d'arrière-plan des cellules.
TW-75459
Correction d'un problème avec le graphique à étiquettes qui empêchait l'application de XAxisLabelRotation avec un graphique horizontal.
TW-75281
Correction d'un problème de séquence d'onglets entre les widgets.
TW-75279, TW-74292
Correction d'un problème avec les composants Web qui empêchaient la fermeture d'une liste déroulante figurant dans une fenêtre contextuelle.
TW-74971
Correction d'un problème avec le widget Collection qui empêchait la conservation des lignes sélectionnées lorsque des données étaient déclenchées après une actualisation automatique.
TW-74748
Correction d'un problème avec le widget Mise en page qui empêchait l'affichage correct des applications composites au moment de la conception.
TW-74454
Ajout de la possibilité de modifier la propriété Forme de données, si un routeur d'événements est en cours de modification. La propriété s'affiche de manière conditionnelle lorsque la propriété Type de données est définie sur INFOTABLE.
TW-74276
Correction d'un problème qui causait des erreurs dans la console ThingWorx au moment de l'exécution de l'application composite.
TW-74219
Correction d'un problème qui empêchait le défilement automatique du panneau de données lors du déplacement d'une liaison.
TW-74165
Correction d'un problème du widget Collection qui empêchait le fonctionnement du tri lorsqu'il était lié à une case à cocher.
TW-73903
Correction d'un problème avec le composant Web Case à cocher qui entraînait un décalage par rapport à son étiquette.
TW-73902
Correction d'un problème qui empêchait la mise à jour correcte de la classe personnalisée d'un conteneur flexible.
TW-73545
Correction d'un problème qui empêchait la reconnaissance des entités de média avec certains formats de nom dans Mashup Builder.
TW-73377
Correction d'un problème avec le widget Navigation qui empêchait l'affichage correct des caractères japonais.
TW-73302
Correction d'un problème qui empêchait la modification du remplissage dans un panneau dynamique qui contenait un widget Collection.
TW-73230
Correction d'un problème qui empêchait l'affichage des widgets hérités après une mise à niveau.
TW-72883
Correction d'un problème qui empêchait l'alignement des cellules dans les grilles lors de l'utilisation d'un thème stylistique.
TW-72466
Correction d'un problème qui entraînait l'enregistrement d'une erreur lors de l'accès aux applications composites sur un Mac.
TW-72270
Correction d'un problème qui provoquait l'affichage du sélecteur de dates derrière la fenêtre contextuelle lors de l'utilisation de la grille avancée.
TW-72205
Correction d'un problème qui faisait que le widget Tableau de bord restait invisible lors de la sélection de la propriété Visible.
TW-72145
Correction d'un problème avec le composant Web Sélecteur de date/heure qui provoquait le déclenchement d'un événement pour modification avant la mise à jour d'une valeur.
TW-72112
Correction d'un problème qui entraînait le renvoi d'une variable de session JSON indéfinie lorsqu'elle était liée à des expressions, des validateurs ou des services.
TW-72105
Correction d'un problème provoquant l'ajout automatique d'une barre de défilement lors de l'activation des propriétés dans une application composite dynamique.
TW-72013
Correction d'un problème avec le widget Liste qui provoquait la conservation d'une valeur de ligne sélectionnée lors d'une sélection précédente.
TW-72009
Correction d'un problème qui faisait qu'une CSS personnalisée liée à un tag parent était appliquée également au tag enfant.
TW-71845
Correction d'un problème qui faisait que l'actualisation automatique continuait de se déclencher après la fermeture d'une application composite ou si l'onglet n'était pas actif dans Composer.
TW-72305
Correction d'un problème avec le widget Affichage de valeur qui entraînait l'affichage du message "Pas une date" au lieu de la date au moment de l'exécution.
TW-71647
Correction d'un problème provoquant la création d'une liaison supplémentaire lors de la liaison d'un événement à un service d'expression.
TW-71193
Correction d'un problème avec le widget Chargement qui provoquait l'encodage de caractères spéciaux en HTML.
TW-71072
Correction d'un problème avec le widget Grille avancée qui empêchait la suppression des enregistrements.
TW-70997
Correction d'un problème avec le widget Collection qui empêchait le fonctionnement correct d'un double clic.
TW-70937
Correction d'un problème avec le widget du composant Web Champ de texte qui empêchait le fonctionnement correct de la séquence d'onglets.
TW-70303
Correction d'un problème avec le widget Bouton qui empêchait le changement de la propriété Désactivée s'il était lié à partir d'une expression.
TW-69883
Correction d'un problème avec les widgets Graphique qui les empêchait de se tracer correctement lorsque la propriété StackSeries était définie sur vrai.
TW-69412
Correction d'un problème avec les widgets Champ de texte et Espace de texte qui entraînait la conversion des doubles crochets en points d'interrogation.
TW-69149
Correction d'un problème avec le widget Image qui empêcherait le fonctionnement de SourceURL si le nom d'entité contenait un point.
TW-69114
Correction d'un problème avec le widget Filtre de données qui empêchait l'épinglage d'un emplacement dans Google Maps.
TW-68977
Correction d'un problème avec le composant Web Affichage de valeur qui empêchait la définition de styles.
TW-68027
Correction d'un problème avec le composant Web Navigation qui empêchait l'application de liaisons aux paramètres TargetMashup et TargetMashupType.
TW-67708
Correction d'un problème empêchant la définition d'une largeur de bouton inférieure à 41 px.
TW-67124
Correction d'un problème avec les composants Web qui empêchait la fermeture d'une liste déroulante figurant dans une fenêtre contextuelle.
TW-65497
Correction d'un problème qui empêchait l'affichage du contenu d'une fenêtre contextuelle en effectuant un zoom dans des résolutions plus petites.
TW-52677
Problèmes connus et limitations
Les limitations et problèmes suivants ont été détectés dans ThingWorx 9.0.0 :
Plateforme
Si vous utilisez InfluxDB comme base de données et la forme de données ThingworxMetric, et que vous avez créez des entités, telles que des tables de données ou des flux avec cette forme de données, elles risquent de ne pas fonctionner dans 9.0. Son type de base a été changé de NOMBRE à VARIANTE. Par conséquent, vous devez créer et utiliser une nouvelle forme de données avec les mêmes champs pour ces entités.
Mashup Builder
Après avoir migré une application composite, les widgets Champ de texte et Zone de texte ne conservent pas le style de texte défini à l'aide de la propriété de style font-weight. Dans ThingWorx 8.5, la propriété de style font-weight était incorrectement répertoriée sous la partie text-box du widget au lieu de text-value. Lorsque vous migrez une application composite vers 9.0, la propriété de style reste visible mais n'affecte pas les widgets. Pour appliquer un style au texte du widget, définissez la propriété de style sous la partie text-value. Lorsque vous créez une nouvelle application composite, la propriété de style est correctement répertoriée sous la partie text-value dans le panneau Propriétés de style.
Lorsque vous migrez une application composite vers 9.0, la propriété Value du widget Champ de texte a été supprimée de la liste du panneau Propriétés. La propriété est désormais désapprouvée et toutes les liaisons qui y sont associées ont été supprimées. Cela concerne toutes les applications composites dans lesquelles la propriété de widget est utilisée. Pour contourner ce problème, recréez les liaisons en utilisant la propriété Text.
Dans l'onglet CSS personnalisée des entités de thème de style et d'application composite, les variables CSS sont incorrectement mises en surbrillance comme des erreurs de syntaxe lorsque le linting est activé. Ces variables sont utilisées pour les widgets de style auxquels vous pouvez appliquer un thème de style. Pour contourner ce problème, désactivez le linting dans l'éditeur ou ignorez le message d'avertissement, et enregistrez vos modifications dans l'entité. Les variables CSS sont appliquées aux widgets au moment de l'exécution.
Informations de fin de prise en charge
Informations de fin de prise en charge
Suite à une évaluation approfondie du produit, et dans un souci de renforcer la sécurité de la plateforme ThingWorx, PTC a supprimé de cette version un ensemble de fonctionnalités dont l'adoption restait faible. Pour ThingWorx 9.0, les fonctionnalités suivantes ne sont plus prises en charge :
Possibilité d'utiliser le texte enrichi dans le champ Documentation de Composer (le texte enrichi existant s'affiche sous forme de HTML brut).
La possibilité d'utiliser du texte enrichi dans les blogs et les wikis dans Mashup Builder (le texte enrichi existant s'affiche en tant que HTML brut).
Possibilité de modifier le texte HTML dans les applications composites. Les utilisateurs de ThingWorx pourront toujours afficher le contenu HTML sans le modifier. Le contenu sera assaini et devra être correctement formé à l'aide des balises HTML prises en charge.
Query Microservice n'est plus pris en charge.
Est-ce que cela a été utile ?