Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Загрузите документ MS Word в Sharepoint без метаданных

Автор вопроса: Maciek GawlikОтветов: 1

Не могли бы вы посоветовать мне, как лучше всего обрабатывать загрузку в SharePoint (2010) документа MS Word, который уже содержит метаданные, добавленные SharePoint? Я сталкиваюсь с проблемой, когда пользователи получают некоторые документы из библиотеки SharePoint, изменяют их и загружают их как новый файл в ту же библиотеку. У меня есть форма, которая открывается при загрузке документа для заполнения некоторых метаданных, и эти поля в форме предварительно заполняются значениями, ранее установленными в документе SharePoint. Самая большая проблема заключается в том, что даже если пользователь изменяет эти значения, файл все равно сохраняется со старыми, а новый элемент списка создается также с неправильными (старыми) значениями, что, конечно, приводит к конфликтам и ошибкам.

Я думал об очистке значений вручную с помощью приемника событий в методе ItemAdding, просто выполнив:

    public override void ItemAdding(SPItemEventProperties properties)
    {
        properties.AfterProperties["Title"] = String.Empty;
        properties.AfterProperties["Adresat"] = "";
        properties.AfterProperties["Nr_x0020_dziennika"] = "";
        properties.AfterProperties["Budowa"] = "";
        properties.AfterProperties["Osoba_x0020_odpowiedzialna"] = "";
        properties.AfterProperties["Osoba_x0020_do_x0020_wiad"] = "";
        properties.AfterProperties["Komentarz"] = "";
    }

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

file-uploadmetadatasharepointsharepoint-2010

Ответы

Ответ 1 · Cam

Это неплохое решение вашей проблемы, если оно применимо только к новым документам.

Приемник событий также может проверить наличие предыдущих версий, просмотрев свойства.

А поскольку метаданные для документов Office фактически хранятся внутри документа, вам может потребоваться внести некоторые изменения в это решение, которое фактически удалит их из документа: http://sadomovalex.blogspot.com/2012/12/remove-sharepoint-metadata-from-ms.html

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы