Webパーツを使用したwikiページの展開
-
09-12-2019 - |
質問
これはおそらく多くの人にとって非常に基本的な質問ですが、私の背景はSharePoint開発者です。私はwikiページ、または一般的なサイトページではほとんど行っていません。
組織内の小さなチーム用にSharePoint2010サイトを作成しており、チームサイトテンプレートを使用することを選択しました。私はホームページ(SitesPages/Home)にwebパーツ、画像、テキストを追加するのに時間を費やしました。aspx)は、サイトで何ができるかを視覚化する手段として使用します。これはすべて私の開発環境で行われました。
ページの開発バージョンに満足したので、それをエクスポートしてVisual Studioプロジェクトに追加して、最終的に本番環境に再展開できるようにする方法はあこれは良いアプローチですか、それとも本番環境でページを手動で再作成することを期待する必要がありますか?
私の最初の考えは、SPDからページをエクスポートし、モジュール機能を介して展開できるということでしたが、wikiページのEmbeddedFormFieldコントロールがそれを不可能にするこ
私もこのアプローチを試しました: http://www.sharemuch.com/2012/02/20/how-to-automatically-provision-sharepoint-2010-wiki-pages-content/.結果のページはwebパーツを適切にレンダリングしません(webパーツはそこにはなく、テキストだけです)。私はまた、「現在のページはそのテンプレートからカスタマイズされています。テンプレートに戻す"というメッセージが表示され、"テンプレートに戻す"をクリックしても消えません。
私のモジュールは次のようになります:
<Module Name="OneCallPages" Url="SitePages" SetupPath="FEATURES\MyProject.SharePoint_SiteAssetsFeature\MyProjectAssets\SitePages" List="119">
<File Path="Welcome.aspx" Url="Welcome.aspx" Type="GhostableInLibrary">
<Property
Name="WikiField"
Type="string"
Value="..."/>
</File>
</Module>
解決 2
rjcup3のおかげで助けに感謝します。私はここで説明されているアプローチを使って終わりました: http://sharepointStruggle.blogspot。COM / 2011/10 /プログラムによるProvisioning-Wiki.html 。
基本的には、Wikiページの内容を持つXMLファイルを作成し、そのページ上の各WebパーツをSPDからエクスポートし、結果の.webpart(.wpp)ファイルの内容をXMLからエクスポートします。その後、カスタムクラスはプログラムでWikiページを作成し、Webパーツをインポートするのを大切にします。
他のヒント
サイトをテンプレートとして保存してエクスポートしようとしましたか。wsp?その後、アップロードすることができます。wspをターゲット環境のソリューションカタログに送信し、サイトテンプレートとして使用してページレイアウトを展開します。
サイトをテンプレートとして保存するには、[サイト設定]>[サイトをテンプレートとして保存]に移動します。そのように簡単です。
の.wspはソリューションカタログに保存され、次の場所に移動できます:
http://[path to site collection]/_catalogs/solutions/
ステップバイステップの指示を見つけることができます ここに.
ウィキフィイを作成またはコピーするときは、必ずWebパーツと同様にPropertie "WikiContent"を追加してください。 WikiContentを:に設定してください
Item[SPBuiltInFieldId.WikiField] = wikiContent;
Item.Update();
.
Webパーツマネージャを使用してWebPartsを追加します(この例は、Webパーツを1ページから別のページにコピーします):
var wpManagerTemplate = webTemplate.GetLimitedWebPartManager(item.Url, System.Web.UI.WebControls.WebParts.PersonalizationScope.Shared);
var wpManagerNew = web.GetLimitedWebPartManager(newFile.Item.Url, System.Web.UI.WebControls.WebParts.PersonalizationScope.Shared);
var webParts = wpManagerTemplate.WebParts;
foreach (WebPart webpart in webParts)
{
wpManagerNew.AddWebPart(webpart, "wpz", webpart.ZoneIndex);
}
.
関連項目: https:// SharePointKaos。WordPress.com/2015/08/07/COPY-PAGE-FROM-RIKI-Library-To-another/