Administration d'entreprise > Promotion des modifications administratives métier > Exécution de l'utilitaire de ligne de commande Business Administrative Change Promotion > Création d'un fichier XML de spécifications
  
Création d'un fichier XML de spécifications
Le fichier de spécification de promotion des modifications administratives est un mécanisme permettant de définir des critères pour sélectionner des objets administratifs au niveau des macros à exporter via un fichier XML. Par exemple, vous pouvez spécifier un critère de filtrage afin d'exporter uniquement les profils qui proviennent d'une organisation ou d'un contexte spécifiques, ou les règles de contrôle d'accès aux politiques pour une identité donnée, et ainsi de suite. Le fichier BACSpec.xsd contient les règles et contraintes qui s'appliquent lors de la création d'un fichier de spécification. Ce fichier se trouve à l'emplacement suivant : <Windchill_Home>\prog_examples\BAC\schema. Le filtrage des objets à l'aide d'un fichier de spécification est pris en charge sur les modes Sélection et Synchronisation. Les sections suivantes de cette rubrique décrivent la structure d'élément et les informations associées qui doivent être utilisées dans un fichier de spécification pour chaque objet, ainsi que l'exemple de code XML de spécification. En outre, certains exemples de fichiers de spécifications pour chaque type d'objet sont fournis à titre de référence à l'emplacement <Windchill_Home>\prog_examples\BAC.
Utilisez l'option -s ou --objectType de la commande d'exportation pour charger et traiter le fichier XML de spécifications. L'option -s ou --objectType est disponible uniquement lorsque vous définissez la propriété com.ptc.windchill.bac.features.enabled du fichier wt.properties sur 2666518. En l'absence de cette configuration, toute tentative de chargement d'un fichier de spécifications sera rejetée avec une erreur. Cette option est disponible en modes Sélection et Synchronisation.
Outre l'utilisation des attributs d'identité d'un objet en tant que critères de filtrage, vous pouvez utiliser la balise GlobalContainerCriteria du fichier de spécification pour filtrer des objets au niveau conteneur. Pour plus d'informations, consultez la section Critères de conteneur globaux dans cette rubrique.
Chaque type d'objet du système ne prend en charge qu'un ensemble spécifique de critères de filtrage. Lorsque vous créez le fichier de spécification, vérifiez que les critères que vous avez fournis sont corrects pour ce type d'objet. Par exemple, pour les règles de contrôle d'accès aux politiques, le nom n'est pas un critère de filtrage pris en charge. Ainsi, vous ne pouvez pas exporter des règles d'accès aux politiques en fonction de leur nom. De même, l'état du cycle de vie ou l'ID du type ne sont pas des critères de filtrage pris en charge pour les profils. Les sections ci-après fournissent des détails sur les différents éléments utilisables pour chaque type d'objet lors de la création d'un fichier de spécification de promotion des modifications administratives.
Les valeurs de chaîne spécifiées pour un élément, un sous-élément ou un attribut dans le fichier de spécifications sont sensibles à la casse.
Profil
Le fichier de spécification vous permet de filtrer les profils en fonction du nom de ces derniers à partir d'un conteneur d'organisation spécifique ou du conteneur d'échange. Cette section décrit les éléments XML qui peuvent être utilisés pour filtrer des objets en fonction des profils dans les systèmes en mode Sélection. Le schéma du profil contient les éléments suivants :
Elément
Description
ExchangeContainer
Utilisez cet élément pour filtrer les profils créés au niveau du site.
Une seule instance de cette balise est autorisée dans le fichier XML de spécifications.
Organization
Spécifiez le nom de l'organisation. Par exemple, PTC.
name
Spécifiez le nom du profil. Par exemple, Profile1.
Vous pouvez créer un fichier XML de spécifications pour sélectionner tous les profils appelés Profile1 dans l'organisation ExchangeContainer ou PTC, comme indiqué ci-dessous :
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<BACSpec xmlns="http://www.ptc.com/bac">
<Profile>
</ExchangeContainer>
<Organization>PTC</Organization>
<name>Profile1</name>
</Profile>
</BACSpec>
Règle d'initialisation d'un objet
Cette section décrit les éléments XML utilisés pour filtrer et exporter des enregistrements de règle d'initialisation d'objet (OIR) dans les systèmes en mode Sélection. Seuls les éléments TypeBasedRule sont pris en charge pour les règles d'initialisation d'objet. Vous pouvez filtrer les règles d'initialisation d'objet en fonction de leur nom à partir d'un conteneur d'organisation, d'un conteneur d'application, d'un conteneur d'échange ou d'un type d'objet spécifique. Les éléments suivants sont inclus dans le schéma de règle d'initialisation d'objet :
Elément
Sous-élément
Attribut
Description
ExchangeContainer
Utilisez cet élément pour filtrer les règles d'initialisation d'objet créées au niveau du site.
Une seule instance de cette balise est autorisée dans le fichier XML de spécifications.
AppContainer
type
Spécifiez le type du conteneur d'application. Les valeurs valides sont Project, Product ou Library.
Cet attribut est obligatoire pour AppContainer.
name
Spécifiez le nom du conteneur d'application.
Cet attribut est obligatoire pour AppContainer.
orgName
Spécifiez le nom de l'organisation au sein du conteneur d'application. Par exemple, PTC.
Cet attribut est obligatoire pour AppContainer.
Organization
name
Spécifiez le nom de l'organisation. Par exemple, PTC.
name
Spécifiez le nom de la règle d'initialisation d'objet. Par exemple, TestUser.
objectType
Spécifiez le nom interne de l'objet. Par exemple, wt.doc.WTDocument. Le nom interne d'un objet est fourni par l'utilitaire Gestion d'attributs et de types.
Voici un exemple de fichier de spécification permettant de filtrer et d'exporter des enregistrements de règle d'initialisation d'objet portant les noms OIR-part-org, OIR-doc-org et OIR-doc-prod1 à partir de l'organisation PTC et en fonction du type d'objet WTDocument :
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<BACSpec xmlns="http://www.ptc.com/bac">
<OIR>
<name>OIR-part-org</name>
<name>OIR-BACdocument-org</name>
<name>OIR-document-org</name>
<Organization name=”PTC”/>
<objectType>WCTYPE|wt.doc.WTDocument</objectType>
<objectType>WCTYPE|wt.doc.WTDocument|com.ptc.ptcnet.BACDocument</objectType>
</OIR>
</BACSpec>
Préférence
Cette section décrit les éléments XML utilisés pour filtrer et exporter des préférences dans les systèmes en mode Sélection. Les éléments suivants sont inclus dans le schéma des préférences :
Vous pouvez filtrer les préférences en fonction du type des conteneurs, de l'utilisateur Windchill, ainsi que de la catégorie, de la définition et du client de préférence.
Elément
Sous-élément
Attribut
Description
ExchangeContainer
Utilisez cet élément pour filtrer les instances de préférence créées au niveau du site.
Une seule instance de cette balise est autorisée dans le fichier XML de spécifications.
AppContainer
type
Spécifiez le type du conteneur d'application. Les valeurs valides sont Project, Product ou Library.
name
Spécifiez le nom du conteneur d'application.
orgName
Spécifiez le nom de l'organisation. Par exemple, PTC.
Organization
name
Spécifiez le nom du conteneur d'organisation. Par exemple, PTC.
User
Indiquez le nom, l'UFID ou l'ID d'e-mail d'un utilisateur Windchill (ou WTUser) pour filtrer et exporter l'instance de préférence d'un utilisateur. Vous devez indiquer au moins l'une de ces valeurs en tant que critère de filtrage pour l'utilisateur WTUser dans le fichier de spécification.
excludeInstances
Le paramètre excludeInstances vous permet d'indiquer si vous souhaitez exclure une instance de préférence lors du filtrage des préférences.
Si vous utilisez uniquement le paramètre excludeInstances, toutes les instances de préférence seront exclues lors du processus de filtrage. Pour appliquer un filtrage plus spécifique, utilisez les sous-éléments instanceType et visibility en tant que critères de filtrage.
instanceType
Spécifiez le type d'instance à exclure de filtrage des préférences. Les valeurs possibles sont les suivantes :
USER
CONTAINER
ORGANIZATION
SITE
visibility
Spécifiez les valeurs du paramètre de visibilité pour lesquelles les instances de préférence doivent être exclues. Les valeurs possibles sont les suivantes :
USER
CONTAINER
ORGANIZATION
SITE
HIDDEN
PRODUCT
PROJECT
LIBRARY
USERONLY
PRODUCT,PROJECT
PRODUCT,LIBRARY
PROJECT,LIBRARY
PRODUCT,PROJECT,LIBRARY
Name
Spécifiez le nom interne d'une définition de préférence.
Utilisez la commande getInternalNames pour obtenir les noms internes. Pour plus d'informations, reportez-vous à la section getInternalNames.
CategoryName
Spécifiez le nom interne d'une catégorie de préférence.
Utilisez la commande getInternalNames pour obtenir les noms internes. Pour plus d'informations, reportez-vous à la section getInternalNames.
ClientName
Spécifiez le nom interne d'un client de préférence.
Utilisez la commande getInternalNames pour obtenir les noms internes. Pour plus d'informations, reportez-vous à la section getInternalNames.
Les informations sur les conteneurs, les informations sur les utilisateurs et le paramètre excludeInstances correspondent à des options mutuellement exclusives pour le filtrage des préférences.
Il s'agit d'un exemple de fichier de spécification pour filtrer et exporter une définition de préférence nommée Intro du conteneur d'application GOLF_CART sous Test Organization. Le fichier de spécifications indique également les critères de filtrage permettant d'exporter les enregistrements d'une préférence nommée AAA d'un client de préférence appelé Windchill et du client de préférence DEMO, et d'exclure le filtrage des préférences bénéficiant d'une visibilité masquée dans des instances User et Container :
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<BACSpec xmlns="http://www.ptc.com/bac">
<Preference>
<AppContainer name="GOLF_CART" type="Product" orgName="Test Organization"/>
<Name>Intro<Name/>
<excludeInstances>
<instanceType>USER<instanceType/>
<instanceType>CONTAINER<instanceType/>
<visibility>HIDDEN</visibility>
</excludeInstances>
<Name>AAA<Name/>
<ClientName>WINDCHILL</ClientName>
<CategoryName>DEMO</CategoryName>
<Preference>
</BACSpec>
Pour l'obtention des noms internes : pour spécifier des critères de filtrage en fonction de la catégorie de préférence, de la définition de préférence et du client de préférence, vous devez fournir le nom interne des préférences. Utilisez la commande suivante pour obtenir les noms internes des préférences d'une langue spécifique :
java wt.scm.client.SCMCMD getInternalNames getInternalNames [--user <user>] [--password <password>] [--outputdir <outputdir] [--locale <locale>] [--objectType <objectType] [--help]
Option
Obligatoire
Description
-p
--password
Non
Mot de passe de l'utilisateur Windchill exécutant la commande.
-t
--objectType
Oui
Type d'objet dont les noms internes doivent être récupérés. Spécifiez la valeur Preferences pour cette option. Cette option sera améliorée de manière à prendre en charge de nouveaux types d'objet dans une prochaine version.
-u
--user
Non
Nom de l'utilisateur Windchill qui exécute la commande. L'utilisateur exécutant la commande doit être un utilisateur Windchill valide et un administrateur de site.
-h
--help
Non
Utilisez cette option pour afficher le texte d'aide de l'utilitaire. Le texte d'aide contient les descriptions complètes de chaque option, ainsi que de la syntaxe permettant d'exécuter l'utilitaire.
-l
--locale
Non
Langue dans laquelle le fichier de sortie doit être généré. Si aucune langue n'est indiquée, le fichier de sortie est généré dans la langue par défaut.
-o
--outputdir
Oui
Chemin d'accès à l'emplacement auquel le fichier CSV est généré et enregistré. Si cette option n'est pas spécifiée, les fichiers sont enregistrés à l'emplacement par défaut, dans le répertoire temporaire de Windchill : ${wt.temp}/bac.
Lors de l'exécution de cette commande, un rapport CSV est généré et enregistré à l'emplacement indiqué. Le rapport CSV fournit des informations sur le type d'objet, le nom interne et le nom affiché dans la langue spécifiée dans la commande.
Règle de contrôle d'accès aux politiques
Les éléments ci-après figurent dans le schéma de règle de contrôle d'accès aux politiques pour les systèmes en mode Sélection :
Vous pouvez filtrer les règles de contrôle d'accès aux politiques en fonction des attributs d'identité pour les seuls systèmes en mode Sélection. Vous pouvez définir le filtre sous la forme d'une combinaison d'éléments d'identité avec des conteneurs, des domaines ou uniquement des attributs.
Lorsque vous créez un fichier de spécification relatif aux règles de contrôle d'accès aux politiques pour les systèmes en mode Synchronisation, spécifiez uniquement le type d'objet. Aucun autre critère de filtrage n'est pris en charge.
Elément
Sous-élément
Attribut
Description
Organization
name
Spécifiez le nom de l'organisation. Par exemple, PTC.
ExchangeContainer
Utilisez cet élément pour filtrer les règles de contrôle d'accès aux politiques qui ont été créées au niveau du site.
Une seule instance de cette balise est autorisée dans le fichier XML de spécifications.
AppContainer
type
Spécifiez le type du conteneur d'application. Les valeurs valides sont Project, Product ou Library.
Cet attribut est obligatoire pour AppContainer.
name
Spécifiez le nom du conteneur d'application.
Cet attribut est obligatoire pour AppContainer.
orgName
Spécifiez le nom de l'organisation. Par exemple, PTC.
Cet attribut est obligatoire pour AppContainer.
OrganizationDomains
name
Spécifiez le nom de l'organisation. Par exemple, PTC.
Cet attribut est obligatoire pour OrganizationDomains.
path
Spécifiez le chemin d'accès ou l'emplacement du dossier du domaine d'administration pour l'objet défini.
Cet attribut est obligatoire pour OrganizationDomains.
ExchangeContainerDomains
domain
path
Spécifiez le domaine d'administration pour l'objet défini.
AppContainerDomains
type
Spécifiez le type du conteneur d'application. Les valeurs valides sont Project, Product ou Library.
Cet attribut est obligatoire pour AppContainerDomains.
name
Spécifiez le nom du conteneur d'application.
Cet attribut est obligatoire pour AppContainerDomains.
orgName
Spécifiez le nom de l'organisation. Par exemple, PTC.
Cet attribut est obligatoire pour AppContainerDomains.
domain
path
Spécifiez le domaine d'administration pour l'objet défini.
Cet attribut est obligatoire pour AppContainerDomains.
Principal
Spécifiez les identités ou les participants. Pour en savoir plus sur les différents sous-éléments et leurs attributs correspondants, consultez le paragraphe Identité de la présente section.
typeid
Spécifiez l'identificateur de type d'un objet, par exemple WTPart, WTDocument. Par ex. : WCTYPE|com.ptc.windchill.bac.delivery.BACReceivedDelivery
state
Spécifiez un état du cycle de vie pour le type d'objet en majuscules.
allExceptPrincipal
Indiquez si vous souhaitez collecter les objets d'identité. Les valeurs valides sont true et false.
Voici un exemple de fichier de spécification permettant de filtrer et d'exporter toutes les règles de contrôle d'accès aux politiques qui présentent l'ID de type WTPart, l'état de cycle de vie APPROVED et l'élément allExceptPrincipal défini sur la valeur vrai.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<BACSpec xmlns="http://www.ptc.com/bac">
<PolicyAccessControlRule>
<typeid>WCTYPE|wt.part.WTPart</typeid>
<state>APPROVED</state>
<allExceptPrincipal>true</allExceptPrincipal>
</PolicyAccessControlRule>
</BACSpec>
Voici un exemple de fichier de spécification permettant de filtrer et d'exporter toutes les règles de contrôle d'accès aux politiques à partir du domaine de conteneur d'échange System, du domaine d'organisation Test Organization et de domaines de conteneur d'application tels que GOLF_CART, Test_Lib et Test_Project.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<BACSpec xmlns="http://www.ptc.com/bac">
<PolicyAccessControlRule>
<ExchangeContainerDomains>
<domain path=”/System”/>
<OrganizationDomains name=”Test Organization”/>
<domain path=”/Test Organization”/>
</OrganizationDomains>
<AppContainerDomains type=”Product” name=”GOLF_CART” orgName=”Test Organization”>
<domain path=”/Default”/>
</AppContainerDomains>
<AppContainerDomains type=”Library” name=”Test_Lib” orgName=”Test Organization”>
<domain path=”/Default”/>
</AppContainerDomains>
<AppContainerDomains type=”Project” name=”Test_Project” orgName=”Test Organization”>
<domain path=”/Default”/>
</AppContainerDomains>
</PolicyAccessControlRule>
</BACSpec>
Voici un exemple de fichier de spécification permettant de filtrer et d'exporter tous les profils à partir du conteneur d'échange et du domaine Test Organization, ainsi que toutes les règles de contrôle d'accès aux politiques à partir du conteneur d'échange et des conteneurs d'application de types produit, projet et bibliothèque.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<BACSpec xmlns="http://www.ptc.com/bac">
<Profile>
<ExchangeContainer/>
<Organization name=”Test Organization”/>
</Profile>
<PolicyAccessControlRule>
<ExchangeContainer/>
<Organization name=”Test Organization”/>
<AppContainer type=”Product” name=”GOLF_CART” orgName=”Test Organization”/>
<AppContainer type=”Library” name=”Test_Lib” orgName=”Test Organization”/>
<AppContainer type=”Project” name=”Test_Project” orgName=”Test Organization”/>
</PolicyAccessControlRule>
</BACSpec>
Voici un exemple de fichier de spécification permettant d'exporter l'ensemble des profils, des règles d'initialisation d'objet et des règles de contrôle d'accès aux politiques à partir d'un système en mode Synchronisation :
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<BACSpec xmlns="http://www.ptc.com/bac">
<Profile/>
<PolicyAccessControlRule/>
<OIR/>
<Preference/>
</BACSpec>
Modèle de cycle de vie
Cette section décrit les éléments XML utilisés pour filtrer et exporter les enregistrements de modèle de cycle de vie dans les systèmes en mode Sélection. Vous pouvez filtrer les modèles de cycle de vie en fonction de leur nom à partir d'un conteneur d'organisation, d'un conteneur d'application ou du conteneur d'échange.
Lorsque vous développez le fichier de spécification relatif aux modèles de cycle de vie, tenez compte des principes suivants :
Vous pouvez propager des modèles de cycle de vie uniquement présents dans le domaine système.
Vous ne pouvez propager que la dernière itération d'un modèle de cycle de vie. Cette règle s'applique même si le nombre d'itérations d'un modèle de cycle de vie varie entre le système source et le système cible.
Lorsqu'une action de suppression est propagée à la dernière itération d'un modèle de cycle de vie dans le système cible, cette action entraîne également la suppression automatique du maître. Cette règle s'applique même si la dernière itération du modèle de cycle de vie dans le système source qui a été exportée est la seule itération présente dans le système cible.
Vous ne pouvez propager une action de suppression pour des modèles de cycle de vie que si les informations de mappage de base de données et d'ID local correspondantes sont trouvées dans les systèmes en mode Synchronisation. Dans les systèmes en mode Sélection, un mappage de base de données correspondant doit être trouvé.
La suppression d'itérations intermédiaires des modèles de cycle de vie n'est pas prise en charge. Seules les dernières itérations qui correspondent aux informations de mappage de base de données ou d'ID local sont supprimées par rapport au mode d'échange.
Lorsqu'une itération d'un modèle de cycle de vie est supprimée du système source, les informations supprimées de l'itération et la dernière itération disponible dans le système source sont propagées au système cible lors du processus d'exportation. Cette opération permet de synchroniser la dernière itération en cours d'utilisation dans le système cible.
Le filtrage des modèles de cycle de vie en fonction de l'identité d'entreprise pour la propagation d'actions de suppression n'est pas pris en charge.
La suppression de modèles de cycle de vie en cours d'utilisation par d'autres objets n'est pas prise en charge.
Les éléments ci-après figurent dans le schéma de modèle de cycle de vie pour les systèmes en mode Sélection :
Elément
Sous-élément
Attribut
Description
Name
Spécifiez le nom du modèle de cycle de vie.
ExchangeContainer
Utilisez cet élément pour filtrer les modèles de cycle de vie créés au niveau du site.
Une seule instance de cette balise est autorisée dans le fichier XML de spécifications.
AppContainer
type
Spécifiez le type du conteneur d'application. Les valeurs valides sont Project, Product ou Library.
Cet attribut est obligatoire pour AppContainer.
name
Spécifiez le nom du conteneur d'application.
Cet attribut est obligatoire pour AppContainer.
orgName
Spécifiez le nom de l'organisation au sein du conteneur d'application. Par exemple, PTC.
Cet attribut est obligatoire pour AppContainer.
Organization
name
Spécifiez le nom de l'organisation. Par exemple, PTC.
Voici un exemple de fichier de spécification permettant de filtrer et d'exporter tous les modèles de cycle de vie à partir du conteneur Exchange et du produit GOLF_CART dans Demo Organization :
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<BACSpec xmlns="http://www.ptc.com/bac">
<LifeCycleTemplate>
<ExchangeContainer/>
<AppContainer type=”Product” name=”GOLF_CART” orgName=”Demo Organization”/>
</LifeCycleTemplate>
</BACSpec>
Voici un exemple de fichier de spécification permettant de filtrer et d'exporter tous les modèles de cycle de vie nommés Default dans Demo Organization :
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<BACSpec xmlns="http://www.ptc.com/bac">
<LifeCycleTemplate>
<Organization name="Demo Organization"/>
<Name>Default</Name>
</LifeCycleTemplate>
</BACSpec>
Voici un exemple de fichier de spécification permettant de filtrer et d'exporter tous les modèles de cycle de vie nommés Basic et Default :
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<BACSpec xmlns="http://www.ptc.com/bac">
<LifeCycleTemplate>
<Name>Basic</Name>
<Name>Default</Name>
</LifeCycleTemplate>
</BACSpec>
Modèle de processus
Cette section décrit les éléments XML utilisés pour filtrer et exporter les enregistrements de modèle de processus dans les systèmes en mode Sélection. Vous pouvez filtrer les modèles de processus en fonction de leur nom à partir d'un conteneur d'organisation, d'un conteneur d'application ou du conteneur d'échange.
Lorsque vous développez le fichier de spécification relatif aux modèles de processus, tenez compte des principes suivants :
Vous pouvez propager des modèles de processus uniquement présents dans le domaine système.
Vous ne pouvez propager que la dernière itération d'un modèle de processus. Cette règle s'applique même si le nombre d'itérations d'un modèle de processus varie entre le système source et le système cible.
Lorsqu'une action de suppression est propagée à la dernière itération d'un modèle de processus dans le système cible, cette action entraîne également la suppression automatique du maître. Cette règle s'applique même si la dernière itération du modèle de processus dans le système source qui a été exportée est la seule itération présente dans le système cible.
Vous ne pouvez propager une action de suppression pour des modèles de processus que si les informations de mappage de base de données et d'ID local correspondantes sont trouvées dans les systèmes en mode Synchronisation. Dans les systèmes en mode Sélection, un mappage de base de données correspondant doit être trouvé.
La suppression d'itérations intermédiaires des modèles de processus n'est pas prise en charge. Seules les dernières itérations qui correspondent aux informations de mappage de base de données ou d'ID local sont supprimées par rapport au mode d'échange.
Lorsqu'une itération d'un modèle de processus est supprimée du système source, les informations supprimées de l'itération et la dernière itération disponible dans le système source sont propagées au système cible lors du processus d'exportation. Cette opération permet de synchroniser la dernière itération en cours d'utilisation dans le système cible.
Le filtrage des modèles de processus en fonction de l'identité d'entreprise pour la propagation d'actions de suppression n'est pas pris en charge.
La suppression de modèles de processus utilisés par d'autres objets n'est pas prise en charge.
L'échange de modèles de processus externalisés n'est pas pris en charge.
Les éléments ci-après figurent dans le schéma de modèle de processus pour les systèmes en mode Sélection :
Elément
Sous-élément
Attribut
Description
Name
Spécifiez le nom du modèle de processus.
ExchangeContainer
Utilisez cet élément pour filtrer les modèles de processus créés au niveau du site.
Une seule instance de cette balise est autorisée dans le fichier XML de spécifications.
AppContainer
type
Spécifiez le type du conteneur d'application. Les valeurs valides sont Project, Product ou Library.
Cet attribut est obligatoire pour AppContainer.
name
Spécifiez le nom du conteneur d'application.
Cet attribut est obligatoire pour AppContainer.
orgName
Spécifiez le nom de l'organisation au sein du conteneur d'application. Par exemple, PTC.
Cet attribut est obligatoire pour AppContainer.
Organization
name
Spécifiez le nom de l'organisation. Par exemple, PTC.
Voici un exemple de fichier de spécification permettant de filtrer et d'exporter tous les modèles de processus à partir du conteneur Exchange et du produit GOLF_CART dans Demo Organization :
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<BACSpec xmlns="http://www.ptc.com/bac">
<WorkflowProcessTemplate>
<ExchangeContainer/>
<AppContainer type=”Product” name=”GOLF_CART” orgName=”Demo Organization”/>
</WorkflowProcessTemplate>
</BACSpec>
Voici un exemple de fichier de spécification permettant de filtrer et d'exporter tous les modèles de processus nommés Submit dans Demo Organization :
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<BACSpec xmlns="http://www.ptc.com/bac">
<WorkflowProcessTemplate>
<Organization name="Demo Organization"/>
<Name>Submit</Name>
</WorkflowProcessTemplate>
</BACSpec>
Voici un exemple de fichier de spécification permettant de filtrer et d'exporter tous les modèles de processus nommés Review et Submit :
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<BACSpec xmlns="http://www.ptc.com/bac">
<WorkflowProcessTemplate>
<Name>Review</Name>
<Name>Submit</Name>
</WorkflowProcessTemplate>
</BACSpec>
Définition de type
Le fichier de spécification permet de filtrer et d'exporter le modèle d'attribut sur la base du nom interne de la définition de type. Le schéma du module d'attribut contient les éléments suivants :
Elément
Description
Name
Spécifiez le nom interne de la définition de type. Par exemple : Name1.
Namespace
Spécifiez l'espace de noms de la définition de type. Par exemple : Namespace1.
* 
S'il n'existe aucune information à fournir pour l'espace de noms, ne l'incluez pas dans le fichier de spécification.
Flavor
Spécifiez la version du modèle d'attribut de la définition de type. Par exemple : LWCTYPE.
Voici un exemple de fichier de spécification permettant de filtrer et d'exporter le modèle d'attribut :
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <BACSpec xmlns="http://www.ptc.com/bac">
<TypeDefinitions>
<TypeDefinition>
<Name>name</Name>
<Namespace>namespace</Namespace>
<Flavor>LWCTYPE</Flavor>
</TypeDefinition>
<TypeDefinition>
<Name>Name1</Name>
<Namespace>Namespace1</Namespace>
<Flavor>LWCTYPE</Flavor>
</TypeDefinition>
</TypeDefinitions>
</BACSpec>
Identité
Vous pouvez créer un fichier de spécification en utilisant un élément unique ou une combinaison d'éléments d'identité. Si vous utilisez tous les éléments d'identité dans un fichier de spécification, vous devez spécifier les éléments du schéma dans l'ordre indiqué dans la figure suivante.
Les éléments suivants sont inclus dans le schéma d'identité :
Identité du rôle
Représente les groupes système qui ont été créés pour les rôles affectés aux membres d'équipes associées au contexte et aux membres d'équipes partagées, ainsi que les groupes système créés dans un contexte d'application représentant les organisations qui possèdent des membres dans l'équipe associée au contexte.
Cet élément prend en charge le nom de groupe, le type de groupe et le conteneur (conteneur d'échange ou d'organisation) d'un rôle Windchill ou WTRoleprincipal. Vous devez spécifier le conteneur d'échange ou l'organisation pour WTRolePrincipal.
Les éléments suivants sont inclus dans le schéma WTRoleprincipal :
Elément
Sous-élément
Attribut
Description
groupname
Spécifiez le nom du groupe interne : APPROVER.
grouptype
Spécifiez la valeur DynamicRole en tant que type du groupe auquel le groupe interne appartient.
ExchangeContainer
Utilisez cet élément pour filtrer les groupes système créés au niveau du site.
Une seule instance de cette balise est autorisée dans le fichier XML de spécifications.
Organization
name
Spécifiez le nom de l'organisation. Par exemple, PTC.
Voici un exemple de fichier de spécification permettant de filtrer et d'exporter toutes les règles de contrôle d'accès aux politiques en fonction de l'élément RolePrincipal à partir de l'organisation PTC :
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<BACSpec xmlns="http://www.ptc.com/bac">
<PolicyAccessControlRule>
<RolePrincipal>
<groupname>112211_ORG</groupname>
<grouptype>DynamicRole</grouptype>
<Organization name=”PTC”/>
</RolePrincipal>
</PolicyAccessControlRule>
</BACSpec>
Voici un exemple de fichier de spécification permettant de filtrer et d'exporter toutes les règles de contrôle d'accès aux politiques en fonction de l'élément RolePrincipal à partir du conteneur d'échange :
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<BACSpec xmlns="http://www.ptc.com/bac">
<PolicyAccessControlRule>
<RolePrincipal>
<ExchangeContainer/>
</RolePrincipal>
</PolicyAccessControlRule>
</BACSpec>
Groupe
Spécifie l'identifiant unique de fédération (UFID) ou une combinaison de nom et de conteneur d'échange ou de conteneur d'organisation d'un groupe Windchill ou WTGroup.
Les éléments suivants sont inclus dans le schéma WTGroup :
Elément
Sous-élément
Attribut
Description
name
Spécifiez le nom du groupe. Par exemple, Administrator.
Organization
Spécifiez le nom de l'organisation. Par exemple, PTC.
ExchangeContainer
domain
path
Utilisez cet élément pour filtrer les groupes créés au niveau du site.
Une seule instance de cette balise est autorisée dans le fichier XML de spécifications.
ufid
name
Spécifiez l'identifiant UFID de l'objet. Ce paramètre doit présenter le format suivant : <chaîne_UFID>|<référentiel_LDAP>|<référentiel_LDAP>
Voici un exemple de fichier de spécification permettant de filtrer et d'exporter toutes les règles de contrôle d'accès aux politiques à partir du groupe Administrator de l'organisation PTC, du conteneur d'échange et d'un identifiant UFID spécifique :
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<BACSpec xmlns="http://www.ptc.com/bac">
<PolicyAccessControlRule>
<Group>
<name>Administrator</name>
<grouptype>DynamicRole</grouptype>
<Organization name=”PTC”/>
</Group>
<Group>
<ufid>uid=test,ou=people,cn=adminsitrativeldap,cn=ajohn.111.01.01,o=ptc|Ldap.ptcnet.ptc.com|Ldap.ptcnet.ptc.com</ufid>
</Group>
</PolicyAccessControlRule>
</BACSpec>
Voici un exemple de fichier de spécification permettant de filtrer et d'exporter toutes les règles de contrôle d'accès aux politiques à partir de tous les groupes figurant sous le conteneur d'échange :
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<BACSpec xmlns="http://www.ptc.com/bac">
<PolicyAccessControlRule>
<Group>
<ExchangeContainer/>
</Group>
</PolicyAccessControlRule>
</BACSpec>
Groupe interne
Il s'agit des groupes qui ne sont pas représentés dans le LDAP, mais qui sont conservés en interne par Windchill. Exemple : le groupe Créateur de bibliothèque.
Les éléments suivants sont inclus dans le schéma InternalGroup :
Elément
Sous-élément
Attribut
Description
groupname
Spécifiez le nom d'un groupe interne.
grouptype
Spécifiez la valeur DynamicRole en tant que type du groupe auquel le groupe interne appartient.
ExchangeContainer
Utilisez cet élément pour filtrer les groupes internes créés au niveau du site.
Une seule instance de cette balise est autorisée dans le fichier XML de spécifications.
Organization
name
Spécifiez le nom de l'organisation. Par exemple, PTC.
AppContainer
type
Spécifiez le type du conteneur d'application. Les valeurs valides sont Project, Product ou Library.
Cet attribut est obligatoire pour AppContainer.
name
Spécifiez le nom du conteneur d'application.
Cet attribut est obligatoire pour AppContainer.
orgName
Spécifiez le nom de l'organisation. Par exemple, PTC.
Cet attribut est obligatoire pour AppContainer.
Voici un exemple de fichier de spécification permettant de filtrer et d'exporter toutes les règles de contrôle d'accès aux politiques à partir du groupe LIBRARY CREATOR de l'organisation PTC :
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<BACSpec xmlns="http://www.ptc.com/bac">
<PolicyAccessControlRule>
<InternalGroup>
<groupname>LIBRARY CREATOR</groupname>
<grouptype>DynamicRole</grouptype>
<Organization name=”PTC”/>
</InternalGroup>
</PolicyAccessControlRule>
</BACSpec>
WTUser
Spécifie le nom, l'identifiant UFID ou l'ID d'e-mail d'un utilisateur Windchill ou WTUser. Vous devez indiquer au moins l'un de ces éléments en tant que critère de filtrage sous WTUser dans le fichier de spécification.
Les éléments suivants sont inclus dans le schéma WTUser :
Elément
Description
name
Spécifiez le nom de l'utilisateur. Par exemple, TestUser.
emailid
Spécifiez l'ID d'e-mail de l'utilisateur. Par exemple, testuser@ptc.com.
ufid
Spécifiez l'identifiant UFID de l'objet. Ce paramètre doit présenter le format suivant : <chaîne_UFID>|<référentiel_LDAP>|<référentiel_LDAP>
Voici un exemple de fichier de spécification permettant de filtrer et d'exporter toutes les règles de contrôle d'accès aux politiques en fonction de l'identifiant UFID :
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<BACSpec xmlns="http://www.ptc.com/bac">
<PolicyAccessControlRule>
<User>
<ufid>uid=test,ou=people,cn=adminsitrativeldap,cn=ajohn.111.01.01,o=ptc|Ldap ptcnet.ptc.com|Ldap.ptcnet.ptc.com</ufid>
</User>
</PolicyAccessControlRule>
</BACSpec>
Voici un exemple de fichier de spécification permettant de filtrer et d'exporter toutes les règles de contrôle d'accès aux politiques en fonction de l'ID d'e-mail d'un utilisateur nommé TestUser :
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<BACSpec xmlns="http://www.ptc.com/bac">
<PolicyAccessControlRule>
<User>
<emailid>testuser@ptc.com</emailid>
</User>
</PolicyAccessControlRule>
</BACSpec>
WTOrganization
Spécifie le nom ou l'identifiant UFID d'une organisation Windchill ou WTOrganization. Le fichier de spécification doit contenir au moins l'un de ces éléments. Vous devez indiquer au moins l'un des éléments en tant que critère de filtrage sous WTOrganization dans le fichier de spécification.
Les éléments suivants sont inclus dans le schéma WTOrganization :
Elément
Description
name
Spécifiez le nom de l'organisation. Par exemple, PTC.
ufid
Spécifiez l'identifiant UFID de l'objet. Ce paramètre doit présenter le format suivant : <chaîne_UFID>|<référentiel_LDAP>|<référentiel_LDAP>
Voici un exemple de fichier de spécification permettant de filtrer et d'exporter toutes les règles de contrôle d'accès aux politiques à partir de l'identifiant UFID et de l'organisation PTC :
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<BACSpec xmlns="http://www.ptc.com/bac">
<PolicyAccessControlRule>
<Org>
<ufid>uid=test,ou=people,cn=adminsitrativeldap,cn=ajohn.111.01.01,o=ptc|Ldap ptcnet.ptc.com|Ldap.ptcnet.ptc.com</ufid>
</Org>
<Org>
<name>PTC</name>
</Org>
</PolicyAccessControlRule>
</BACSpec>
Pseudo-rôle
Spécifie le filtre permettant de collecter des objets en fonction des pseudo-rôles.
Les éléments suivants sont inclus dans le schéma PseudoRole :
Elément
Description
name
Définissez cet attribut sur la valeur ALL ou OWNER, où :
ALL est un pseudo-rôle utilisé par Windchill pour représenter tous les participants ;
OWNER est un pseudo-rôle utilisé par Windchill pour représenter le propriétaire de l'objet.
Voici un exemple de fichier de spécification permettant de filtrer et d'exporter toutes les règles de contrôle d'accès aux politiques dont le pseudo-rôle est défini sur ALL ou OWNER :
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<BACSpec xmlns="http://www.ptc.com/bac">
<PolicyAccessControlRule>
<PseudoRole>
<name>ALL</name>
</PseudoRole>
<PseudoRole>
<name>OWNER</name>
</PseudoRole>
</PolicyAccessControlRule>
</BACSpec>
Voici un exemple de fichier de spécification qui référence tous les éléments d'identité dans la séquence mandatée :
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<BACSpec xmlns="http://www.ptc.com/bac">
<PolicyAccessControlRule>
<RolePrincipal>
<groupname>112211_ORG</groupname>
<grouptype>DynamicRole</grouptype>
<Organization name=”PTC”/>
</RolePrincipal>
<Group>
<name>Administrator</name>
<grouptype>DynamicRole</grouptype>
<Organization name=”PTC”/>
</Group>
<User>
<emailid>testuser@ptc.com</emailid>
</User>
<User>
<name>Test User</name>
</User>
<Org>
<ufid>uid=test,ou=people,cn=adminsitrativeldap,cn=ajohn.111.01.01,o=ptc|Ldap ptcnet.ptc.com|Ldap.ptcnet.ptc.com</ufid>
</Org>
<Org>
<name>PTC</name>
</Org>
<InternalGroup>
<groupname>LIBRARY CREATOR</groupname>
<grouptype>LIBRARY CREATOR</grouptype>
<Organization name=”PTC”/>
</InternalGroup>
<PseudoRole>
<name>ALL</name>
</PseudoRole>
<PseudoRole>
<name>OWNER</name>
</PseudoRole>
</PolicyAccessControlRule>
</BACSpec>
Critères de conteneur globaux
Utilisez GlobalContainerCriteria pour spécifier un conteneur commun en tant que critère de filtrage global pour tous les types d'objets indiqués dans le fichier de spécification. Les conteneurs spécifiés dans le paramètre GlobalContainerCriteria sont appliqués de façon cumulative à tous les types d'objets du fichier de spécification. L'utilisation du paramètre GlobalContainerCriteria dans un fichier de spécification pour l'importation ou l'exportation d'enregistrements est uniquement prise en charge sur les systèmes en mode Sélection.
Par exemple, si vous souhaitez filtrer et exporter tous les profils à partir de l'organisation PTC dans GlobalContainerCriteria et du conteneur d'échange, tous les enregistrements de profil à partir de PTC et d'ExchangeContainer sont récupérés. Voici un exemple de fichier XML correspondant à ce scénario :
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<BACSpec xmlns="http://www.ptc.com/bac">
<GlobalContainerCriteria>
<Organization name=”PTC”/>
</GlobalContainerCriteria>
<Profile>
<ExchangeContainer/>
</Profile>
</BACSpec>
Lorsque vous créez un fichier de spécification en utilisant le paramètre GlobalContainerCriteria, prenez en compte les points suivants :
Cet élément figure au premier niveau, immédiatement après la balise racine BACSpec.
Cet élément apparaît au même niveau que les balises d'objet dans le fichier de spécification.
Cet élément prend en charge les conteneurs suivants :
conteneur d'échange ;
contexte d'organisation ;
conteneur d'application.
Vérifiez si le conteneur que vous spécifiez dans GlobalContainerCriteria est valide pour un type d'objet spécifique.
Pour effectuer une recherche granulaire, spécifiez un conteneur valide dans un objet d'administration. Par exemple, indiquez des conteneurs d'application pour des règles de contrôle d'accès aux politiques.
* 
Vous ne pouvez pas spécifier de domaine ou de conteneur d'application avec GlobalContainerCriteria dans le cas de profils.
L'utilisation d'un domaine en tant qu'élément enfant dans un élément d'objet n'est pas prise en charge. Par exemple, vous ne pouvez pas spécifier de domaine sous le conteneur d'application pour les règles de contrôle d'accès aux politiques.
Voici un exemple de fichier de spécification permettant de filtrer et d'exporter tous les profils dans le conteneur d'échange et les règles de contrôle d'accès aux politiques à partir du conteneur d'application "Drive System" sous l'organisation PTC :
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<BACSpec xmlns="http://www.ptc.com/bac">
<GlobalContainerCriteria>
<Organization name=”PTC”/>
</GlobalContainerCriteria>
<Profile>
<ExchangeContainer/>
</Profile>
<PolicyAccessControlRule>
<AppContainer name=”Drive System” orgName=”Demo Organization” type=”Product”/>
</PolicyAccessControlRule>
</BACSpec>