Options de configuration de transformation de page

Lorsque vous utilisez l’infrastructure de transformation de page, vous avez beaucoup de contrôle sur la manière dont la transformation de page est effectuée. Le modèle pour contrôler cela consiste à spécifier la configuration correcte dans le cadre de l’instance pour les pages wiki et de partie Web, ou une instance pour les PageTransformationInformation PublishingPageTransformationInformation pages de publication. L’instance de transformation créée est ce que vous utilisez pour lancer la transformation de page. Dans cet article, vous allez en savoir plus sur les options disponibles.

Important

La modernisation de SharePoint PnP fait partie du Framework PnP et est en constante évolution, consultez les notes de publication pour rester à jour sur les dernières modifications. Si vous rencontrez des problèmes, veuillez le signaler dans la liste des problèmes de PnP Framework GitHub.

Option Remplacer

Type Valeur par défaut, si ce n’est pas spécifié
Bool false

Lorsque vous configurez Overwrite = true, l’infrastructure de transformation de page remplace la page cible si nécessaire. Par défaut, le nouveau nom de page comporte le préfixe Migrated_, ce qui implique que si Migrated_YourPage.aspx existe déjà (provient généralement d’une action précédente de transformation de page), il est remplacé. L’extrait de code ci-dessous montre comment utiliser cette option.

PageTransformationInformation pti = new PageTransformationInformation(page)
{
    Overwrite = true,
};
PublishingPageTransformationInformation pti = new PublishingPageTransformationInformation(page)
{
    Overwrite = true,
};

Option SourcePage

Type Valeur par défaut, si ce n’est pas spécifié
ListItem null

Généralement définie via le constructeur, comme illustré dans l’exemple ci-dessous. Cela indique la page à moderniser lorsque la page réside dans une liste

PageTransformationInformation pti = new PageTransformationInformation(page)
{
    Overwrite = true,
};
PublishingPageTransformationInformation pti = new PublishingPageTransformationInformation(page)
{
    Overwrite = true,
};

Option SourceFile (à partir de la publication de juin 2019)

Type Valeur par défaut, si ce n’est pas spécifié
Fichier null

Utilisé pour définir une page à moderniser lorsque la page réside en dehors d’une liste, donc dans le dossier racine du site. Ces pages ne peuvent être que des pages de partie Web.

var fileToModernize = cc.Web.GetFileByServerRelativeUrl("/sites/myspecialsite/default.aspx");
cc.Load(fileToModernize);
cc.ExecuteQueryRetry();

PageTransformationInformation pti = new PageTransformationInformation(null)
{
    SourceFile = true,
};

Option TargetPagePrefix

Type Valeur par défaut, si ce n’est pas spécifié
String Migrated_

La nouvelle page moderne est nommée comme suit : {TargetPagePrefix}{OriginalPageName} (exemple : Migrated_MyPage.aspx). Si vous souhaitez un autre préfixe, utilisez cette option.

PageTransformationInformation pti = new PageTransformationInformation(page)
{
    TargetPagePrefix = "New_",
};

Notes

Cette option n’est pas disponible pour la transformation de page de publication.

Option TargetPageTakesSourcePageName

Type Valeur par défaut, si ce n’est pas spécifié
Bool false

Le comportement par défaut consiste à attribuer à la page moderne créée un nom qui commence par le préfixe Migrated_ et à laisser son nom existant à la page d’origine. Lorsque cette option est spécifiée, la page créée récemment prend le nom de la page d’origine et la page d’origine est renommée avec un préfixe Previous_. Définissez cette option si vous êtes sûr de vouloir continuer avec la page moderne, car elle permet de s’assurer que tous les liens pointant vers la page d’origine mènent désormais vers la nouvelle page moderne en cours de chargement.

PageTransformationInformation pti = new PageTransformationInformation(page)
{
    TargetPageTakesSourcePageName = true,
};

Important

Lorsque vous changez le nom de la page d’origine afin qu’il commence par le préfixe Previous_, l’historique des versions de la page d’origine n’est pas conservé.

Notes

Cette option n’est pas disponible pour la transformation de page de publication.

Option SourcePagePrefix

Type Valeur par défaut, si ce n’est pas spécifié
String Previous_

Si vous avez défini TargetPageTakesSourcePageName = true, la page d’origine est renommée avec le préfixe par défaut Previous_. Si vous souhaitez un autre préfixe, utilisez cette option.

PageTransformationInformation pti = new PageTransformationInformation(page)
{
    SourcePagePrefix = "Old_",
};

Notes

Cette option n’est pas disponible pour la transformation de page de publication.

