Настройка подсистемы подготовки PnP
Иногда не нужно извлекать все или некоторые артефакты с сайта или даже конкретный список. В подсистеме подготовки PnP используется файл конфигурации в формате JSON, с помощью которого обеспечивается полный контроль над этим процессом.
Настройка параметров извлечения
В https://aka.ms/sppnp-extract-configuration-schemaможно найти схему JSON. Схема, на которую ссылается этот URL-адрес, при появлении новых функций автоматически обновляется до более поздней версии.
При создании JSON-файла с помощью современного редактора, например Visual Studio Code, а также использовании ссылки на эту схему для всех настраиваемых свойств будет работать функция автозаполнения и появятся их описания.
Познакомьтесь со следующим примером конфигурации.
{
"$schema":"https://aka.ms/sppnp-extract-configuration-schema",
"handlers": [
"Lists",
"WebSettings",
"Pages"
]
}
Он требует от подсистемы извлечения только списков, веб-параметров (в том числе названия, логотипа и т. д.) и домашней страницы.
В некоторых обработчиках можно задать дополнительные параметры конфигурации.
{
"$schema":"https://aka.ms/sppnp-extract-configuration-schema",
"persistAssetFiles": true,
"handlers": [
"Lists",
"WebSettings",
"Pages"
],
"lists": {
"lists": [
{
"title": "My Test List",
"includeItems": true,
"query": {
"includeAttachments": true
}
}
]
},
"pages": {
"includeAllClientSidePages": true
}
}
В описанной выше конфигурации извлечение списков ограничено только списком, называемым "My Test List". Мы сообщаем подсистеме о том, что объекты списка не надо экспортировать в шаблон (они будут отображаться как элементы DataRow) и что также следует включать вложения, если они есть. Однако такие вложения не будут загружаться, если для свойства persistAssetFiles
не задано значение true
.
Если имеется файл конфигурации, его можно использовать в соответствии с описанием в документации для Get-PnPSiteTemplate.
Get-PnPSiteTemplate -Configuration "config.json" -Out "template.xml"
Обратите внимание: для списков можно задать дополнительные параметры конфигурации. Рекомендуем изучить схему подробнее.
Если указан обработчик Pages
, то по умолчанию подсистема экспортирует только главную страницу. Если вы хотите экспортировать все страницы, задайте для свойства includeAllClientSidePages
в разделе pages
значение true.