2013-05-01 2 views
2

SharePoint 설치의 사용자 중 하나가 목록 열로 몇 개의 열을 만들었으므로이 열은 사이트 수준에서 필요하므로 어떻게 든"들어 올리거나 "이동해야합니다 . 나는 이것이 SourceId 속성과 관련이있을 수 있지만 나머지는 알지 못한다고 생각했다. 템플릿으로 사이트를 저장 한 다음 Visual Studio에 템플릿을 가져와야처럼 어떤 조언은 감사SharePoint 2010의 사이트 열로 목록 열을 이동 "

, 감사이 주제에 대한 내 자신의 연구에서

+0

어떤 도구를 사용할 수 있습니까? Visual Studio, SharePoint Designer 또는 SharePoint 웹 인터페이스의 기본 기능? – Zarepheth

+0

이것은 전제 설치이므로 VS, SPD, PowerShell 등이 있습니다. 팜 관리자 권한과 로컬 관리자 권한이 모두 있습니다. –

답변

1

, 그것은 보인다.

https://sharepoint.stackexchange.com/questions/30045/importing-custom-list-to-visual-studio-from-sharepoint

사이트가 다음 사이트 서식 파일로 저장 목록 템플릿으로 목록을 저장하기에 너무 큰 경우

https://sharepoint.stackexchange.com/questions/14805/export-a-list-from-sharepoint-2010-into-visual-studio-2010

. 목록 템플릿의 경우 Microsoft 캐비닛 파일 이상인 *.stp 파일을 받게됩니다. 따라서 확장명을 *.cab으로 변경하고 manifest.xml 파일을 택시에서 추출 할 수 있습니다. 안에 manifest.xml 목록의 열에 대한 정의를 찾을 수 있습니다.

<ListTemplate WebUrl="http://host/sites/site"> 
<Details> ... </Details> 
<Files> ... </Files> 
<UserLists> 
    <List Name="{guid}" ...> 
     <MetaData> 
      <Views> ... </Views> 
      <Fields> 
       <Field Type="Text" Name="MyField1" DisplayName="My Field 1" ID="{guid-1}" ... > ... </Field> 
       <Field Type="Note" Name="MyField2" DisplayName="My Field 2" ID="{guid-2" ... > ... </Field> 
       <Field Type="Status" Name="MyField3" DisplayName="My Field 3" ID="{guid-3}" ... > ... </Field> 
       <Field Type="URL" Name="MyField4" DisplayName="My Field 4" ID="{guid-4}" ... > ... </Field> 
      </Fields> 
      <ContentTypes> ... </ContentTypes> 
      <Forms> ... </Forms> 
      ... 
     </MetaData> 
    </List> 
</UserLists> 
</ListTemplate> 

내 : (.stp *에서 이름이 바뀌 었습니다)을 * .CAB,이 같은 필드 정의를 찾을 수에서 추출한 manifest.xsf를 파일 내부

Import list template STP file to Visual Studio 2010, Visual Studio SharePoint 프로젝트에서 목록 필드 정의를 소스 파일에서 SharePoint 사이트 열 "elements.xml"파일로 복사하여 붙여 넣을 수 있습니다.

<?xml version="1.0" encoding="utf-8"?> 
<Elements xmlns="http://schemas.microsoft.com/sharepoint/"> 
    <Field 
     ID="{abd3b925-1e2c-4423-8e9b-7a861be38917}" 
     Name="SiteColumn1" 
     DisplayName="Site Column 1" 
     Type="Text" 
     Required="FALSE" 
     Group="Custom Site Columns"> 
    </Field> 
</Elements> 

그냥 목록에서 필드 정의와 비주얼 스튜디오의 Site Column 템플릿에서 기본 Field 요소를 교체합니다.

<?xml version="1.0" encoding="utf-8"?> 
<Elements xmlns="http://schemas.microsoft.com/sharepoint/"> 
    <Field Type="Text" Name="MyField1" DisplayName="My Field 1" ID="{guid-1}" ... > ... </Field> 
</Elements> 

당신이, 개별 사이트 열 등의 프로젝트에 이동 컴파일하고 귀하의 사이트에 사이트 열을 배치 할 프로젝트를 배포 할 모든 필드 번.

+0

멋진 시나리오이지만 이것이 가능할 가능성이 큽니다. –

+0

안녕하세요. 이것은 나에게도 매력적이었습니다. 그러나 나는 지금 다른 상황에 직면하고있다. 내 목록 열에 이미 값이 있고 그 모두를 사이트 열로 추가 한 후에도 목록 열이 사이트 열로 변경되지 않습니다. 목록에 수동으로 사용 된 콘텐츠 형식에 해당 열을 추가해야합니다. PowerShell이나 Visual Studio를 사용하여 어떻게 이것을 할 수 있는지 알고 있습니까? 미리 감사드립니다. – Ankit

+0

@ user705831 저는 SharePoint 전문가는 아니지만 SharePoint에서 목록이나 라이브러리 내에서 사이트 열을 사용할 때마다 사이트 열의 정의가 목록의 자체 정의에 ** 복사 **되었음을 이해합니다. 이 시점부터 목록 열은 원래 사이트 열과 별도의 정의를 갖습니다. 나는 SharePoint에 소스 정의에 대한 변경 사항을 복사 된 정의로 전파하는 몇 가지 메커니즘이 있지만 사이트 열과 목록 열에 적용되는지 아니면 목록 템플릿에서 실제 목록에만 적용되는지는 기억하지 못합니다. – Zarepheth

관련 문제