Option TargetPageName

Type Valeur par défaut, si ce n’est pas spécifié
String vide

Vous pouvez éventuellement remplacer le nom de la page cible. Par défaut, le moteur de transformation de page en génère un, mais il est parfois nécessaire de le remplacer (par exemple, default.aspx entre en conflit avec la page d’affichage default.aspx de la bibliothèque SitePages).

PageTransformationInformation pti = new PageTransformationInformation(page)
{
    TargetPageName = "mypage.aspx",
};
PublishingPageTransformationInformation pti = new PublishingPageTransformationInformation(page)
{
    TargetPageName = "mypage.aspx",
};

Option TargetPageFolder (à compter de la publication de novembre 2019)

Type Valeur par défaut, si ce n’est pas spécifié
String vide

Vous pouvez éventuellement spécifier le dossier dans lequel la page cible sera créée. Notez que si un dossier a été créé automatiquement (par exemple, parce que vous transformiez à partir d’une bibliothèque de pages Wiki supplémentaire), le dossier spécifié par ce paramètre est combiné au dossier généré automatiquement (sauf si vous utilisez également TargetPageFolderOverridesDefaultFolder l’option). Vous pouvez spécifier un dossier comme suit : MyFolder ou MyFolder/SubFolder quand vous voulez créer une structure de dossiers imbriqués. Spécifier comme valeur vous permet de cibler la racine de la bibliothèque de pages de sites cible (à compter de la publication de janvier <root> 2020).

PageTransformationInformation pti = new PageTransformationInformation(page)
{
    TargetPageFolder = "MyFolder",
};
PublishingPageTransformationInformation pti = new PublishingPageTransformationInformation(page)
{
    TargetPageFolder = "MyFolder",
};

Option TargetPageFolderOverridesDefaultFolder (à compter de la publication de décembre 2019)

Type Valeur par défaut, si ce n’est pas spécifié
Bool false

Vous pouvez forcer la transformation de page à utiliser le dossier spécifié via la propriété, qu’il y a eu ou non un dossier créé TargetPageFolder automatiquement.

PageTransformationInformation pti = new PageTransformationInformation(page)
{
    TargetPageFolderOverridesDefaultFolder = true,
};
PublishingPageTransformationInformation pti = new PublishingPageTransformationInformation(page)
{
    TargetPageFolderOverridesDefaultFolder = true,
};

Option ReplaceHomePageWithDefaultHomePage

Type Valeur par défaut, si ce n’est pas spécifié
Bool false

Le comportement par défaut consiste à transformer la page d’accueil de votre site en une page moderne comme n’importe quelle autre page normale. Si vous définissez cette option sur True, la page d’accueil d’un site est transformée en une page d’accueil moderne « par défaut » prête à l’emploi, c’est-à-dire celle que pouviez obtenir avec un site d’équipe moderne créé récemment.

PageTransformationInformation pti = new PageTransformationInformation(page)
{
    ReplaceHomePageWithDefaultHomePage = true,
};

Notes

Cette option n’est pas disponible pour la transformation de page de publication.

Option KeepPageSpecificPermissions

Type Valeur par défaut, si ce n’est pas spécifié
Bool true

Le comportement par défaut consiste à écraser les autorisations au niveau des éléments pouvant figurer sur la page source. Si vous ne souhaitez pas bénéficier de cette option, définissez-la sur False.

PageTransformationInformation pti = new PageTransformationInformation(page)
{
    KeepPageSpecificPermissions = false,
};
PublishingPageTransformationInformation pti = new PublishingPageTransformationInformation(page)
{
    KeepPageSpecificPermissions = false,
};

Option CopyPageMetadata (à partir de la publication de février 2019)

Type Valeur par défaut, si ce n’est pas spécifié
Bool false

Si vous avez étendu votre bibliothèque de pages Wiki avec des colonnes supplémentaires pour collecter des métadonnées de page et que vous souhaitez copier ces métadonnées sur la page moderne créée, définissez cette option sur true.

PageTransformationInformation pti = new PageTransformationInformation(page)
{
    CopyPageMetadata = true,
};

Notes

Cette option n’est pas disponible pour la transformation de page de publication. Utilisez le modèle de mappage de mise en page de publication pour définir si les métadonnées doivent être copiées et comment cela doit se produire.

Notes

À compter de la publication d’octobre 2019, la copie des métadonnées de page fonctionne également lorsque vous faites une transformation entre sites, donc lorsque vous créez la page moderne dans une collection de sites différente de la page source d’origine.

Option RemoveEmptySectionsAndColumns (à partir de la version de mars 2019)

Type Valeur par défaut, si ce n’est pas spécifié
Bool true

Le comportement par défaut consiste à supprimer toutes les sections et colonnes vides (par exemple, vous transformez à partir d’une disposition de 3 colonnes et n’avez qu’un seul élément Web Dans la colonne du milieu), car cela permettra une meilleure utilisation de l’espace de l’écran, si vous ne souhaitez pas que cette option soit définie sur False.

PageTransformationInformation pti = new PageTransformationInformation(page)
{
    RemoveEmptySectionsAndColumns = false,
};
PublishingPageTransformationInformation pti = new PublishingPageTransformationInformation(page)
{
    RemoveEmptySectionsAndColumns = false,
};

Dictionnaire MappingProperties (à partir de la publication de mars 2019)

Type Valeur par défaut, si ce n’est pas spécifié
Chaîne de<dictionnaire, chaîne> vide

Le fichier de mappage par défaut peut être configuré en configurant les propriétés de mappage

PageTransformationInformation pti = new PageTransformationInformation(page)
{
    // If target page exists, then overwrite it
    Overwrite = true,
};

pti.MappingProperties["SummaryLinksToQuickLinks"] = "false";

pageTransformator.Transform(pti);
PublishingPageTransformationInformation pti = new PublishingPageTransformationInformation(page)
{
    // If target page exists, then overwrite it
    Overwrite = true,
};

pti.MappingProperties["SummaryLinksToQuickLinks"] = "false";

pageTransformator.Transform(pti);

Option PublishCreatedPage (à partir de la publication d’avril 2019)

Type Valeur par défaut, si ce n’est pas spécifié
Bool true

Le comportement par défaut consiste à publier la page moderne créée, utilisez cette option si vous souhaitez éviter cela.

PageTransformationInformation pti = new PageTransformationInformation(page)
{
    PublishCreatedPage = false,
};
PublishingPageTransformationInformation pti = new PublishingPageTransformationInformation(page)
{
    PublishCreatedPage = false,
};

Option KeepPageCreationModificationInformation (à partir de la publication d’octobre 2019)

Type Valeur par défaut, si ce n’est pas spécifié
Bool false

Le comportement par défaut consiste à ne pas conserver l’auteur, l’éditeur, les données et la date de modification de la page source. Utilisez cette option pour modifier cette option.

Notes

Cette option fonctionne uniquement lorsque la page source se trouve dans le même client SPO que la destination cible de la page moderne.

PageTransformationInformation pti = new PageTransformationInformation(page)
{
    KeepPageCreationModificationInformation = true,
};
PublishingPageTransformationInformation pti = new PublishingPageTransformationInformation(page)
{
    KeepPageCreationModificationInformation = true,
};

Option PostAsNews (à partir de la publication d’octobre 2019)

Type Valeur par défaut, si ce n’est pas spécifié
Bool false

Publiez la page créée en tant qu’actualités. Cela implique que la page sera également publiée, même si vous avez utilisé la page pour empêcher PublishCreatedPage la publication de pages.

PageTransformationInformation pti = new PageTransformationInformation(page)
{
    PostAsNews = true,
};
PublishingPageTransformationInformation pti = new PublishingPageTransformationInformation(page)
{
    PostAsNews = true,
};

Option DisablePageComments (à partir de la publication d’avril 2019)

Type Valeur par défaut, si ce n’est pas spécifié
Bool false

Le comportement par défaut consiste à laisser les commentaires de page activés, utilisez cette option si vous souhaitez créer une page avec des commentaires de page désactivés.

PageTransformationInformation pti = new PageTransformationInformation(page)
{
    DisablePageComments = true,
};
PublishingPageTransformationInformation pti = new PublishingPageTransformationInformation(page)
{
    DisablePageComments = true,
};

Option SkipUrlRewrite (à partir de la version de mai 2019)

Type Valeur par défaut, si ce n’est pas spécifié
Bool false

Le comportement par défaut consiste à laisser la réécriture d’URL activée, utilisez cette option si vous souhaitez créer une page avec la réécriture d’URL désactivée. Pour plus d’informations, voir l’article sur le mappage d’URL.

PageTransformationInformation pti = new PageTransformationInformation(page)
{
    SkipUrlRewrite = true,
};
PublishingPageTransformationInformation pti = new PublishingPageTransformationInformation(page)
{
    SkipUrlRewrite = true,
};

Option UrlMappingFile (à partir de la publication de juillet 2019)

Type Valeur par défaut, si ce n’est pas spécifié
String vide

Vous pouvez éventuellement spécifier un fichier avec des mappages d’URL personnalisés. Pour plus d’informations, voir l’article sur le mappage d’URL.

PageTransformationInformation pti = new PageTransformationInformation(page)
{
    UrlMappingFile = @"c:\temp\urlmappingfile.csv",
};
PublishingPageTransformationInformation pti = new PublishingPageTransformationInformation(page)
{
    UrlMappingFile = @"c:\temp\urlmappingfile.csv",
};

Option SkipDefaultUrlRewrite (à partir de la publication de septembre 2019)

Type Valeur par défaut, si ce n’est pas spécifié
Bool false

Le comportement par défaut consiste à effectuer la réécriture d’URL par défaut. Si vous utilisez un fichier de mappage d’URL personnalisé et que vous ne souhaitez pas appliquer la logique de réécriture d’URL par défaut, définissez cette propriété. Pour plus d’informations, voir l’article sur le mappage d’URL.

PageTransformationInformation pti = new PageTransformationInformation(page)
{
    SkipDefaultUrlRewrite = true,
};
PublishingPageTransformationInformation pti = new PublishingPageTransformationInformation(page)
{
    SkipDefaultUrlRewrite = true,
};

Option AddTableListImageAsImageWebPart (à partir de la publication d’octobre 2019)

Type Valeur par défaut, si ce n’est pas spécifié
Bool true

Les images contenues dans un tableau ou une liste étaient également créées sous forme de composants WebPart image distincts sous le tableau ou la liste. Définissez la propriété sur False si vous souhaitez arrêter la création de ces composants Web Parts AddTableListImageAsImageWebPart d’image distincts.

PageTransformationInformation pti = new PageTransformationInformation(page)
{
    AddTableListImageAsImageWebPart = false,
};
PublishingPageTransformationInformation pti = new PublishingPageTransformationInformation(page)
{
    AddTableListImageAsImageWebPart = false,
};

Option UserMappingFile (à compter de la publication de novembre 2019)

Type Valeur par défaut, si ce n’est pas spécifié
String vide

Vous pouvez éventuellement spécifier un fichier avec des mappages utilisateur personnalisés. Pour plus d’informations, consultez l’article Mappage d’utilisateur.

PageTransformationInformation pti = new PageTransformationInformation(page)
{
    UserMappingFile = @"c:\temp\usermappingfile.csv",
};
PublishingPageTransformationInformation pti = new PublishingPageTransformationInformation(page)
{
    UserMappingFile = @"c:\temp\usermappingfile.csv",
};

Option LDAPConnectionString (à compter de la publication de novembre 2019)

Type Valeur par défaut, si ce n’est pas spécifié
String vide

Vous pouvez éventuellement spécifier une chaîne de connexion LDAP personnalisée vers votre environnement Active Directory. Pour plus d’informations, consultez l’article Mappage d’utilisateur.

PageTransformationInformation pti = new PageTransformationInformation(page)
{
    LDAPConnectionString = "LDAP://OU=Test,DC=CONTOSO,DC=COM",
};
PublishingPageTransformationInformation pti = new PublishingPageTransformationInformation(page)
{
    LDAPConnectionString = "LDAP://OU=Test,DC=CONTOSO,DC=COM",
};

Option SkipUserMapping (à compter de la publication de novembre 2019)

Type Valeur par défaut, si ce n’est pas spécifié
Bool false

Le comportement par défaut consiste à toujours effectuer le mappage utilisateur lorsque vous transformez des pages provenant de SharePoint en local, utilisez cette option pour désactiver cette option. Pour plus d’informations, voir l’article sur le mappage d’URL.

PageTransformationInformation pti = new PageTransformationInformation(page)
{
    SkipUserMapping = true,
};
PublishingPageTransformationInformation pti = new PublishingPageTransformationInformation(page)
{
    SkipUserMapping = true,
};

Option TermMappingFile (à partir de la publication de mars 2020)

Type Valeur par défaut, si ce n’est pas spécifié
String vide

Vous pouvez éventuellement spécifier un fichier avec des mappages de termes personnalisés. Pour plus d’informations, consultez l’article Mappage de termes.

PageTransformationInformation pti = new PageTransformationInformation(page)
{
    TermMappingFile = @"c:\temp\termmappingfile.csv",
};
PublishingPageTransformationInformation pti = new PublishingPageTransformationInformation(page)
{
    TermMappingFile = @"c:\temp\termmappingfile.csv",
};

Option SkipTermStoreMapping (à partir de la publication de mars 2020)

Type Valeur par défaut, si ce n’est pas spécifié
Bool false

