Список SharePoint - копирование идентификатора SPListItem

У меня есть решение, которое копирует все содержимое списков SharePoint в файл, а затем копирует содержимое файла обратно в SharePoint (используется для резервного копирования и переключения среды stage / live).

Теперь я могу скопировать все поля, которые мне нужны, кроме одного: ID

Я понимаю, что это поле только для чтения, но некоторые другие поля только для чтения могут быть обновлены (Created, Author, Modified, Editor, _ModerationStatus и _ModerationComments из того, что я тестировал)

Я не могу использовать метод CopyTo, потому что не могу получить доступ к списку адресатов.

Я хочу иметь возможность хранить идентификаторы, потому что я не хочу ломать все http://sitecollection//Lists/Posts/Post.aspx?ID=... URL, которые появляются по всему содержанию моего сайта.

В общем, система, которая у меня сейчас есть (которая выдвигает все, кроме ID), работает хорошо, если из списка ничего не удаляется. Когда что-то удаляется (скажем, ID = 1), первый элемент становится ID=2, а когда я помещаю это в пустой список назначения, он становится ID=1.

Есть ли способ заставить идентификатор для SPListItem? Это почти наверняка будет взломом, но, может быть, у кого-то есть способ?

Спасибо!

2 ответа

Решение

Что ж, если вы просто хотите этого, почему бы не создать фиктивный элемент с ID=1, а затем удалить его? не должно быть слишком сложно добавить эту логику

В Content Deployment and Migration API может быть что-то, что позволит вам сделать это.

Первое, на что я бы обратил внимание - это расширения Gary Lapointe STSADM, так как он проделал большую работу по расширению встроенных команд, включая импорт, который сохраняет исходный GUID без изменений.

Другие вопросы по тегам