SharePoint / MOSS - удаление не отмеченных элементов других людей из списка - PullRequest
5 голосов
/ 29 января 2009

Простой сценарий:

Я хочу удалить постраничный макет, который устарел с нашего сайта публикации MOSS. Бывший коллега создал новую страницу, используя этот макет страницы, и он не зарегистрировал ее. Я не могу удалить макет страницы, потому что его файл ссылается на него. Я не могу "увидеть" файл, потому что он не был зарегистрирован, чтобы удалить его.

Я пробовал SPFolder.Items, SPList.GetItemById (), пару других методов объектной модели. Но SharePoint просто не покажет мне этот элемент. Я даже копался в SPList.GetItem (новый SPQuery () {IncludeAllUserPermissions = true;})

Кто-нибудь знает, как избавиться от этого предмета? : -)

Ответы [ 5 ]

8 голосов
/ 30 января 2009

Ответ Abs заставил нас дать нам подсказку - эй, как страница ManageCheckedOutFiles видит файлы, еще не проверенные другими пользователями?

  1. Перейти к ~ раскладкам / ManageCheckedOutFiles.aspx
  2. наследуется от Microsoft.SharePoint.ApplicationPages.ManageCheckedOutFilesPage
  3. отражатель 12 \ CONFIG \ BIN \ Microsoft.SharePoint.ApplicationPages.dll
  4. в защищенном void PrepareContent () мы читаем ключевые строки:
  5. IList checkedOutFiles = this.CurrentList.CheckedOutFiles;

поэтому вернемся к нашему коду

SPDocumentLibrary doclib = PublishingWeb.PagesList as SPDocumentLibrary;
foreach(var checkedoutfile in doclib.CheckedOutFiles)
{
    checkedoutfile.TakeOverCheckOut();
    var file = doclib.GetItemById(checkedoutfile.ListItemId);
    file.CheckIn();
}

Спасибо всем: -)

5 голосов
/ 29 января 2009

Если вы являетесь администратором семейства сайтов, вы также можете принудительно проверить извлеченный файл другого человека. Хитрость заключается в том, что вы должны знать, в какой библиотеке она находится. Если вы это знаете, вы можете перейти к этой библиотеке, а затем сделать следующее:

  1. Нажмите Настройки -> Настройки библиотеки документов (или Список настроек , я полагаю)
  2. Нажмите Управление извлеченными файлами в столбце Разрешения и управление
  3. Теперь вы должны увидеть список извлеченных файлов, которые вы можете выбрать, а затем нажать Получить право выбора на панели инструментов.
  4. Как только вы это сделаете, вы можете проверить файл в себе.
0 голосов
/ 29 января 2009

Быстрое и простое решение без использования SharePoint: Если это ex -coworker, есть ли возможность запросить временное использование его учетной записи с новым паролем, чтобы вы могли войти на портал и проверить его обратно или отказаться от регистрации?

0 голосов
/ 29 января 2009

Сначала вы должны иметь права администратора для семейства сайтов. Тогда:

  1. Нажмите Действия на сайте, Управление контентом и структурой.
  2. Найдите макет страницы, которую вы хотите удалить, в Галерее главных страниц.
  3. Поставьте галочку рядом с макетом страницы, которую хотите удалить.
  4. Нажмите Показать связанные ресурсы.

Этот должен позволить вам видеть каждую страницу, связанную с этим макетом страницы.

0 голосов
/ 29 января 2009

попробовать SharePoint Sushi из codeplex.

Удачи.

...