Le comportement standard consiste à effectuer un mappage de termes par défaut. Si vous ne souhaitez pas qu’un mappage de termes se produise, définissez cette propriété. Pour plus d’informations, consultez l’article Mappage de termes.

PageTransformationInformation pti = new PageTransformationInformation(page)
{
    SkipTermStoreMapping = true,
};
PublishingPageTransformationInformation pti = new PublishingPageTransformationInformation(page)
{
    SkipTermStoreMapping = true,
};

Option HandleWikiImagesAndVideos

Type Valeur par défaut, si ce n’est pas spécifié
Bool true

Une page wiki peut contenir du texte et une vidéo incorporée, ce qui n’est pas possible dans un composant de texte moderne. Par défaut, le texte wiki est fractionné au niveau de chaque image ou vidéo incorporée, un composant WebPart image ou vidéo est ajouté à la page moderne, puis vient le reste du texte d’origine. Si cette résolution automatique ne vous convient pas, vous pouvez définir cette option sur False afin que chaque image et vidéo incorporée soit remplacée par un espace réservé au texte combiné avec des composants WebPart individuels vidéo et image en bas de la page.

PageTransformationInformation pti = new PageTransformationInformation(page)
{
    HandleWikiImagesAndVideos = false,
};
PublishingPageTransformationInformation pti = new PublishingPageTransformationInformation(page)
{
    HandleWikiImagesAndVideos = false,
};

Option PageHeader

Type Valeur par défaut, si ce n’est pas spécifié
ClientSidePageHeader Null

L’en-tête de page par défaut pour la page moderne est de type ClientSidePageHeaderType.None et se rapproche de l’en-tête de page wiki. Toutefois, si vous préférez utiliser un en-tête de page moderne par défaut (celui avec une grande zone grise), vous pouvez en bénéficier à l’aide de cette option (consultez également l’exemple ci-dessous). Vous pouvez également configurer un en-tête de page personnalisé avec toutes les options associées, comme l’image d’arrière-plan, l’alignement, etc.

PageTransformationInformation pti = new PageTransformationInformation(page)
{
    PageHeader = new ClientSidePageHeader(cc, ClientSidePageHeaderType.Default, null),
};

Notes

Cette option n’est pas disponible pour la transformation de page de publication. Utilisez le modèle de mappage de mise en page pour déterminer comment l’en-tête de page doit être construit.

Option PageTitleOverride

Type Valeur par défaut, si ce n’est pas spécifié
Func<string, string> null

Le titre de la page moderne utilise le nom de la page source, mais supprime son extension. Vous pouvez toutefois insérer n’importe quel titre de page personnalisé dans le flux de transformation d’après cette légende. L’exemple indiqué ajoute le suffixe _1 au titre par défaut.

// Local functions
string titleOverride(string title)
{
    return $"{title}_1";
}

PageTransformationInformation pti = new PageTransformationInformation(page)
{
    PageTitleOverride = titleOverride,
};
// Local functions
string titleOverride(string title)
{
    return $"{title}_1";
}

PublishingPageTransformationInformation pti = new PublishingPageTransformationInformation(page)
{
    PageTitleOverride = titleOverride,
};

Option LayoutTransformatorOverride

Type Valeur par défaut, si ce n’est pas spécifié
Func<ClientSidePage, ILayoutTransformator> null

Le moteur de transformation de page est doté d’un outil de transformation de disposition par défaut. Ce dernier peut gérer toutes les dispositions de page de composants WebPart et wiki prêtes à l’emploi. Cependant, vous pouvez le remplacer par celui de votre choix.

public class MyLayout : ILayoutTransformator
{
  private ClientSidePage page;

  public MyLayout(ClientSidePage page)
  {
    this.page = page;
  }

  public void Transform(PageLayout layout)
  {
    // custom layout transformation...add sections to the target page based upon the recieved page layout
    switch (layout)
    {
        case PageLayout.Wiki_OneColumn:
        case PageLayout.WebPart_FullPageVertical:
        case PageLayout.Wiki_Custom:
        case PageLayout.WebPart_Custom:
            {
                page.AddSection(CanvasSectionTemplate.OneColumn, 1);
                return;
            }
        // add more incoming layouts...
        default:
            {
                page.AddSection(CanvasSectionTemplate.OneColumn, 1);
                return;
            }
    }
  }
}

// Local functions
ILayoutTransformator layoutOverride(ClientSidePage cp)
{
    return new MyLayout();
}


PageTransformationInformation pti = new PageTransformationInformation(page)
{
    LayoutTransformatorOverride = layoutOverride,
};