Personnalisation des blocs de construction > Personnalisation des services
Personnalisation des services
Vous pouvez personnaliser les services fournis dans les blocs de construction PTC pour implémenter votre propre logique. Cela implique de créer un nouveau bloc de construction qui s'étend à partir du bloc de construction PTC et de remplacer le service sur l'objet de gestionnaire pour votre nouveau bloc de construction. Les services d'un bloc de construction peuvent être affichés sur la page Services de l'objet de gestionnaire du bloc de construction.
Lorsque vous personnalisez des services, tenez compte des points suivants :
La modification du code de service peut entraîner une dégradation des performances, notamment des services dont l'exécution est trop longue ou qui nécessitent un calcul intensif.
Il est recommandé de personnaliser les services d'infrastructure plutôt que les services associés à l'interface utilisateur.
Personnalisation d'un service
Pour personnaliser un service, procédez comme suit :
1. Déterminez quel bloc de construction inclut le service que vous souhaitez personnaliser. Vous pouvez le déterminer facilement à partir du nom de l'objet de gestionnaire dans lequel se trouve le service. Par exemple, si le service se trouve sur l'objet PTC.StatusImpl.Manager, il fait partie du bloc de construction PTC.StatusImpl.
2. Créez un nouveau bloc de construction qui s'étend à partir du bloc de construction PTC incluant le service que vous souhaitez personnaliser.
Pour créer votre nouveau bloc de construction, procédez comme suit :
a. Créez un nouveau projet. Utilisez un préfixe unique pour votre projet, tel que le nom de votre société. Le préfixe PTC est réservé pour les entités livrées par PTC. Pour cet exemple, créez un projet nommé MyCompany.StatusImpl. Pour chaque nouveau modèle d'objet, objet ou autre entité que vous créez pour ce bloc de construction, ajoutez votre nouveau projet en tant que valeur de Projet sur la page Informations générales de l'entité.
b. Créez un nouveau modèle d'objet dans votre projet qui utilise PTC.DefaultConfiguration.EntryPoint_TT comme Modèle d'objet de base. Pour cet exemple, nommez le nouveau modèle d'objet MyCompany.StatusImpl.EntryPoint_TT.
c. Créez un nouvel objet dans votre projet qui utilise le modèle d'objet créé à l'étape 2.b comme Modèle d'objet de base. Pour cet exemple, nommez le nouvel objet MyCompany.StatusImpl.EntryPoint.
d. Créez un nouveau modèle d'objet dans votre projet qui utilise le modèle d'objet du gestionnaire du bloc de construction PTC à partir duquel votre bloc de construction est étendu comme Modèle d'objet de base. Pour cet exemple, nommez le nouveau modèle d'objet MyCompany.StatusImpl.Manager_TT et utilisez PTC.StatusImpl.Manager_TT comme Modèle d'objet de base.
e. Créez un nouvel objet dans votre projet qui utilise le modèle d'objet créé à l'étape 2.d comme Modèle d'objet de base. Pour cet exemple, nommez le nouvel objet MyCompany.StatusImpl.Manager et utilisez MyCompany.StatusImpl.Manager_TT comme Modèle d'objet de base.
3. Ajoutez toutes les configurations de l'objet de gestionnaire du bloc de construction d'interface utilisateur d'origine à l'objet de gestionnaire de votre nouveau bloc de construction.
a. Accédez à l'objet de gestionnaire que vous avez créé à l'étape 2.e, dans cet exemple, MyCompany.StatusImpl.Manager.
b. Sous Configuration, ajoutez les mêmes configurations que celles de la page Configuration de l'objet de gestionnaire du bloc de construction d'origine, dans cet exemple, PTC.StatusImpl.Manager.
4. Enregistrez l'objet de gestionnaire de votre nouveau bloc de construction en tant que gestionnaire à utiliser à la place du gestionnaire du bloc de construction PTC à partir duquel votre bloc de construction est étendu.
a. Accédez à l'objet PTC.Base.Manager.
b. Sous Configuration, accédez à la table de configuration DefaultGlobalManagerConfiguration.
c. Cliquez sur Icône Modifier pour la ligne dont la valeur managerThingName correspond au gestionnaire du bloc de construction PTC à partir duquel votre bloc de construction est étendu.
Pour cet exemple, cliquez sur Icône Modifier pour la ligne présentant la valeur managerThingName de PTC.StatusImpl.Manager.
d. Dans la fenêtre d'édition, définissez le champ manageThingName sur le nom de l'objet de gestionnaire de votre bloc de construction que vous avez créé à l'étape 2.e.
e. Cliquez sur Définir pour définir la nouvelle valeur.
f. Cliquez sur Enregistrer pour enregistrer les modifications apportées à l'objet PTC.Base.Manager.
5. Remplacez le service pour implémenter votre logique personnalisée.
a. Accédez au modèle d'objet du gestionnaire de votre bloc de construction. Dans cet exemple, accédez au modèle d'objet MyCompany.StatusImpl.Manager_TT.
b. Sous Services, recherchez le service que vous souhaitez personnaliser, puis cliquez sur Icône de remplacement pour remplacer le service.
c. Dans l'éditeur de script, effectuez les modifications de code nécessaires pour implémenter votre logique personnalisée.
d. Cliquez sur Terminé pour enregistrer les modifications apportées au service.
e. Cliquez sur Enregistrer pour enregistrer les modifications apportées à l'objet de gestionnaire.
Personnalisation d'un service sur un bloc de construction de l'interface utilisateur
Si le service que vous remplacez est un service pour un bloc de construction de l'interface utilisateur, procédez comme suit :
1. Créez un nouveau bloc de construction qui s'étend à partir du bloc de construction PTC, dans cet exemple, le bloc de construction PTC.ProductionDashboard.
Pour créer votre nouveau bloc de construction, procédez comme suit :
a. Créez un nouveau projet. Utilisez un préfixe unique pour votre projet, tel que le nom de votre société. Le préfixe PTC est réservé pour les entités livrées par PTC. Pour cet exemple, créez un projet nommé MyCompany.ProductionDashboard. Pour chaque nouveau modèle d'objet, objet ou autre entité que vous créez pour ce bloc de construction, ajoutez votre nouveau projet en tant que valeur de Projet sur la page Informations générales de l'entité.
b. Créez un nouveau modèle d'objet dans votre projet qui utilise PTC.Base.ComponentEntryPoint_TT comme Modèle d'objet de base. Pour cet exemple, nommez le nouveau modèle d'objet MyCompany.ProductionDashboard.EntryPoint_TT.
c. Créez un nouvel objet dans votre projet qui utilise le modèle d'objet créé à l'étape 1.b comme Modèle d'objet de base.
d. Créez un nouveau modèle d'objet dans votre projet qui utilise le modèle d'objet du gestionnaire du bloc de construction PTC à partir duquel votre bloc de construction est étendu comme Modèle d'objet de base. Pour cet exemple, nommez le nouveau modèle d'objet MyCompany.ProductionDashboard.Manager_TT et utilisez PTC.ProductionDashboard.Manager_TT comme Modèle d'objet de base.
e. Créez un nouvel objet dans votre projet qui utilise le modèle d'objet créé à l'étape 1.d comme Modèle d'objet de base. Pour cet exemple, nommez le nouvel objet MyCompany.ProductionDashboard.Manager et utilisez MyCompany.ProductionDashboard.Manager_TT comme Modèle d'objet de base.
2. Remplacez le service pour implémenter votre logique personnalisée.
a. Accédez au modèle d'objet du gestionnaire de votre bloc de construction. Dans cet exemple, accédez au modèle d'objet MyCompany.ProductionDashboard.Manager_TT.
b. Sous Services, recherchez le service que vous souhaitez personnaliser, puis cliquez sur Icône de remplacement pour remplacer le service.
c. Dans l'éditeur de script, effectuez les modifications de code nécessaires pour implémenter votre logique personnalisée.
d. Cliquez sur Terminé pour enregistrer les modifications apportées au service.
e. Cliquez sur Enregistrer pour enregistrer les modifications apportées à l'objet de gestionnaire.
3. Mettez à jour la propriété manager sur l'application composite principale pour cette interface utilisateur afin qu'elle pointe vers l'objet de gestionnaire de votre nouveau bloc de construction. Ainsi, les applications composites appelées par cette application composite principale exécutent des services à partir de votre nouveau gestionnaire plutôt que du gestionnaire du bloc de construction d'origine.
L'application composite principale est l'application composite qui est chargée lorsque l'option de menu du bloc de construction est sélectionnée dans le menu de navigation de la solution. Le nom de l'application composite principale est disponible dans le tableau MenuConfiguration de la page Configuration de l'objet de gestionnaire du bloc de construction. Il s'agit du menuItemMashupName de la ligne où la valeur menuName est MasterMenuNavigation. Par exemple, l'application composite principale pour le bloc de construction du Tableau de bord de production est PTC.ProductionDashboard.MainFrame_MU.
a. Accédez à l'application composite principale pour le bloc de construction de l'interface utilisateur.
b. Dupliquez l'application composite. Par exemple, si vous dupliquez l'application composite principale pour le bloc de construction du Tableau de bord de production, nommez-la MyCompany.ProductionDashboard.MainFrame_MU. Remplacez la valeur Projet de la page Informations générales de votre application composite par le projet que vous avez créé à l'étape 1.a.
c. Cliquez sur Conception pour afficher l'application composite dans le Mashup Builder.
d. Dans l'Explorateur, sélectionnez le niveau supérieur de l'application composite.
e. Sous Propriétés, modifiez la propriété manager pour qu'elle pointe vers le gestionnaire de votre nouveau bloc de construction que vous avez créé à l'étape 1.e.
f. Cliquez sur Enregistrer pour enregistrer l'application composite.
4. Ajoutez toutes les configurations de l'objet de gestionnaire du bloc de construction d'interface utilisateur d'origine à l'objet de gestionnaire de votre nouveau bloc de construction.
a. Accédez à l'objet de gestionnaire que vous avez créé à l'étape 1.e, dans cet exemple, MyCompany.ProductionDashboard.Manager.
b. Sous Configuration, ajoutez les mêmes configurations que celles de la page Configuration concernant l'objet de gestionnaire du bloc de construction d'origine, dans cet exemple, PTC.ProductionDashboard.Manager. En particulier, ajoutez les configurations à partir des tableaux MashupConfiguration et DefaultConfiguration.
5. Modifiez l'option de menu du menu de navigation de la solution pour lancer votre application composite principale dupliquée. Pour plus d'informations, consultez la rubrique Personnalisation du menu de la solution.
6. Assurez-vous que tous les signets vers l'application composite d'origine ou tous les services ou autres applications composites qui appellent l'application composite d'origine directement sont mis à jour de manière à utiliser l'application composite dupliquée créée à l'étape 3.b.
Personnalisation des services à partir de formes d'objet de logique de modèle
Les formes d'objet de logique de modèle PTC issues de différents blocs de construction sont implémentées par les modèles d'objet dans le bloc de construction PTC.MfgModel pour les entités de modèle d'équipement (entreprise, région, site, zone, poste de charge et poste de travail). Vous pouvez remplacer des services hérités de formes d'objet de logique de modèle PTC sur des objets d'équipement individuels ou remplacer le service sur le modèle d'objet pour un type de modèle d'équipement, afin de modifier ce service pour tous les objets de ce type de modèle d'équipement.
Pour déterminer si un service est hérité d'une forme d'objet de logique de modèle, consultez la page Services du modèle d'objet fourni par PTC pour le type d'équipement dans lequel le service est trouvé. La page Services identifie les entités à partir desquelles les services sont hérités.
Pour remplacer un service hérité d'une forme d'objet de logique de modèle et utilisé sur un modèle d'objet pour un type d'équipement, procédez comme suit :
1. Créez un nouveau bloc de construction qui s'étend à partir du bloc de construction PTC, dans cet exemple, le bloc de construction PTC.MfgModel.
Pour créer votre nouveau bloc de construction, procédez comme suit :
a. Créez un nouveau projet. Utilisez un préfixe unique pour votre projet, tel que le nom de votre société. Le préfixe PTC est réservé pour les entités livrées par PTC. Pour cet exemple, créez un projet nommé MyCompany.MfgModel. Pour chaque nouveau modèle d'objet, objet ou autre entité que vous créez pour ce bloc de construction, ajoutez votre nouveau projet en tant que valeur de Projet sur la page Informations générales de l'entité.
b. Créez un nouveau modèle d'objet dans votre projet qui utilise PTC.Base.ComponentEntryPoint_TT comme Modèle d'objet de base. Pour cet exemple, nommez le nouveau modèle d'objet MyCompany.MfgModel.EntryPoint_TT.
c. Créez un nouvel objet dans votre projet qui utilise le modèle d'objet créé à l'étape 1.b comme Modèle d'objet de base.
* 
Si vous personnalisez également les services trouvés sur l'objet de gestionnaire pour un bloc de construction PTC, suivez les instructions relatives à la personnalisation des services répertoriés dans les sections précédentes, notamment la création du modèle d'objet du gestionnaire et de l'objet de gestionnaire pour votre nouveau bloc de construction.
2. Créez un double du modèle d'objet pour lequel vous souhaitez remplacer le service.
a. Accédez au modèle d'objet du modèle d'équipement d'origine, dans cet exemple, PTC.MfgModelDefaultWorkunit_TT.
b. Dupliquez le modèle d'objet. Pour cet exemple, nommez le modèle d'objet dupliqué MyCompany.MfgModelDefaultWorkunit_TT. Remplacez la valeur Projet de la page Informations générales de votre application composite par le projet que vous avez créé à l'étape 1.a.
c. Cliquez sur Enregistrer pour enregistrer votre modèle d'objet dupliqué.
3. Remplacez le service pour implémenter votre logique personnalisée.
* 
Remplacez les services uniquement sur votre modèle d'objet dupliqué. Ne remplacez pas ou n'ajoutez pas de services aux modèles d'objet dans le bloc de construction PTC.MfgModel.
a. Sur le modèle d'objet dupliqué créé à l'étape 2.c, sous Services, recherchez le service que vous souhaitez personnaliser, puis cliquez sur Icône de remplacement pour remplacer le service. Si l'icône n'est pas présente pour ce service, le service ne peut pas être remplacé.
b. Dans l'éditeur de script, effectuez les modifications de code nécessaires pour implémenter votre logique personnalisée.
c. Cliquez sur Terminé pour enregistrer les modifications apportées au service.
d. Cliquez sur Enregistrer pour enregistrer les modifications apportées au modèle d'objet.
4. Mettez à jour la configuration du type de modèle pour utiliser votre nouveau modèle d'objet.
a. Accédez à l'objet PTC.MfgModel.Manager.
b. Sous Configuration, dans la table de configuration ModelTypeConfiguration, recherchez la ligne correspondant au type de modèle d'équipement dont vous avez dupliqué le modèle d'objet à l'étape 3, puis cliquez sur Icône de remplacement pour modifier la ligne.
c. Remplacez la valeur thingTemplate par le modèle d'objet dupliqué que vous avez créé à l'étape 3, dans cet exemple, MyCompany.MfgModelDefaultWorkunit_TT.
d. Cliquez sur Enregistrer pour enregistrer les modifications apportées à l'objet de gestionnaire.
* 
La procédure précédente modifie le modèle d'objet utilisé pour les objets d'un type de modèle d'équipement particulier. Pour que les modifications soient effectives, tous les objets d'équipement existants de ce type de modèle doivent être recréés à l'aide du nouveau modèle d'objet de type de modèle, ou le service doit également être personnalisé sur les objets d'équipement individuels.
PTC recommande que les modifications de code telles que celles-ci soient effectuées au niveau du modèle d'objet plutôt que sur des objets individuels.
Pour remplacer un service hérité d'une forme d'objet de logique de modèle pour un objet d'équipement individuel, procédez comme suit :
1. Accédez à l'objet d'équipement.
2. Sous Services, recherchez le service que vous souhaitez personnaliser, puis cliquez sur Icône de remplacement pour remplacer le service.
3. Dans l'éditeur de script, effectuez les modifications de code nécessaires pour implémenter votre logique personnalisée.
4. Cliquez sur Terminé pour enregistrer les modifications apportées au service.
5. Cliquez sur Enregistrer pour enregistrer les modifications apportées à l'objet d'équipement.
Est-ce que cela a été utile ?