2010-08-05 3 views
2

SharePoint 목록의 모든 콘텐츠를 파일로 복사 한 다음 백업 한 파일과 SharePoint 환경 (백업 및 스테이지/라이브 환경 스위치에 사용)에 파일 내용을 다시 복사하는 솔루션이 있습니다.SharePoint 목록 - SPListItem ID 복사

지금 내가 하나를 제외하고 필요한 모든 필드를 복사 할 수 있습니다 : ID

내가이 읽기 전용 필드는 것을 이해하지만, 다른에만 필드 (생성, 저자, 수정, 편집기를 업데이트 할 수 있습니다 읽기, _ModerationStatus 및 _ModerationComments에서 테스트 한 내용)

대상 목록에 액세스 할 수 없어서 CopyTo 메서드를 사용할 수 없습니다.

내 웹 사이트의 콘텐츠 전체에 나타나는 모든 http://siteCollection//Lists/Posts/Post.aspx?ID= ... URL을 손상시키지 않으므로 ID를 유지할 수 있기를 원합니다.

그래서 기본적으로 (ID 이외의 모든 것을 푸시하는) 시스템은 아무 것도 목록에서 삭제되지 않는 한 제대로 작동합니다. 무언가가 삭제되면 (ID = 1) 첫 번째 항목은 ID = 2가되고 빈 목적지 목록에 푸시하면 ID = 1이됩니다.

SPListItem에 대한 ID를 강제로 지정하는 방법이 있습니까? 거의 확실히 해킹이 될 것이지만 어쩌면 누군가가 방법이 있을까요?

감사합니다.

답변

3

글쎄, 그저 원하는 경우 ID = 1 인 더미 항목을 만든 다음 삭제하면 어떻습니까? 이 논리를 추가하는 것이 너무 어렵지 않아야합니다.

+0

나는 그런 것을하는 것을 피할 수 있었으면 좋겠다고 생각했지만 그것이 나의 유일한 선택이라면 나는 그것을 갈 것입니다. –

+0

그 일이 끝났습니다. 감사! –

2

Content Deployment and Migration API에이 작업을 수행 할 수있는 내용이있을 수 있습니다.

게리 라 포인트 (Gary Lapointe) STSADM extensions 그가 처음 보았던 점은 imports that keep original GUID's intact과 같은 내장 명령을 확장하는 데 큰 도움이 되었기 때문입니다.

+0

와우, 콘텐츠 배포 및 마이그레이션 API에 대해 들어 본 적이 없다고 생각합니다. 그것을 들여다보고 몇 가지 테스트를 해보겠습니다. 첫눈에, 내가 원하는 것을 할 수 있는지 확신 할 수 없지만, 확실히 많은 옵션을 제공합니다. –

+2

제안 해 주셔서 감사합니다. GUID, 필드 등을 관리했습니다. 기본적으로 모든 ID를 유지하려고했습니다. 콘텐츠 배포 및 마이그레이션 API도이를 허용하지 않았습니다. 데이터베이스에 ID 필드를 강제로 추가 할 수는 없다는 것을 알았습니다 ... ID 항목을 채우기 위해 더미 항목을 만들었습니다. –

+0

업데이트 해 주셔서 감사합니다 - 눈부신 감독처럼 보입니다! – Ryan