웹 파트와 함께 Wiki 페이지를 배포합니다
-
09-12-2019 - |
문제
이것은 아마도 많은 사람들에게 매우 기본적인 질문 일 것입니다. 그러나 내 배경은 SharePoint 개발자입니다. Wiki 페이지 또는 일반적으로 사이트 페이지가 거의 없었습니다.
조직의 소규모 팀을위한 SharePoint 2010 사이트를 만들고 있으며 팀 사이트 템플릿을 사용하도록 선택했습니다. 나는 사이트에서 할 수있는 일을 시각화하는 수단으로 웹 파트, 이미지 및 텍스트를 홈페이지 (SyeSespages / Home.aspx)에 추가하는 데 시간을 보냈습니다. 이것은 모두 내 개발 환경에서 수행되었습니다.
이제 우리는 페이지의 개발 버전에 만족 했으므로 내보낼 수있는 방법이 있으며 Visual Studio 프로젝트에 추가하여 결국 프로덕션에 다시 배치 될 수 있습니까? 이것은 이것이 좋은 접근 방식이거나, 우리는 프로덕션에서 수동으로 페이지를 다시 만들어야 할 것으로 예상해야합니까?
내 첫 번째 생각은 우리가 SPD에서 페이지를 내보내고 모듈 기능을 통해 배포 할 수 있다는 것이었지만 Wiki 페이지의 EmbeddedFormField 컨트롤이 불가능한 것을 알게되었습니다.
또한이 접근 방식을 시도했습니다. http://www.sharemuch.com/2012/02/20/how-to-automentically-provision-sharepoint-2010-wiki-pages-content/ . 결과 페이지가 웹 파트 (웹 파트가 있지 않고 일부 텍스트가 아닌) 제대로 렌더링되지 않습니다. 또한 "현재 페이지가 템플릿에서 사용자 정의되었습니다."템플리트로 되돌아갑니다 "메시지를 되돌리고"템플릿으로 되돌리기 "를 클릭하십시오.
내 모듈은 다음과 같습니다 :
<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 : //sharepointstrugge.blogspot.COM / 2011 / 10 / 프로그래밍 방식으로 - 프로비저닝 - wiki.html .
기본적으로 Wiki 페이지의 내용이있는 XML 파일을 작성한 다음 페이지의 각 웹 파트를 SPD에서 내보내고 결과 .webPart (.dwp) 파일 내용을 XML에서 참조하는 작업이 포함됩니다.그런 다음 사용자 정의 클래스는 프로그래밍 방식으로 Wiki 페이지를 만들고 웹 파트를 가져 오는 것을 처리합니다.
다른 팁
와이키아를 만들거나 복사 할 때 웹 파트뿐만 아니라 "WikiContent"등가물을 추가하십시오. wikicontent를 다음과 같이 설정하십시오 :
Item[SPBuiltInFieldId.WikiField] = wikiContent;
Item.Update();
.
웹 파트 매니저가있는 WebParts를 추가하십시오 (이 예제는 웹 파트를 한 페이지에서 다른 페이지에서 다른 페이지로 복사합니다.) :
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-oone-wiki-library-to-anther/