Администрирование предприятия > Business Administrative Change Promotion > Выполнение утилиты командной строки Business Administrative Change Promotion > Создание XML-файла спецификации
  
Создание XML-файла спецификации
Файл спецификации продвижения изменений администрирования бизнес-процессов является механизмом, позволяющим определить критерии выбора административных объектов на макроуровне для экспорта с помощью XML-файла. Например, можно определить критерий фильтрации так, чтобы экспортировать только профили, относящиеся к конкретной организации или контексту, либо экспортировать правила управления доступом к политикам только для данного участника и т. д. Файл BACSpec.xsd содержит правила и ограничения, применимые при создании файла спецификации. Файл BACSpec.xsd расположен по адресу <Windchill_Home>\prog_examples\BAC\schema. Фильтрация объектов с помощью файла спецификации поддерживается как в синхронизированном, так и в выборочном режимах. В последующих подразделах этого раздела приведено описание структуры элемента и связанной информации, которые будут использоваться в файле спецификации для каждого объекта вместе с примером XML-кода спецификации. Кроме того, некоторые примеры файлов спецификации для каждого типа объекта предоставлены в <Windchill_Home>\prog_examples\BAC для справки.
Для выгрузки и обработки XML-файла спецификации используйте опцию -s или --objectType в команде экспорта. Опции -s или --objectType доступны, только если для свойства com.ptc.windchill.bac.features.enabled задано значение wt.properties. В другой конфигурации любая попытка загрузить файл спецификации будет отклонена с сообщением об ошибке. Эта опция доступна как для выборочного, так и для синхронизированного режима.
Помимо использования в качестве критериев фильтрации атрибутов реквизитов объекта, можно использовать в файле спецификации тег GlobalContainerCriteria для фильтрации объектов на уровне контейнера. Дополнительные сведения см. в разделе Глобальные критерии контейнеров этого раздела.
Каждый тип объекта в системе поддерживает только определенный набор критериев фильтрации. При создании файла спецификации убедитесь, что указанные критерии допустимы для данного типа объектов. Например, для правил управления доступом к политикам наименование не является поддерживаемым критерием фильтрации. Таким образом, невозможно экспортировать правила доступа к политикам в зависимости от наименования. Аналогично состояние жизненного цикла или идентификатор типа не являются поддерживаемыми критериями фильтрации для профилей. В следующих разделах представлена подробная информация о различных элементах, которые можно использовать для каждого типа объектов при создании файла спецификации продвижения изменений администрирования бизнес-процессов.
Строковые значения для элемента, подэлемента или атрибута указываются в файле спецификации с учетом регистра.
Профиль
Файл спецификации позволяет фильтровать профили на основе наименований профилей, содержащихся в конкретном контейнере организации или контейнере обмена. В этом разделе описываются элементы XML, которые можно использовать для фильтрации объектов по профилям в системах с выборочным режимом. Схема профиля содержит следующие элементы.
Элемент
Описание
ExchangeContainer
Используйте этот элемент для фильтрации профилей, которые были созданы на уровне сайта.
В XML-файле спецификации можно использовать только один экземпляр этого тега.
Organization
Укажите наименование организации. Пример: PTC.
name
Укажите наименование профиля. Пример: Profile1.
Можно создать XML-файл спецификации, позволяющий выбрать все профили с наименованием Profile1 в организации ExchangeContainer или PTC, как показано ниже.
<?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>
Правило инициализации объекта
В этом разделе приведено описание элементов XML, используемых для фильтрации и экспорта записей правил инициализации объектов (OIR) в системах с выборочным режимом. Для правил инициализации объектов (OIR) поддерживаются только элементы TypeBasedRule. OIR можно фильтровать по наименованию OIR из указанного контейнера организации, контейнера приложения, контейнера обмена или типа объекта. Схема OIR содержит следующие элементы.
Элемент
Подэлемент
Атрибут
Описание
ExchangeContainer
-
-
Используйте этот элемент для фильтрации OIR, которые были созданы на уровне сайта.
В XML-файле спецификации можно использовать только один экземпляр этого тега.
AppContainer
-
type
Укажите тип контейнера приложения. Допустимые значения: Project, Product или Library.
Для AppContainer этот атрибут является обязательным.
-
name
Укажите наименование контейнера приложения.
Для AppContainer этот атрибут является обязательным.
-
orgName
Укажите наименование организации в контейнере приложения. Пример: PTC.
Для AppContainer этот атрибут является обязательным.
Organization
-
name
Укажите наименование организации. Пример: PTC.
name
-
-
Укажите наименование OIR. Пример: TestUser.
objectType
-
-
Укажите внутреннее наименование объекта. Пример: wt.doc.WTDocument. Внутреннее наименование объекта доступно в утилите Управление типами и атрибутами.
Ниже приведен пример файла спецификации для фильтрации и экспорта записей OIR с наименованиями OIR-part-org, OIR-doc-org и OIR-doc-prod1 из организации PTC и в зависимости от типа объекта 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>
Настройка
В этом разделе приведено описание элементов XML, используемых для фильтрации и экспорта настроек в системах с выборочным режимом. Схема настройки содержит следующие элементы.
Можно фильтровать настройки на основе типа контейнера, пользователя Windchill, категории настройки, определения настройки и клиента настройки.
Элемент
Подэлемент
Атрибут
Описание
ExchangeContainer
-
-
Используйте этот элемент для фильтрации экземпляров настройки, которые были созданы на уровне сайта.
В XML-файле спецификации можно использовать только один экземпляр этого тега.
AppContainer
-
type
Укажите тип контейнера приложения. Допустимые значения: Project, Product или Library.
-
name
Укажите наименование контейнера приложения.
-
orgName
Укажите наименование организации. Пример: PTC.
Organization
-
name
Укажите наименование контейнера организации. Пример: PTC.
User
-
-
Для фильтрации и экспорта экземпляра настройки пользователя укажите имя, идентификатор UFID или адрес электронной почты пользователя Windchill или WTUser. Необходимо указать в файле спецификации хотя бы одно из этих значений в качестве критерия фильтрации для WTUser.
excludeInstances
Используйте excludeInstances, чтобы показать, нужно ли исключить какой-либо экземпляр настройки во время фильтрации настроек.
Если использовать только excludeInstances, во время процесса фильтрации будут исключены все экземпляры настройки. Чтобы фильтрация была более конкретной, используйте в качестве критериев фильтрации подэлементы instanceType и visibility.
instanceType
-
Укажите тип экземпляра, который нужно исключить из процесса фильтрации настроек. Допустимы следующие значения:
USER
CONTAINER
ORGANIZATION
SITE
visibility
-
Укажите значения настройки видимости, для которых экземпляры настройки должны быть исключены. Допустимы следующие значения:
USER
CONTAINER
ORGANIZATION
SITE
HIDDEN
PRODUCT
PROJECT
LIBRARY
USERONLY
PRODUCT,PROJECT
PRODUCT,LIBRARY
PROJECT,LIBRARY
PRODUCT,PROJECT,LIBRARY
Name
-
-
Укажите внутреннее наименование определения настройки.
Чтобы получить внутренние наименования, используйте команду getInternalNames. Для получения дополнительных сведений см. раздел getInternalNames.
CategoryName
-
-
Укажите внутреннее наименование категории настроек.
Чтобы получить внутренние наименования, используйте команду getInternalNames. Для получения дополнительных сведений см. раздел getInternalNames.
ClientName
-
-
Укажите внутреннее наименование клиента настройки.
Чтобы получить внутренние наименования, используйте команду getInternalNames. Для получения дополнительных сведений см. раздел getInternalNames.
Информация о контейнере, информация о пользователе и excludeInstances для фильтрации настроек являются взаимоисключающими параметрами.
Пример файла спецификации для фильтрации и экспорта определения настройки с наименованием Intro из контейнера приложения GOLF_CART в Test Organization. В файле спецификации также указаны критерии фильтрации для экспорта записей настройки с наименованием AAA из клиента настройки с наименованием Windchill и клиента настройки с наименованием DEMO и исключения фильтрации настроек со скрытой видимостью в экземплярах User и 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>
Как получить внутренние наименования. Для задания критериев фильтрации на основе категории настройки, определения настройки и клиента настройки требуется указывать внутреннее наименование настроек. Чтобы получить внутренние наименования настроек из конкретной языковой настройки, используйте следующую команду:
java wt.scm.client.SCMCMD getInternalNames getInternalNames [--user <user>] [--password <password>] [--outputdir <outputdir] [--locale <locale>] [--objectType <objectType] [--help]
Опция
Требуемый
Описание
-p
--password
Нет
Пароль пользователя Windchill, выполняющего команду.
-t
--objectType
Да
Тип объекта, для которого необходимо получить внутренние наименования. Укажите Preferences для этой опции. В будущем выпуске эта опция будет усовершенствована для поддержки новых типов объектов.
-u
--user
Нет
Имя пользователя Windchill, выполняющего команду. Пользователь, выполняющий команду, должен являться действительным пользователем Windchill и администратором сайта.
-h
--help
Нет
Используйте эту опцию, чтобы отобразить текст справки для утилиты. Текст справки содержит полные описания всех опций, а также синтаксис для выполнения утилиты.
-l
--locale
Нет
Языковая настройка, с использованием которой должен быть сгенерирован выходной файл. Если языковая настройка не указана, выходной файл генерируется с использованием языковой настройки по умолчанию.
-o
--outputdir
Да
Путь к расположению, в котором генерируется и сохраняется CSV-файл. Если эта опция не указана, файлы сохраняются в расположении по умолчанию - во временном каталоге Windchill - ${wt.temp}/bac.
При выполнении этой команды отчет CSV генерируется и сохраняется в указанном расположении. Отчет CSV содержит информацию о типе объекта, внутреннем наименовании и отображаемом наименовании с использованием языковой настройки, указанной в команде.
Правило управления доступом к политике
Схема правила управления доступом к политике для систем с выборочным режимом содержит следующие элементы.
Только для систем с выборочным режимом можно фильтровать правила управления доступом к политикам по атрибутам пользователя или группы. Можно задать фильтр в виде комбинации элементов пользователя или группы с контейнерами, доменами или только атрибутами.
При создании файла спецификации для правил управления доступом к политикам для систем синхронизированного режима указывается только тип объекта. Другие критерии фильтрации не поддерживаются.
Элемент
Подэлемент
Атрибут
Описание
Organization
name
-
Укажите наименование организации. Пример: PTC.
ExchangeContainer
-
-
Используйте этот элемент, чтобы фильтровать правила управления доступом к политикам, которые были созданы на уровне сайта.
В XML-файле спецификации можно использовать только один экземпляр этого тега.
AppContainer
-
type
Укажите тип контейнера приложения. Допустимые значения: Project, Product или Library.
Для AppContainer этот атрибут является обязательным.
-
name
Укажите наименование контейнера приложения.
Для AppContainer этот атрибут является обязательным.
-
orgName
Укажите наименование организации. Пример: PTC.
Для AppContainer этот атрибут является обязательным.
OrganizationDomains
name
-
Укажите наименование организации. Пример: PTC.
Для OrganizationDomains этот атрибут является обязательным.
path
-
Укажите путь к файлу или расположение папки административного домена для определяемого объекта.
Для OrganizationDomains этот атрибут является обязательным.
ExchangeContainerDomains
domain
path
Укажите административный домен для определяемого объекта.
AppContainerDomains
-
type
Укажите тип контейнера приложения. Допустимые значения: Project, Product или Library.
Для AppContainerDomains этот атрибут является обязательным.
-
name
Укажите наименование контейнера приложения.
Для AppContainerDomains этот атрибут является обязательным.
-
orgName
Укажите наименование организации. Пример: PTC.
Для AppContainerDomains этот атрибут является обязательным.
domain
path
Укажите административный домен для определяемого объекта.
Для AppContainerDomains этот атрибут является обязательным.
Principal
-
-
Укажите пользователей или группы либо участников. Сведения о различных подэлементах и соответствующих атрибутах см. в разделе Пользователь или группа этой главы.
typeid
-
-
Укажите идентификатор типа объекта, такой как WTPart, WTDocument. Например: WCTYPE|com.ptc.windchill.bac.delivery.BACReceivedDelivery
state
-
-
Укажите состояние жизненного цикла для типа объекта в верхнем регистре.
allExceptPrincipal
-
-
Укажите, требуется ли собирать объекты пользователя или группы. Допустимые значения: true и false.
Ниже приведен пример файла спецификации для фильтрации и экспорта всех правил управления доступом к политикам с идентификатором типа WTPart, состоянием жизненного цикла APPROVED и параметром allExceptPrincipal, имеющим значение true.
<?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>
Ниже приведен пример файла спецификации для фильтрации и экспорта всех правил управления доступом к политикам из домена контейнера обмена System, домена организации Test Organization и доменов контейнеров приложений, таких как GOLF_CART, Test_Lib и 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>
Ниже приведен пример файла спецификации для фильтрации и экспорта всех профилей из контейнера обмена и Test Organization, а также всех правил управления доступом к политикам из контейнера обмена и контейнеров приложений, таких как изделие, проект и библиотека.
<?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>
Ниже приведен пример файла спецификации для экспорта всех профилей, правил инициализации объектов и правил управления доступом к политикам из системы синхронизированного режима:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<BACSpec xmlns="http://www.ptc.com/bac">
<Profile/>
<PolicyAccessControlRule/>
<OIR/>
<Preference/>
</BACSpec>
Шаблон жизненного цикла
В этом разделе приведено описание элементов XML, используемых для фильтрации и экспорта записей шаблонов жизненного цикла в системах с выборочным режимом. Шаблоны жизненного цикла можно фильтровать на основе наименования шаблона жизненного цикла из определенного контейнера организации, контейнера приложения или обменного контейнера.
При разработке файла спецификации для шаблонов жизненного цикла учитывайте следующие рекомендации.
Распространять можно шаблоны жизненного цикла, которые присутствуют только в системном домене.
Распространять можно только последнюю итерацию шаблона жизненного цикла. Это правило действует даже в том случае, если число итераций шаблона жизненного цикла в системе-источнике и в целевой системе различается.
При распространении действия удаления на последнюю итерацию шаблона жизненного цикла в целевой системе это действие также автоматически удаляет мастер. Это правило действует даже в том случае, если последняя итерация шаблона жизненного цикла в системе-источнике, которая была экспортирована, является единственной итерацией в целевой системе.
Действие удаления можно распространить для шаблонов жизненного цикла только при условии, что в системах с синхронизированным режимом обнаружена соответствующая информация сопоставления базы данных и локального идентификатора. В системах с выборочным режимом необходимо найти соответствующее сопоставление базы данных.
Удаление промежуточных итераций шаблонов жизненного цикла не поддерживается. Только последние итерации, которые совпадают либо по сопоставлению базы данных, либо по информации о локальном идентификаторе, удаляются в процессе режима обмена.
Если итерация шаблона жизненного цикла удаляется в системе-источнике во время выполнения процесса экспорта, удаленная информация этой итерации вместе с доступной в системе-источнике последней итерацией распространяется в целевую систему. Это помогает синхронизировать последнюю использованную итерацию в целевой системе.
Фильтрация шаблонов жизненного цикла в зависимости от бизнес-реквизитов для распространения действия удаления не поддерживается.
Удаление шаблонов жизненного цикла, которые используются другими объектами, не поддерживается.
Схема шаблона жизненного цикла для систем с выборочным режимом содержит следующие элементы.
Элемент
Подэлемент
Атрибут
Описание
Name
-
-
Укажите наименование шаблона жизненного цикла.
ExchangeContainer
-
-
Используйте этот элемент для фильтрации шаблонов жизненного цикла, которые были созданы на уровне сайта.
В XML-файле спецификации можно использовать только один экземпляр этого тега.
AppContainer
-
type
Укажите тип контейнера приложения. Допустимые значения: Project, Product или Library.
Для AppContainer этот атрибут является обязательным.
-
name
Укажите наименование контейнера приложения.
Для AppContainer этот атрибут является обязательным.
-
orgName
Укажите наименование организации в контейнере приложения. Пример: PTC.
Для AppContainer этот атрибут является обязательным.
Organization
-
name
Укажите наименование организации. Пример: PTC.
Ниже приведен пример файла спецификации для фильтрации и экспорта всех шаблонов жизненного цикла из контейнера Exchange и изделия GOLF_CART в 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>
Ниже приведен пример файла спецификации для фильтрации и экспорта всех шаблонов жизненного цикла с наименованием Default в 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>
Ниже приведен пример файла спецификации для фильтрации и экспорта всех шаблонов жизненного цикла с наименованиями Basic и 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>
Шаблон процесса рабочего процесса
В этом разделе приведено описание элементов XML, используемых для фильтрации и экспорта записей шаблонов процессов рабочего процесса в системах с выборочным режимом. Шаблоны процессов рабочего процесса можно фильтровать на основе наименования шаблона жизненного цикла из определенного контейнера организации, контейнера приложения или обменного контейнера.
При разработке файла спецификации для шаблонов процессов рабочего процесса учитывайте следующие рекомендации.
Распространять можно шаблоны процессов рабочего процесса, которые присутствуют только в системном домене.
Распространять можно только последнюю итерацию шаблона процесса рабочего процесса. Это правило действует даже в том случае, если число итераций шаблона процесса рабочего процесса в системе-источнике и в целевой системе различается.
При распространении действия удаления на последнюю итерацию шаблона процесса рабочего процесса в целевой системе это действие также автоматически удаляет мастер. Это правило действует даже в том случае, если последняя итерация шаблона процесса рабочего процесса в системе-источнике, которая была экспортирована, является единственной итерацией в целевой системе.
Действие удаления можно распространить для шаблонов процессов рабочего процесса только при условии, что в системах с синхронизированным режимом обнаружена соответствующая информация о сопоставлении базы данных и локальном идентификаторе. В системах с выборочным режимом необходимо найти соответствующее сопоставление базы данных.
Удаление промежуточных итераций шаблонов процессов рабочего процесса не поддерживается. Только последние итерации, которые совпадают либо по сопоставлению базы данных, либо по информации о локальном идентификаторе, удаляются в процессе режима обмена.
Если итерация шаблона процесса рабочего процесса удаляется в системе-источнике во время выполнения процесса экспорта, удаленная информация этой итерации вместе с доступной в системе-источнике последней итерацией распространяется в целевую систему. Это помогает синхронизировать последнюю использованную итерацию в целевой системе.
Фильтрация шаблонов процесса рабочего процесса в зависимости от бизнес-реквизитов для распространения действия удаления не поддерживается.
Удаление шаблонов процессов рабочего процесса, которые используются другими объектами, не поддерживается.
Обмен экстернализированных шаблонов процессов рабочего процесса не поддерживается.
Схема шаблона процесса рабочего процесса для систем с выборочным режимом содержит следующие элементы.
Элемент
Подэлемент
Атрибут
Описание
Name
-
-
Укажите наименование шаблона процесса рабочего процесса.
ExchangeContainer
-
-
Используйте этот элемент для фильтрации шаблонов процессов рабочего процесса, которые были созданы на уровне сайта.
В XML-файле спецификации можно использовать только один экземпляр этого тега.
AppContainer
-
type
Укажите тип контейнера приложения. Допустимые значения: Project, Product или Library.
Для AppContainer этот атрибут является обязательным.
-
name
Укажите наименование контейнера приложения.
Для AppContainer этот атрибут является обязательным.
-
orgName
Укажите наименование организации в контейнере приложения. Пример: PTC.
Для AppContainer этот атрибут является обязательным.
Organization
-
name
Укажите наименование организации. Пример: PTC.
Ниже приведен пример файла спецификации для фильтрации и экспорта всех шаблонов процессов рабочего процесса из контейнера Exchange и изделия GOLF_CART в 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>
Ниже приведен пример файла спецификации для фильтрации и экспорта всех шаблонов процессов рабочего процесса с наименованием Submit в 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>
Ниже приведен пример файла спецификации для фильтрации и экспорта всех шаблонов процессов рабочего процесса с наименованиями Review и 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>
Определение типа
Файл спецификации позволяет фильтровать и экспортировать шаблон атрибута на основе внутреннего наименования определения типа. Схема шаблона атрибута содержит следующие элементы.
Элемент
Описание
Name
Укажите внутреннее наименование определения типа. Пример: Name1
Namespace
Укажите пространство имен определения типа. Пример: Namespace1
* 
Если нет информации, которая будет указана для пространства имен, не включайте последнее в файл спецификации.
Flavor
Укажите тип шаблона атрибута определения типа. Пример: LWCTYPE
Ниже приведен пример файла спецификации, используемого для фильтрации и экспорта шаблона атрибута.
<?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>
Система единиц измерения
Файл спецификации позволяет фильтровать и экспортировать систему измерения на основе наименования системы измерения. Схема содержит следующие элементы.
Элемент
Описание
Name
Укажите наименование системы единиц измерения. Пример: MS1
Ниже приведен пример файла спецификации, используемого для фильтрации и экспорта системы единиц измерения.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <BACSpec xmlns="http://www.ptc.com/bac">
<MeasurementSystem>
<Name>MS1</Name>
<Name>MS2</Name>
</MeasurementSystem>
</BACSpec>
Единицы измерения
Файл спецификации позволяет фильтровать и экспортировать единицы измерения на основе наименования единиц измерения. Схема содержит следующие элементы.
Элемент
Описание
Name
Укажите наименование единиц измерения. Пример: QOM1
Ниже приведен пример файла спецификации, используемого для фильтрации и экспорта единиц измерения.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <BACSpec xmlns="http://www.ptc.com/bac">
<QOM>
<Name>QOM1</Name>
<Name>QOM2</Name>
</QOM>
</BACSpec>
Глобальные перечисления
Файл спецификации позволяет фильтровать и экспортировать глобальные перечисления на основе наименований перечислений, папок и владеющих организаций. Схема содержит следующие элементы.
Элемент
Описание
internalName
Укажите наименование глобального перечисления. Пример: ENU1
OrganizerName
Укажите наименование папки перечисления.
owningOrg
Укажите организацию, в которой создается перечисление.
Ниже приведен пример файла спецификации, который используется для фильтрации и экспорта глобального перечисления с наименованиями Basic и Default:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <BACSpec xmlns="http://www.ptc.com/bac">
<GlobalEnumeration>
<Name>basic</Name>
<Name>default</Name>
</GlobalEnumeration>
</BACSpec>
Ниже приведен пример файла спецификации, который используется для фильтрации и экспорта глобального перечисления на основе папки перечисления:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <BACSpec xmlns="http://www.ptc.com/bac">
<GlobalEnumeration>
<OrganizerName>ORGNAME1</OrganizerName>
<OrganizerName>ORGNAME2</OrganizerName>
</GlobalEnumeration>
</BACSpec>
Ниже приведен пример файла спецификации, который используется для фильтрации и экспорта глобального перечисления на основе папки перечисления и владеющей организации:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <BACSpec xmlns="http://www.ptc.com/bac">
<GlobalEnumeration>
<OrganizerName>ORGNAME1</OrganizerName>
<owningOrg>Demo Org</owningOrg>
</GlobalEnumeration>
</BACSpec>
Ниже приведен пример файла спецификации, который используется для фильтрации и экспорта глобального перечисления на основе владеющей организации:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <BACSpec xmlns="http://www.ptc.com/bac">
<GlobalEnumeration>
<owningOrg>site</owningOrg>
</GlobalEnumeration>
</BACSpec>
Повторно используемые атрибуты
Файл спецификации позволяет фильтровать и экспортировать повторно используемые атрибуты на основе наименования атрибута и папки атрибутов. Схема содержит следующие элементы.
Элемент
Описание
name
Укажите внутреннее наименование атрибута с наименованием домена или без него. Например, org.rnd.SampleAttr1 или SampleAttr1
OrganizerName
Укажите внутренние наименования для папок атрибутов в иерархии.
Ниже приведен пример файла спецификации, который используется для фильтрации и экспорта повторно используемых атрибутов на основе внутреннего наименования атрибута:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <BACSpec xmlns="http://www.ptc.com/bac">
<ResuableAttr>
<name>org.rnd.SampleAttr1</name>
<name>SampleAttr1</name>
</ResuableAttr>
</BACSpec>
Ниже приведен пример файла спецификации, который используется для фильтрации и экспорта повторно используемых атрибутов на основе папки атрибутов.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <BACSpec xmlns="http://www.ptc.com/bac">
<ResuableAttr>
<OrganizerName>RootOrganizer</OrganizerName>
<OrganizerName>RootOrganizer/Organizer1</OrganizerName>
</ResuableAttr>
</BACSpec>
Пользователь или группа
Для создания файла спецификации можно использовать один элемент или комбинацию элементов пользователя или группы. Если в файле спецификации используются все элементы пользователя или группы, элементы в схеме должны размещаться в порядке, приведенном на следующем рисунке.
Схема с использованием элементов пользователя или группы содержит следующие элементы.
Роль "Участник"
Представляет системные группы, созданные для ролей, назначенных участникам коллектива в коллективах и общих коллективах контекста, а также системные группы, созданные в контексте приложения, представляющем организации, у которых есть участники в коллективе контекста.
Этот элемент поддерживает наименование группы, тип группы и контейнер (контейнер обмена или контейнер организации) роли Windchill или WTRoleprincipal. Необходимо указать контейнер обмена или организацию для WTRolePrincipal.
Схема WTRoleprincipal содержит следующие элементы.
Элемент
Подэлемент
Атрибут
Описание
groupname
Укажите APPROVER в качестве наименования внутренней группы.
grouptype
Укажите DynamicRole как тип группы, к которому принадлежит внутренняя группа.
ExchangeContainer
-
-
Используйте этот элемент для фильтрации системных групп, которые были созданы на уровне сайта.
В XML-файле спецификации можно использовать только один экземпляр этого тега.
Organization
-
name
Укажите наименование организации. Пример: PTC.
Ниже приведен пример файла спецификации для фильтрации и экспорта всех правил управления доступом к политикам на основе RolePrincipal из организации 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>
Ниже приведен пример файла спецификации для фильтрации и экспорта всех правил управления доступом к политикам на основе RolePrincipal из контейнера обмена:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<BACSpec xmlns="http://www.ptc.com/bac">
<PolicyAccessControlRule>
<RolePrincipal>
<ExchangeContainer/>
</RolePrincipal>
</PolicyAccessControlRule>
</BACSpec>
Группа
Определяет идентификатор UFID или комбинацию наименования и контейнера обмена или контейнера организации группы Windchill или WTGroup.
Схема WTGroup содержит следующие элементы.
Элемент
Подэлемент
Атрибут
Описание
name
-
-
Укажите наименование группы. Пример: Administrator.
Organization
-
-
Укажите наименование организации. Пример: PTC.
ExchangeContainer
domain
path
Используйте этот элемент для фильтрации групп, которые были созданы на уровне сайта.
В XML-файле спецификации можно использовать только один экземпляр этого тега.
ufid
-
name
Укажите идентификатор UFID объекта. Допустимый формат для этого параметра: <строка UFID>|<репозиторий LDAP>|<репозиторий LDAP>
Ниже приведен пример файла спецификации для фильтрации и экспорта всех правил управления доступом к политикам из группы Administrator из организации PTC, из контейнера обмена и с определенным идентификатором UFID:
<?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>
Ниже приведен пример файла спецификации для фильтрации и экспорта всех правил управления доступом к политикам из всех групп, находящихся в контейнере обмена:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<BACSpec xmlns="http://www.ptc.com/bac">
<PolicyAccessControlRule>
<Group>
<ExchangeContainer/>
</Group>
</PolicyAccessControlRule>
</BACSpec>
Внутренняя группа
Это группы, которые не представлены в LDAP, но обслуживаются внутри Windchill. Например, "Автор библиотеки".
Схема InternalGroup содержит следующие элементы.
Элемент
Подэлемент
Атрибут
Описание
groupname
Укажите наименование внутренней группы.
grouptype
Укажите DynamicRole как тип группы, к которому принадлежит внутренняя группа.
ExchangeContainer
-
-
Используйте этот элемент для фильтрации внутренних групп, которые были созданы на уровне сайта.
В XML-файле спецификации можно использовать только один экземпляр этого тега.
Organization
-
name
Укажите наименование организации. Пример: PTC.
AppContainer
-
type
Укажите тип контейнера приложения. Допустимые значения: Project, Product или Library.
Для AppContainer этот атрибут является обязательным.
-
name
Укажите наименование контейнера приложения.
Для AppContainer этот атрибут является обязательным.
-
orgName
Укажите наименование организации. Пример: PTC.
Для AppContainer этот атрибут является обязательным.
Ниже приведен пример файла спецификации для фильтрации и экспорта всех правил управления доступом к политикам из группы LIBRARY CREATOR из организации 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
Определяет имя, идентификатор UFID или идентификатор электронной почты пользователя Windchill или WTUser. Необходимо указать хотя бы один из этих элементов в качестве критерия фильтрации в разделе WTUser в файле спецификации.
Схема WTUser содержит следующие элементы.
Элемент
Описание
name
Укажите имя пользователя. Пример: TestUser.
emailid
Укажите идентификатор электронной почты пользователя. Пример: testuser@ptc.com.
ufid
Укажите идентификатор UFID объекта. Допустимый формат для этого параметра: <строка UFID>|<репозиторий LDAP>|<репозиторий LDAP>
Ниже приведен пример файла спецификации для фильтрации и экспорта всех правил управления доступом к политикам на основе 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>
Ниже приведен пример файла спецификации для фильтрации и экспорта всех правил управления доступом к политикам на основе идентификатора электронной почты пользователя с именем 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
Определяет наименование или UFID организации Windchill или WTOrganization. В файле спецификации должен присутствовать хотя бы один из этих элементов. Необходимо указать хотя бы один из этих элементов в качестве критерия фильтрации в разделе WTOrganization в файле спецификации.
Схема WTOrganization содержит следующие элементы.
Элемент
Описание
name
Укажите наименование организации. Пример: PTC.
ufid
Укажите идентификатор UFID объекта. Допустимый формат для этого параметра: <строка UFID>|<репозиторий LDAP>|<репозиторий LDAP>
Ниже приведен пример файла спецификации для фильтрации и экспорта всех правил управления доступом к политикам из организации PTC и на основе UFID:
<?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>
Псевдороль
Определяет фильтр для сбора объектов на основе псевдоролей.
Схема PseudoRole содержит следующие элементы.
Элемент
Описание
name
Определите для этого атрибута ALL или OWNER, где
ALL - псевдороль, которая используется Windchill для представления всех участников;
OWNER - псевдороль, которая используется Windchill для представления владельца объекта.
Ниже приведен пример файла спецификации для фильтрации и экспорта всех правил управления доступом к политикам, для которых задана псевдороль ALL или 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>
Ниже приведен пример файла спецификации, содержащего ссылки на все элементы пользователя или группы в обязательной последовательности:
<?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>
Глобальные критерии контейнеров
Используйте GlobalContainerCriteria для определения общего контейнера в качестве глобального критерия фильтрации для всех типов объектов, определенных в файле спецификации. Контейнеры, указанные в GlobalContainerCriteria, аддитивно применяются для всех типов объектов в файле спецификации. Использование GlobalContainerCriteria в файле спецификации для импорта или экспорта записей поддерживается только в системах с выборочным режимом.
Например, фильтрация и экспорт всех профилей из организации PTC в GlobalContainerCriteria и контейнер обмена с последующим извлечением всех записей профилей из PTC и ExchangeContainer. Здесь представлен образец XML-файла для этого примера:
<?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>
При создании файла спецификации с использованием GlobalContainerCriteria необходимо учитывать следующее.
Этот элемент размещается на первом уровне сразу после корневого тега BACSpec.
Этот элемент находится на одном уровне с тегами объектов в файле спецификации.
Этот элемент поддерживает следующие контейнеры:
контейнер обмена;
контейнер организации;
контейнер приложения.
Проверьте, допустим ли указанный в GlobalContainerCriteria контейнер для данного типа объекта.
Для детализированного поиска укажите действительный контейнер в составе административного объекта. Например, контейнеры приложений для правил управления доступом к политикам.
* 
Невозможно указать контейнер приложения или домен с помощью GlobalContainerCriteria для профилей.
Использование домена как дочернего элемента в составе элемента объекта не поддерживается. Например, в контейнере приложения невозможно указать домен для правил управления доступом к политикам.
Ниже приведен пример файла спецификации для фильтрации и экспорта всех профилей в контейнере обмена и правил управления доступом к политикам из контейнера приложения Drive System в организации 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>