FAQ sur les groupes d'objets
Question
Réponse
Puis-je configurer la délégation des autorisations d'exécution aux groupes d'objets ?
Non, car les entités groupe d'objets ne disposent du même ensemble de services que les entités objet. C'est le cas pour les objets personnalisés créés à partir de modèles et de formes d'objet standard, et particulièrement pour les modèles et les formes d'objet personnalisés.
Comment puis-je activer les messages du journal d'audit associés à l'appartenance à un groupe d'objets ?
Vous devez utiliser le fichier platform-settings.json. Pour plus d'informations, consultez la rubrique dédiée aux messages du sous-système d'audit.
Comment puis-je obtenir une liste de tous les objets que je peux gérer ou utiliser dans les applications ThingWorx ?
Il existe deux manières d'accéder à toutes les entités objet que vous êtes autorisé à afficher :
Dans Composer : sélectionnez Objets dans la section Modélisation pour accéder à tous les objets que vous êtes autorisé à afficher. Un groupe d'objets n'est pas nécessaire si l'utilisateur dispose des autorisations nécessaires dans Composer et des autorisations de visibilité pour afficher les objets de la collection d'objets.
Via des API REST : ThingWorx fournit des API pour REST, les services JavaScript et la logique d'extension Java pour obtenir la liste des objets de la collection d'objets. Le contexte utilisateur de la logique qui appelle cette API de liste de collection d'objets détermine les autorisations de visibilité utilisées ainsi que la liste des objets renvoyés. Les applications ThingWorx peuvent être écrites à l'aide des services JavaScript et des extensions Java. Pour les API REST, l'URI de ressource est le point de terminaison /Thingworx/Things.
Quels sont les groupes d'objets ou les objets pour lesquels un utilisateur ou un groupe d'utilisateurs dispose-t-il d'une autorisation de visibilité ?
Les utilisateurs autorisés de services peuvent le déterminer comme suit :
1. Déterminez les organisations et/ou les unités d'organisation auxquelles appartient un utilisateur ou un groupe d'utilisateurs en tant que membre.
2. A l'aide d'une approche itérative, telle qu'une boucle for dans les scripts de service ThingWorx, itérez sur tous les objets/groupes d'objets et appelez les services GetVisibilityPermissions ou GetVisibilityPermissionsAsJSON pour voir si des organisations/unités d'organisation apparaissent dans la liste obtenue dans la première étape.
* 
La configuration des autorisations pour appeler ces services doit être effectuée avec soin, car les services vérifient les appartenances exactes et renvoient des listes sans se préoccuper de la visibilité des groupes. Ils sont donc destinés à être utilisés par des processus API privilégiés.
En quoi l'activation de la délégation des autorisations de visibilité des groupes d'objets impacte-t-elle les performances ?
Lorsque la délégation des autorisations de visibilité des groupes d'objets est activée, l'impact sur les performances varie en fonction de plusieurs configurations de déploiement :
Si l'utilisateur est un administrateur ou le propriétaire de l'objet ou du groupe d'objets, il n'a pas besoin d'effectuer d'autres vérifications dans la fonctionnalité de délégation des autorisations de visibilité.
Les autorisations de visibilité d'objets/de groupes d'objets explicites qui sont acceptables et valides pour l'utilisateur demandeur ne nécessitent aucune vérification supplémentaire dans la fonctionnalité de délégation des autorisations de visibilité.
Le schéma (profondeur, largeur, numéro, etc.) des modèles de hiérarchie des groupes d'objets impacte l'algorithme de vérification de la visibilité des participants de cette hiérarchie.
La fréquence de modification de l'appartenance à un groupe d'objets (modification du modèle) qui invalide les vérifications de visibilité précédentes nécessitant un nouveau calcul de l'élément de liste précédent.
La fréquence d'accès à la visibilité d'un objet/groupe d'objets spécifique peut nécessiter un nouveau calcul si les données de vérification de visibilité précédentes ne sont plus disponibles.
* 
Si la délégation des autorisations de visibilité est désactivée, les performances de vérification de visibilité sont alignées sur celles de la vérification des objets/groupes d'objets directs.
Comment puis-je obtenir une liste de tous les objets d'un modèle/modèle d'objet à utiliser dans les applications ThingWorx ?
Pour obtenir une liste de tous les objets qui vous sont visibles :
* 
Les modèles Axeda sont représentés dans ThingWorx en tant que modèles d'objet.
Utilisez un appel de service (via REST, un service JavaScript, des extensions Java) sur l'un des services QueryImplementingThings sur le modèle d'objet et les formes d'objet :
QueryImplementingThings
QueryImplementingThingsWithData
QueryImplementingThingsWithNamedData
QueryImplementingThingsWithPropertyHistory
QueryImplementingThingsWithNamedPropertyHistory
Les services suivants peuvent être utilisés sans fournir de paramètres de requête :
GetImplementingThings
GetImplementingThingsWithData
Comment puis-je modéliser les objets d'une région à utiliser dans les applications ThingWorx ?
Une région est une zone ou une division géographique qui peut être modélisée à l'aide de tags de modèle, de valeurs de propriété, d'entités groupe d'objets, etc.
Les entités groupe d'objets fournissent une fonctionnalité de hiérarchie native qui permet d'imbriquer des régions dans les régions sous la forme d'une hiérarchie. Vous pouvez activer la visibilité sur les objets et groupes d'objets d'une hiérarchie pour un ensemble spécifique d'utilisateurs.
1. Créez un groupe d'objets à l'aide de l'API REST, des services de ThingWorx ou via l'interface utilisateur de l'entité groupe d'objets.
2. Personnalisez les détails de l'entité groupe d'objets en fournissant des données de modèle d'entité supplémentaires telles que le nom, la description et les tags.
3. Ajoutez des objets ou des groupes d'objets de sous-région en tant que membres du groupe d'objets via l'API REST et/ou les services et/ou les services des membres du groupe d'objets.
Comment puis-je obtenir une liste des objets d'une région ?
Vous pouvez procéder de diverses manières, en fonction de l'implémentation d'une région et de la façon dont vous avez marqué les objets de cette région. Vous pouvez utiliser des tags de modèle (aucune hiérarchie fournie), des valeurs de propriété de type chaîne (aucune hiérarchie fournie) ou des groupes d'objets (hiérarchie fournie).
Si vous avez utilisé des tags de modèle ou des valeurs de propriété de type chaîne, vous pouvez utiliser différents services de ressources de recherche, ou si le modèle d'objet/la forme d'objet est connu(e), vous pouvez utiliser divers services (QueryImplementingThings, QueryImplementingThingsWithData, QueryImplementingThingsWithNamedData, QueryImplementingThingsWithPropertyHistory ou encore GetImplementingThingsWithData) pour obtenir une liste des objets qui répondent aux critères de recherche.
Si vous avez implémenté complètement ou partiellement vos régions en tant que groupes d'objets, vous pouvez rechercher le groupe d'objets d'une région particulière et appeler des services qui renvoient la liste des objets sans critères de requête.
Comment puis-je modéliser les objets d'un client à gérer et/ou utiliser dans les applications ThingWorx ?
Un client, une entreprise, une société ou une division peuvent être modélisés à l'aide de tags de modèle, de valeurs de propriété ou d'entités groupe d'objets. L'utilisation de groupes d'objets pour ces exemples de modélisation fournit des fonctionnalités permettant d'imbriquer des constructions métier ou non géographiques similaires en tant que hiérarchie. Vous pouvez activer la visibilité sur les objets et groupes d'objets d'une hiérarchie pour un ensemble spécifique d'utilisateurs :
1. Créez un groupe d'objets à l'aide de l'API REST et/ou des services de ThingWorx ou via l'interface utilisateur de l'entité groupe d'objets.
2. Personnalisez les détails de l'entité groupe d'objets en fournissant des données de modèle d'entité supplémentaires telles que le nom, la description et les tags.
3. Ajoutez des objets ou des groupes d'objets de sous-région en tant que membres du groupe d'objets via l'API REST des membres du groupe d'objets ou utilisez les services pour tirer parti de la fonctionnalité d'imbrication/de hiérarchie native.
Comment puis-je obtenir une liste des objets d'un client ?
Vous pouvez procéder de diverses manières, en fonction de la façon dont vous implémentez un client et marquez les objets de ce client. Vous pouvez entre autres utiliser des tags de modèle (aucune hiérarchie fournie), des valeurs de propriété de type chaîne (aucune hiérarchie fournie) ou des groupes d'objets (hiérarchie fournie).
Si vous utilisez des tags de modèle ou des valeurs de propriété de type chaîne, vous pouvez utiliser différents services de ressources de recherche, ou si le modèle d'objet/la forme d'objet est connu(e), vous pouvez utiliser divers services (QueryImplementingThings, QueryImplementingThingsWithData, QueryImplementingThingsWithNamedData, QueryImplementingThingsWithPropertyHistory ou encore GetImplementingThingsWithData) pour obtenir une liste des objets qui répondent aux critères de recherche.
Si vous avez implémenté complètement ou partiellement vos clients en tant que groupes d'objets, vous pouvez rechercher le groupe d'objets d'un client et appeler des services qui renvoient la liste des objets sans critères de requête.
Comment puis-je modéliser les objets d'un système à gérer et/ou utiliser dans les applications ThingWorx ?
Il existe plusieurs options :
Utilisez THINGNAME comme type de base pour les propriétés définies sur un objet. Cela vous permet d'indiquer que l'objet qui possède ces propriétés est un objet conteneur qui contient les objets référencés par ces propriétés. Ces objets, dont les noms sont les valeurs des propriétés de type de base THINGNAME, sont considérés comme des objets contenus. Vous pouvez également fortement typer ces propriétés pour autoriser des objets contenus spécifiques qui implémentent des formes ou des modèles d'objet spécifiques.
Définissez/utilisez un réseau pour ce scénario lorsqu'un objet contenu l'est uniquement par un seul noeud au sein du réseau. Si un objet est contenu par plusieurs noeuds au sein d'un même réseau, utilisez le premier scénario.
Si les approches précédentes ne suffisent pas, vous pouvez également utiliser les fonctionnalités générales des groupes d'objets pour répondre aux exigences du modèle ou de la logique d'application.
Comment puis-je modéliser un groupe d'objets partageant le même emplacement comme "Ma maison" ou "Mon entreprise" ?
Ces objets partageant le même emplacement, vous pouvez utiliser des tags de modèle, des valeurs de propriété, des groupes d'objets ou des objets contenus pour modéliser le groupe.
Si vous utilisez un groupe d'objets pour conserver ces objets en tant que membres, vous pouvez également imbriquer dans les groupes d'objets des objets pour classer et collecter ceux des sous-groupes des objets "Ma maison" ou "Mon entreprise" qui partagent le même emplacement. Dans cet exemple, les groupes d'objets imbriqués/sous-groupes peuvent être des pièces ou des étages d'un immeuble.
Comment puis-je associer des emplacements à une région ?
Utilisez le type de base LOCATION (données de latitude, de longitude et d'altitude) pour les définitions de propriétés ou créez votre propre table d'informations de métadonnées de localisation, telles que des adresses postales ou d'autres formats de repère ou de paramètres régionaux.
Si un modèle d'entité ou une application ThingWorx nécessite de connaître les données de localisation qui sont "possédées ou contenues dans une région donnée", en fonction des exigences de performances d'exécution de l'application, les autorisations relatives à ces données de localisation peuvent être stockées dans des tables de données. Ces informations peuvent exister à différents niveaux hiérarchiques dans les groupes d'objets en tant que membres de ces groupes d'objets ou via d'autres associations personnalisées/spécifiques aux applications, telles que des tags de modèle ou des tags de données.
Comment puis-je associer des emplacements à un client ?
Utilisez le type de base LOCATION (données de latitude, de longitude et d'altitude) pour les définitions de propriétés ou créez votre propre table d'informations de métadonnées de localisation, telles que des adresses postales ou d'autres formats de repère ou de paramètres régionaux.
Si un modèle d'entité ou une application ThingWorx nécessite de connaître un format de données de localisation qui sont "possédées ou contenues dans un client, une entreprise, une société ou une division donné(e)", en fonction des exigences de performances d'exécution de l'application, les autorisations relatives à ces données de localisation peuvent être stockées dans des tables de données. Ces informations peuvent exister à différents niveaux hiérarchiques dans les groupes d'objets en tant que membres de ces groupes d'objets ou via d'autres associations personnalisées/spécifiques aux applications, telles que des tags de modèle ou des tags de données.
Comment puis-je ajouter un emplacement à un ou plusieurs objets ?
ThingWorx fournit un modèle riche permettant d'affecter des données à des objets via des définitions de propriété d'objet, de modèle d'objet et de forme d'objet dont les valeurs sont définies, stockées et récupérées à partir de l'instance d'objet.
Si vos objets sont d'un type commun spécifique et que vous partagez un modèle d'objet commun, ou que vous disposez d'objets de types différents mais que vous partagez ou pouvez partager une forme d'objet commune, les propriétés peuvent être définies une fois sur ce modèle et/ou cette forme d'objet commun(e).
La valeur de la définition de propriété d'un modèle ou d'une forme d'objet est définie sur l'objet. Si une propriété est définie avec un type de base LOCATION, STRING ou autre, vous pouvez définir la valeur de cette propriété de localisation sur l'objet. La valeur de cette propriété dépend de son type de base ou du format personnalisé des données que vous souhaitez prendre en charge dans votre application, telles que les coordonnées ou les adresses postales.
Comment puis-je ajouter un client à un ou plusieurs objets ?
ThingWorx fournit un modèle riche permettant d'affecter des données à des objets via des définitions de propriété d'objet, de modèle d'objet et de forme d'objet dont les valeurs sont définies, stockées et récupérées à partir de l'instance d'objet.
Si vos objets ou actifs sont d'un type commun spécifique et que vous partagez un modèle d'objet commun, ou que vous disposez d'objets et d'actifs de types différents mais que vous partagez ou pouvez partager une forme d'objet commune, les propriétés peuvent être définies une fois sur ce modèle et/ou cette forme d'objet commun(e).
La valeur de cette définition de propriété d'un modèle ou d'une forme d'objet est définie sur l'objet. Si une propriété est définie avec un type de base STRING ou autre, vous pouvez définir la valeur de cette propriété de nom de client, d'entreprise, de société ou de division sur l'objet ou l'actif. La valeur de cette propriété dépend de son type de base ou du format personnalisé des données que vous souhaitez prendre en charge dans votre application, telles que le nom du client, de l'entreprise, de la société ou de la division.
Comment puis-je visualiser les enfants d'un groupe d'objets ?
Dans Composer, ouvrez un groupe d'objets existant. Cliquez sur l'onglet Détails d'appartenance, localisez la zone de liste déroulante, puis sélectionnez Groupes d'objets enfants directs.
Pour afficher les détails d'un enfant de groupe d'objets, cliquez sur l'entrée dans le panneau de l'onglet Détails d'appartenance, puis sélectionnez Afficher. Depuis cette vue, accédez aux Détails d'appartenance pour afficher les groupes d'objets enfants directs de ce groupe d'objets.
Comment puis-je visualiser les groupes d'objets parents d'un groupe d'objets ?
Dans Composer, ouvrez un groupe d'objets existant. Cliquez sur l'onglet Détails d'appartenance, localisez la zone de liste déroulante, puis sélectionnez Groupes d'objets parents directs.
Pour afficher les détails d'un enfant de groupe d'objets, cliquez sur l'entrée dans le panneau de l'onglet Détails d'appartenance, puis sélectionnez Afficher. Depuis cette vue, accédez aux Détails d'appartenance pour afficher les groupes d'objets enfants directs de ce groupe d'objets.
Quand puis-je privilégier des réseaux à des groupes d'objets ?
Les réseaux sont recommandés pour les relations de connexion directe, telles que les machines d'une ligne de production, entre les objets. Les groupes d'objets le sont pour regrouper des objets selon des caractéristiques communes, telles que les types de modèle, la localisation, le client ou la région.
Bien que les réseaux et les groupes d'objets offrent tous deux la possibilité de modéliser des hiérarchies, il existe des différences qui doivent être prises en compte.
Les réseaux nécessitent d'utiliser le réseau pour suivre les enfants et les parents d'un noeud donné.
Les réseaux ne peuvent pas contenir une autre entité réseau en tant que membre.
Les groupes d'objets permettent de disposer d'une hiérarchie et de naviguer dedans. De ce fait, la modélisation de régions, de clients et d'autres relations hiérarchiques est recommandée pour les groupes d'objets.
Les groupes d'objets peuvent être réutilisés dans d'autres groupes d'objets en tant qu'enfants pour créer des branches de sous-ensembles réutilisables de plusieurs hiérarchies.
Est-ce que cela a été utile ?