複数の環境で既存のページにWebパーツを追加するための最良のアプローチ

sharepoint.stackexchange https://sharepoint.stackexchange.com/questions/2529

  •  16-10-2019
  •  | 
  •  

質問

各環境に既存のページがある場合、default.aspxなど、Webパーツを追加して各環境に宣伝したい場合、最良のアプローチは何ですか?

  1. 機能レシーバーを備えたWSPを作成し、アクティベーションを介してページに追加します
  2. 機能を備えたWSPを作成し、AlluserWebPartsを備えたモジュールを追加します(ただし、ASPXページを展開する必要があります)
  3. 手動エクスポートとインポートWebパーツ
  4. SplimitedWebPartManagerを使用したPowerShellスクリプト
  5. 他の…
役に立ちましたか?

解決

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つの環境のページから別の環境にコードをコピーして貼り付けるだけです。それはすべてビジネス要件に依存しますね。

ライセンス: CC-BY-SA帰属
所属していません sharepoint.stackexchange
scroll top