Meilleure approche pour ajouter une partie Web à une page existante dans plusieurs environnements
-
16-10-2019 - |
Question
Si vous avez une page existante dans chaque environnement par exemple default.aspx et que vous souhaitez ajouter une partie Web et de promouvoir à chaque environnement, quelle est la meilleure approche?
- Créer un WSP avec une fonction récepteur et ajouter à la page via l'activation
- Créer un WSP avec une caractéristique et ajouter un module avec AllUserWebParts (nécessite le déploiement page ASPX avec elle quand même)
- partie web à l'exportation et l'importation manuelle
- Script PowerShell en utilisant SPLimitedWebPartManager
- Autre ...
La solution
Vous trouverez peut-être le modèle objet client SP2010 usefule ici. Export de la partie Web à un contrôle WebPart fichier Description (.dwp ou .webpart), puis retournez-le dans comme ceci:
using (ClientContext context = new ClientContext("http://server")) {
Web web = context.Web;
File file = web.GetFileByServerRelativeUrl("/SitePages/Default.aspx");
LimitedWebPartManager wpMgr = file.GetLimitedWebPartManager(
PersonalizationScope.Shared);
WebPartDefinition webPartDef = wpMgr.ImportWebPart(
System.IO.File.ReadAllText("Content_Editor.dwp"));
wpMgr.AddWebPart(webPartDef.WebPart, "Left", 1);
context.ExecuteQuery();
}
Autres conseils
Dans la catégorie « Autre », il suffit de copier et coller le code de la page dans un environnement à l'autre dans SharePoint Designer. Tout dépend des besoins de l'entreprise, non?
Licencié sous: CC-BY-SA avec attribution
Non affilié à sharepoint.stackexchange