Konfigurieren des PnP-Bereitstellungsmoduls
Manchmal sollen nicht alle Artefakte aus einer Website extrahiert werden, oder nur eine bestimmte Liste. Dazu verwendet das PNP-Bereitstellungsmodul eine JSON-formatierte Konfigurationsdatei, die Ihnen eine detaillierte Kontrolle über den Prozess ermöglicht.
Konfiguration der Extraktion
In https://aka.ms/sppnp-extract-configuration-schema ist ein JSON-Schema verfügbar. Wenn neue Funktionen zur Verfügung gestellt werden, wird das Schema, auf das diese URL verweist, automatisch aktualisiert.
Wenn Sie eine JSON-Datei mit einem modernen Editor, z. B. Visual Studio Code, erstellen und dieses Schema referenzieren, gibt es IntelliSense und Beschreibungen aller Eigenschaften, die Sie einstellen können.
Werfen wir einen Blick auf die folgende Beispielkonfiguration
{
"$schema":"https://aka.ms/sppnp-extract-configuration-schema",
"handlers": [
"Lists",
"WebSettings",
"Pages"
]
}
Dadurch wird das Modul angewiesen, nur Listen, die Webeinstellungen (einschließlich Titel, Logo usw.) und die Homepage zu extrahieren.
Für einige der Handler können wir detailliertere Konfigurationsoptionen angeben:
{
"$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
}
}
Mit der obigen Konfiguration beschränken wir die Extraktion von Listen auf die Liste "Meine Testliste". Wir teilen dem Modul mit, dass wir Listenelemente in die Vorlage exportieren möchten (sie werden als DataRow-Elemente angezeigt), und wir sagen dem Modul, dass es auch alle Anhänge, falls vorhanden, einbeziehen soll. Das Modul wird diese Anhänge jedoch nur herunterladen, wenn Sie die Eigenschaft persistAssetFiles
auf true
setzen.
Sobald Sie eine Konfigurationsdatei eingerichtet haben, können Sie diese wie in der Dokumentation zu Get-PnPSiteTemplate beschrieben verwenden:
Get-PnPSiteTemplate -Configuration "config.json" -Out "template.xml"
Beachten Sie, dass Sie weitere Konfigurationsoptionen für Listen angeben können, und wir empfehlen, das Schema weiter zu untersuchen.
Standardmäßig exportiert das Modul die Startseite nur, wenn Sie den Pages
Handler angeben. Wenn Sie alle Seiten einschließen möchten, legen Sie die Eigenschaft includeAllClientSidePages
im Abschnitt pages
auf true fest.
Siehe auch
- SharePoint Patterns and Practices (PnP)
- SharePoint Developer-Gruppe der Microsoft Tech Community
- PnP-Remotebereitstellung