문제

요구 사항 : SharePoint 2013 온라인에서 사용할 사용자 지정 콘텐츠 형식과 함께 사용자 지정 문서 라이브러리가있는 WebTemplate

는 웹 템플릿과 콘텐츠 형식을 만들었습니다. 둘 다 온라인 SharePoint에서 잘 작동합니다. 그러나 나는 목록 정의가있는 두 가지 주요 문제에 직면하고있다

1) 목록 정의 스키마에 ContentTypereF로 사용자 정의 컨텐츠 유형을 포함 할 수 없습니다. 2) 목록 정의를 웹 템플리트의 onet.xml에 포함시키는 방법을 알아낼 수 없으므로 기능 ID를 추가하려고하지만 문서 라이브러리가 누락 된 템플리트를 사용하여 새 사이트를 만드는 경우

코드 :

onet.xml

<?xml version="1.0" encoding="utf-8"?>
<Project Title="$Resources:onet_TeamWebSite;" Revision="3" ListDir="$Resources:core,lists_Folder;" xmlns:ows="Microsoft SharePoint" UIVersion="15" HideSiteContentsLink="true">
  <NavBars>
  </NavBars>
  <ListTemplates>
  </ListTemplates>
<Configurations>
    <Configuration ID="0" Name="Default" MasterUrl="_catalogs/masterpage/seattle.master">
      <Lists>
        <List FeatureId="00BFEA71-E717-4E80-AA17-D0C71B360101" Type="101" Title="$Resources:core,shareddocuments_Title_15;" Url="$Resources:core,shareddocuments_Folder;" OnQuickLaunch="TRUE" QuickLaunchHeading="TRUE" />
      </Lists>
      <SiteFeatures>
        <Feature ID="8b312a79-d117-44ef-81b2-453a71ccfea5" /> // Feature including the list definition
      </SiteFeatures>
      <WebFeatures>
      </WebFeatures>
    </Configuration>
  </Configurations>
  <ServerEmailFooter>$Resources:ServerEmailFooter;</ServerEmailFooter>
</Project>
.

목록 정의의 일부 schema.xml

<?xml version="1.0" encoding="utf-8"?>
<List xmlns:ows="Microsoft SharePoint" Title="Resources" FolderCreation="FALSE" Direction="$Resources:Direction;" Url="Lists/Resources" BaseType="0" xmlns="http://schemas.microsoft.com/sharepoint/" EnableContentTypes="TRUE">
  <MetaData>
    <ContentTypes>
      <ContentType ID="0x010100992CB78E42804317A18A5E40907EA235" Name="Custom Content Type" Group="Custom Content Type" Description="Custom Content Type" Inherits="TRUE" Version="0">
        <FieldRefs>
          <FieldRef ID="{796E4A07-6AD2-4AC4-8788-2536EA0B0224}" Name="Organization/Author" Required="TRUE" />
          <FieldRef ID="{782D2071-7531-4F34-92E2-2418090A3ED9}" Name="Publication Date" Required="TRUE" />
          <FieldRef ID="{ceee0e58-7e36-47c9-9e20-3d3d0d7ba0d4}" Name="Partners" Required="TRUE" />
        </FieldRefs>
      </ContentType>
    </ContentTypes>
    <Fields>
      </Fields>
    <Views>
.

ContentTypes 내에서 ContentTyperef를 사용하여 시도했지만 작동하지 않는

콘텐츠 유형의 요소 .xml

<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">

  <Field ID="{796E4A07-6AD2-4AC4-8788-2536EA0B0224}" Type="Text" Name="Organization/Author" DisplayName="Organization/Author" ShowInNewForm="FALSE" ShowInFileDlg="FALSE"></Field>
  <Field ID="{782D2071-7531-4F34-92E2-2418090A3ED9}" Type="DateTime" Name="Publication Date" DisplayName="Publication Date" Required="FALSE" EnforceUniqueValues="FALSE" ShowInNewForm="FALSE" ShowInFileDlg="FALSE"></Field>
  <Field ID="{ceee0e58-7e36-47c9-9e20-3d3d0d7ba0d4}" Type="Choice" Name="Partners" DisplayName="Partners" Required="FALSE" EnforceUniqueValues="FALSE" Indexed="FALSE" Format="Dropdown" FillInChoice="FALSE">  
    <CHOICES>
      <CHOICE>Yes</CHOICE>
      <CHOICE>No</CHOICE>
    </CHOICES>
  </Field>

  <!-- Parent ContentType: Document (0x0101) -->
  <ContentType ID="0x010100992CB78E42804317A18A5E40907EA235" Name="Custom Content Type" Group="Custom Content Type" Description="Custom Content Type" Inherits="TRUE" Version="0">
    <FieldRefs>
      <FieldRef ID="{796E4A07-6AD2-4AC4-8788-2536EA0B0224}" Name="Organization/Author" Required="TRUE" />
      <FieldRef ID="{782D2071-7531-4F34-92E2-2418090A3ED9}" Name="Publication Date" Required="TRUE" />
      <FieldRef ID="{ceee0e58-7e36-47c9-9e20-3d3d0d7ba0d4}" Name="Partners" Required="TRUE" />
    </FieldRefs>
  </ContentType>
</Elements>
.

누구나 내가 무엇을 잘못하고 있는지 제안 할 수 있습니까?

몇 가지 더 많은 것, 세 가지 모든 것들 (webtemplate, content type 및 list definition)은 사이트에 범위가있는 것과 동일한 기능에 포함되어 있습니다. 샌드 박스 아키텍처 인 SharePoint 온라인으로 배포 할 것입니다.

도움이 되었습니까?

해결책

내가 할 수 있으면 코드를 조금 재구성 할 것을 제안하고 싶습니다. 웹 템플릿을 자체 솔루션에 넣으십시오. 처음으로 작동하십시오. 그런 다음 콘텐츠 유형 및 목록이 포함 된 두 번째 솔루션을 만듭니다. 그 기능은 사이트가 아닌 웹에 범위를 지정해야합니다. 어떤 경우에도 해당 스키마에 문제가 없습니다. 모든 경우에는 목록 디자이너 마법사가 있으며, 사용을 사용한 경우

웹 템플릿이 개발 워크 플로우를 복잡하게하기 때문에 2 가지 솔루션을 제안하는 이유는입니다. 재배포하면 전체 사이트 삭제 및 재생성을 수반합니다. 목록에서만 일하면 할 필요가 없습니다. 별도의 솔루션으로 목록을 사용하면 재배치가 훨씬 빠릅니다.

한 솔루션에서 모든 것을 필요로하는 경우 모든 것이 작동하면 모든 것이 작동하지만 두 가지 기능이 있어야합니다. 웹 템플릿이 사이트 범위 기능에 있어야하며 목록이 웹에 있어야합니다. -soped 기능. 필드와 콘텐츠 형식은 전송 중 하나만 괜찮을지 모르지만 항상 웹 범위를 지정했습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 sharepoint.stackexchange
scroll top