Configuration du moteur d’approvisionnement PnP
Il arrive parfois que vous ne souhaitiez pas extraire tous les artefacts d’un site ou que vous souhaitez extraire uniquement une liste spécifique. Pour ce faire, le moteur d’approvisionnement PnP utilise un fichier de configuration au format JSON qui vous offre un contrôle détaillé sur le processus.
Configuration de l’extraction
Un schéma JSON est disponible à l’adresse https://aka.ms/sppnp-extract-configuration-schema. Nous mettrons automatiquement à jour le schéma référencé par cette URL à une version ultérieure si de nouvelles fonctionnalités sont disponibles.
Si vous créez un fichier JSON à l’aide d’un éditeur moderne, tel que Visual Studio Code, et que vous référencez ce schéma, vous verrez IntelliSense ainsi que les descriptions de toutes les propriétés que vous pouvez définir.
Examinons l’exemple de configuration suivant.
{
"$schema":"https://aka.ms/sppnp-extract-configuration-schema",
"handlers": [
"Lists",
"WebSettings",
"Pages"
]
}
Cela indique au moteur d’extraire uniquement les listes, les paramètres web (y compris le titre, le logo, etc.) et la page d’accueil.
Pour certains des gestionnaires, nous pouvons spécifier d’autres options de configuration des détails :
{
"$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
}
}
À l’aide de la configuration ci-dessus, nous limitons l’extraction de listes de façon à inclure uniquement celle intitulée « My Test List ». Nous indiquons au moteur que nous voulons exporter les éléments de liste vers le modèle (ils apparaissent sous la forme d’éléments DataRow), et nous indiquons au moteur d’inclure également les pièces jointes, le cas échéant. Toutefois, le moteur ne téléchargera pas ces pièces jointes, sauf si vous attribuez la valeur true
à la propriété persistAssetFiles
.
Une fois que vous avez un fichier de configuration en place, vous pouvez l’utiliser ainsi, comme décrit dans la documentation relative à get-PnPSiteTemplate :
Get-PnPSiteTemplate -Configuration "config.json" -Out "template.xml"
Notez que vous pouvez spécifier d’autres options de configuration pour les listes et nous vous conseillons d’explorer le schéma plus en avant.
Par défaut, le moteur exporte la page d’accueil uniquement si vous spécifiez le gestionnaire Pages
. Si vous voulez inclure toutes les pages, attribuez la valeur true à la propriété includeAllClientSidePages
dans la section pages
.