複数の環境で既存のページにWebパーツを追加するための最良のアプローチ
-
16-10-2019 - |
質問
各環境に既存のページがある場合、default.aspxなど、Webパーツを追加して各環境に宣伝したい場合、最良のアプローチは何ですか?
- 機能レシーバーを備えたWSPを作成し、アクティベーションを介してページに追加します
- 機能を備えたWSPを作成し、AlluserWebPartsを備えたモジュールを追加します(ただし、ASPXページを展開する必要があります)
- 手動エクスポートとインポートWebパーツ
- SplimitedWebPartManagerを使用したPowerShellスクリプト
- 他の…
解決
SP2010クライアントオブジェクトモデルはここで役立つかもしれません。 WebパーツをWebパーツコントロールの説明ファイル(.dwpまたは.webpart)にエクスポートし、次のように裏返します。
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();
}
他のヒント
「その他の」カテゴリでは、SharePointデザイナーの1つの環境のページから別の環境にコードをコピーして貼り付けるだけです。それはすべてビジネス要件に依存しますね。
所属していません sharepoint.stackexchange