Во-первых, простой вопрос - кто-нибудь имел опыт программного переименования / перемещения папки в структуре каталогов в SharePoint?
Фон:
Я унаследовал какую-то работу, и я нахожусь в процессе исправления нескольких дефектов в ней. По большей части дела идут хорошо, но есть одна проблема, с которой я бью головой о стену.
Приложение представляет собой веб-приложение ASP.NET (C #) с хранилищем документов SharePoint 3. Приложение поддерживает структуру папок на сервере, имена папок зависят от данных в приложении и могут быть изменены (в режиме реального времени).
Текущий подход заключается в использовании расширений FrontPage для обработки некоторых запросов к SharePoint, как описано здесь: http://msdn.microsoft.com/en-us/library/ms443099.aspx
В настоящее время папка будет правильно переименована, если папка не существует, но если она существует, она выдаст ошибку (и логически так). В этом случае мы хотим переместить содержимое папки в существующую папку. Из документации я считаю, что наш подход должен работать ...... но это не так, поэтому я надеюсь, что есть кое-что, что можно легко изменить.
код:
const string renameOption = "findbacklinks";
const string putOption = "overwrite,createdir,migrationsemantics";
string method = "method=move+document%3a12.0.4518.1016&service_name=%2f&oldUrl={0}&newUrl={1}&url_list=[]&rename_option={2}&put_option={3}&docopy={4}";
method = String.Format(method, oldUrl, newUrl, renameOption, putOption, bool.FalseString.ToLower());
// then submit and handle the request
Я попытался изменить вышеуказанные опции пут, и подумал бы, что описанные выше опции «перезаписать» предотвратили бы полученное нами сообщение об ошибке, кишки которого:
method=move document:12.0.0.6219
status=131097
osstatus=0
msg=Cannot rename value to value: destination already exists.
Мой предпочтительный подход состоял бы в том, чтобы заставить работать вышеупомянутую реализацию, а не полностью переписывать с использованием других методов (хотя, конечно, если есть фундаментальный недостаток в вышеприведенном, я понимаю, что перезапись может потребоваться).
Из того исследования, которое я провел, может показаться, что это довольно трудная задача, и в любом подходе есть сложности?
Спасибо
Chris