기능 업그레이드가있는 ContentType에 필드를 추가하는 방법 새 및 기존 사이트의 경우

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

  •  09-12-2019
  •  | 
  •  

문제

그래서, 시간 동안 기능 업그레이드를 사용하고 있었지만 기존 인스턴스에 대해 잘 작동하지만 기능 업그레이드가 자동으로 작동하지 않으면 기능 업그레이드를 통해 자동으로 발생하는 업그레이드를 트리거해야합니다. 중앙 관리 페이지의 Toolkit.

문제는 사이트 열에 새 필드를 추가하고 해당 필드를 기존 콘텐츠 유형에 추가하려고합니다.

이전 개발자 가이 작업을 수행했을 때 버전은 0.0.0.0이었습니다.

1.0.0.0으로 증가했으며 기존 사이트에서는 잘 작동합니다.

그러나 새 사이트를 만드는 경우 새 사이트의 경우 새 필드가 1.0.0.0이 아니므로 새로운 필드가 1.0.0.0이므로 업그레이드를 트리거 할 수 없으므로 새 필드가 생성되지 않습니다. 여기에 이미지 설명

여기에 내가 지금까지 가지고있는 것입니다.

element_1_0_0_0.xml이 있습니다.

<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
  <Field ID="{A32453DB-4382-4F5C-8E33-8284AB160E47}" Name="Recurrent" DisplayName="$Resources:SPNLMeetings,Field_AgendaPointRecurrent_Name;" Description="$Resources:SPNLMeetings,Field_AgendaPointRecurrent_Description;" Group="$Resources:SPNLMeetings,Field_NationaleLoterijMeetingColumns_Group;" Type="Boolean" StaticName="Recurrent"  Required="FALSE" />
</Elements>
.

template.xml이 있습니다.

<Feature xmlns="http://schemas.microsoft.com/sharepoint/"
  ImageUrl="SPNL\spnl_feature.jpeg"
  Title="$Resources:SPNLMeetings,Feature_NLMeetingsContentTypes_Title"
  Description="$Resources:SPNLMeetings,Feature_NLMeetingsContentTypes_Description" Version="1.0.0.0">
  <UpgradeActions>    
    <VersionRange BeginVersion="0.0.0.0" EndVersion="0.9.9.9">
      <ApplyElementManifests>
        <ElementManifest Location="Fields\Elements_1_0_0_0.xml" />
      </ApplyElementManifests>
      <AddContentTypeField ContentTypeId="0x0120D52000D56C75F51E1BD54E9D59BBBA1925379A01"
          FieldId="{A32453DB-4382-4F5C-8E33-8284AB160E47}" PushDown="TRUE"/>
      <CustomUpgradeAction Name="ReorderFields"/>
    </VersionRange>
  </UpgradeActions>
</Feature>
.

특징 매니페스트의 미리보기는 다음과 같습니다.

<Feature xmlns="http://schemas.microsoft.com/sharepoint/" ImageUrl="SPNL\spnl_feature.jpeg" Title="$Resources:SPNLMeetings,Feature_NLMeetingsContentTypes_Title" Description="$Resources:SPNLMeetings,Feature_NLMeetingsContentTypes_Description" Version="1.0.0.0" DefaultResourceFile="SPNLMeetings" Id="5d35f78b-2211-4cd8-bcba-6db7ac456b74" ReceiverAssembly="NationaleLoterij.SharePoint.Meetings.Solution, Version=1.0.0.0, Culture=neutral, PublicKeyToken=212c981019c3ab5d" ReceiverClass="NationaleLoterij.SharePoint.Meetings.Solution.Features.NLMeetingsContentTypes.NLMeetingsContentTypesEventReceiver" Scope="Site">
  <UpgradeActions>
    <VersionRange BeginVersion="0.0.0.0" EndVersion="0.9.9.9">
      <ApplyElementManifests>
        <ElementManifest Location="Fields\Elements_1_0_0_0.xml" />
      </ApplyElementManifests>
      <AddContentTypeField ContentTypeId="0x0120D52000D56C75F51E1BD54E9D59BBBA1925379A01" FieldId="{A32453DB-4382-4F5C-8E33-8284AB160E47}" PushDown="TRUE" />
      <CustomUpgradeAction Name="ReorderFields" />
    </VersionRange>
  </UpgradeActions>
  <ActivationDependencies>
    <ActivationDependency FeatureTitle="$Resources:SPNL,Feature_NLBaseContentTypes_Title" FeatureDescription="$Resources:SPNL,Feature_NLBaseContentTypes_Description" FeatureId="e3356a10-dcd9-45a5-a1f5-6d9695b9c671" />
  </ActivationDependencies>
  <ElementManifests>
    <ElementManifest Location="Fields\Elements.xml" />
    <ElementManifest Location="ContentTypes\Elements.xml" />
    <ElementFile Location="AgendaPointProposedContentTypeResources\docsethomepage.aspx" />
    <ElementManifest Location="AgendaPointProposedContentTypeResources\Elements.xml" />
    <ElementFile Location="AgendaPointContentTypeResources\docsethomepage.aspx" />
    <ElementManifest Location="AgendaPointContentTypeResources\Elements.xml" />
  </ElementManifests>
</Feature>
.

도움이 되었습니까?

해결책

대답은 여기에 있습니다 : http://blogs.msdn.com/b/sanjaynarang/archive/2012/02/06/Archive/2012/02/06/Feature-Upgrade-adding-fields-to-content-types-and-sharePoint-Application. -lifecycle-management.aspx

콘텐츠 형식 업데이트 http : // msdn. microsoft.com/en-us/library/aa543504.aspx 어떤 상황에서도 콘텐츠 형식을 설치하고 활성화 한 후에 컨텐츠 형식의 콘텐츠 형식 정의 파일을 업데이트하지 마십시오. SharePoint Foundation은 콘텐츠 형식 정의 파일에 대한 모든 변경 사항을 추적하지 않습니다. 따라서 사이트 콘텐츠 형식에 대한 모든 변경 사항을 하위 콘텐츠 유형으로 모든 변경 사항을 누르기위한 안정적인 방법이 없습니다.

하위 콘텐츠 형식 업데이트 http : // msdn .microsoft.com / en-us / library / ms442695.aspx 기존 사이트 콘텐츠 형식에 열을 추가 할 수 없습니다. 즉, 다른 단어, 즉 기능 XML 파일을 업데이트하여

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