Идентификаторы документов и служба идентификаторов документов

Дата последнего изменения: 19 апреля 2010 г.

Применимо к: SharePoint Server 2010

В этой статье
Общие сведения о статических URL-адресах
Администрирование идентификаторов документов
Влияние идентификаторов документов на типы контента
Назначение идентификаторов документов
Сохранение идентификатора документа
Поведение при поиске идентификаторов документов
Веб-часть "Поле поиска по идентификатору документа"
Настраиваемые поставщики идентификаторов документов

Функция "ИД документа" создает идентификаторы, используемые для загрузки элементов независимо от их текущего расположения. Служба идентификаторов документов, поддерживающая эту функцию, создает и назначает идентификаторы документов. В данном разделе описываются идентификаторы документов: принципы их работы и принципы работы службы, поддерживающей их создание и назначение.

Как правило, пользователи открывают элементы, выполняя действие, инициированное в веб-браузере, например переход по URL-адресу, которое указывает клиентскому приложению Microsoft Office открыть файл.

Общие сведения о статических URL-адресах

Статический URL-адрес используется в веб-браузере для перенаправления пользователей на реальный URL-адрес элемента путем перенаправления HTTP или перевода вызова сервера. В любом случае, статический URL-адрес не должен работать везде, где работает реальный URL-адрес элемента. Например, при выборе в меню Файл клиентского приложения команды Открыть не обрабатываются случаи перенаправления URL-адресов при вызове метода Open.

Администрирование идентификаторов документов

Служба идентификаторов документов активируется, деактивируется и администрируется на уровне семейства сайтов. Статические URL-адреса правильно работают на уровне семейства сайтов, поскольку веб-браузер обрабатывает перенаправление перед вызовом клиентского приложения Office. Это означает, что клиентское приложение видит только реальный URL-адрес. Если идентификаторы документов активированы, Microsoft SharePoint Server 2010 добавляет ссылки на страницу Параметры семейства сайтов в Центре администрирования и включает службу идентификаторов документов, которая начинает присваивать идентификаторы документам в семействе сайтов. Служба идентификаторов документов создает идентификаторы для всех документов в семействе сайтов, но не создает идентификаторы документов для элементов других типов. Идентификаторы документов создаются каждый раз при добавлении элемента, а существующие идентификаторы по умолчанию перезаписываются, если созданный элемент явным образом не указывает SharePoint Server 2010 не перезаписывать текущий идентификатор. При перемещении SharePoint Server 2010 сохраняет идентификатор документа. При копировании SharePoint Server 2010 назначает новый идентификатор документа. Для изменения этого параметра используется логический оператор в столбце PersistID.

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

Администраторы поиска могут настроить службу поиска для поиска идентификаторов документов, добавив столбец ID как управляемый столбец поиска и создав (необязательно) новую область поиска, которая будет использоваться для поиска идентификаторов документов. SharePoint Server 2010 включает команду Windows PowerShell 1.0, которая выполняет эту задачу автоматически.

При деактивации функции удаляются ссылки на страницу Параметры семейства сайтов, страница, которая использовалась для поиска идентификаторов документов, перестает быть доступной, а служба идентификаторов документов отключается и перестает назначать идентификаторы документов. Сервер не удаляет столбцы, добавленные на уровне сайта при первой активации функции, поэтому даже после деактивации существующие идентификаторы документов сохраняются. Если после деактивации функции пользователь попытается использовать статический URL-адрес для поиска элемента по идентификатору документа, он получит сообщение об ошибке "В данном семействе веб-сайтов идентификаторы документов не используются".

Влияние идентификаторов документов на типы контента

Если служба идентификаторов документов включена, SharePoint Server 2010 добавляет в типы контента Документ и Набор документов новые столбцы, в которых хранится идентификатор документов и предоставляется статический URL-адрес и приемники событий, назначающие идентификаторы документов. Служба также включает задание рабочего элемента, которое назначает идентификаторы всем существующим элементам в семействе сайтов. Сервер добавляет указанные ниже столбцы в семейство сайтов в группе "Идентификатор документов". Кроме того, столбцы сайта добавляются в типы контента "Документ" и "Набор документов" на уровне семейства сайтов.

В столбце Идентификатор документа хранится назначенный элементу идентификатор документа. Он включает следующие атрибуты:

  • Имя: "Идентификатор документа"

  • Описание: используется для поиска этого элемента независимо от текущего расположения.

  • Тип: Text

  • Indexed: False

  • Sealed: True

  • ReadOnly: True

  • CanBeDeleted: False

  • ShowInNewForm: False

  • ShowInEditForm: False

  • Столбец "Статический URL-адрес"

Столбец Статический URL-адрес представляет URL-адрес элемента, используемый для поиска идентификатора документа. Он включает следующие атрибуты:

  • Имя: "Статический URL-адрес"

  • Описание: используется для загрузки этого элемента независимо от текущего расположения.

  • Тип: URL

  • Indexed: False

  • Sealed: True

  • ReadOnly: True

  • CanBeDeleted: False

  • ShowInNewForm: False

  • ShowInEditForm: False

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

  • Имя: PersistID

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

  • Тип: Boolean

  • Значение по умолчанию: False

  • Indexed: False

  • Sealed: True

  • ReadOnly: True

  • CanBeDeleted: False

  • ShowInNewForm: False

  • ShowInEditForm: False

  • ShowInViewForms: False

  • Приемники событий

Помимо добавления в типы контента Документ и Набор документов указанных выше столбцов SharePoint Server 2010 добавляет приемник событий в соответствующие события SharePoint Foundation 2010, чтобы они запускались каждый раз при загрузке в SharePoint Foundation 2010 документа или набора документов. На сервере используются синхронные приемники событий, например ItemAdded(SPItemEventProperties) (а не [M:Microsoft.SharePoint.SPItemEventReceiver.ItemAdding(Microsoft.SharePoint.SPItemEventProperties])), гарантирующие, что поставщики идентификаторов документов смогут использовать метаданные элемента при назначении идентификаторов документов.

Назначение идентификаторов документов

При добавлении элементов в семейство сайтов SharePoint Server 2010 назначает или переназначает для них идентификаторы документов.

При добавлении нового элемента SharePoint Server 2010 сначала проверяет, назначен ли элементу идентификатор документа. Если идентификатор назначен, сервер проверяет, присвоено ли атрибуту PreserveID значение True или False, и если атрибуту присвоено значение True, это значение изменяется на False. Если элементу уже назначен идентификатор документа, сервер получает этот идентификатор от указанного поставщика, записывает его в метаданные и присваивает атрибуту PreserveID значение False.

ПримечаниеПримечание

Статический URL-адрес не создается, поскольку SharePoint Server 2010 динамически создает его при отображении и просмотре поля.

Сохранение идентификатора документа

Поведение по умолчанию при назначении идентификаторов документов предполагает, что если элемент существует и ему назначен идентификатор, приложение SharePoint Server 2010 должно заменить этот идентификатор на идентификатор документа. Это происходит при копировании существующего элемента в SharePoint Foundation 2010: в копии сохраняются метаданные оригинала, включая идентификатор документа, но при этом вызывается событие ItemAdding(SPItemEventProperties).

ПримечаниеПримечание

Когда объект SPFile вызывает метод MoveTo(String), событие ItemAdding(SPItemEventProperties) не вызывается.

При добавлении элемента в SharePoint Server 2010 не предполагается, что элемент является копией. Вместо этого на настраиваемые решения возлагается ответственность за реализацию "семантического перемещения", которое (с точки зрения объектной модели) представляет собой операцию копирования и удаления, используемую для переопределения логики копирования по умолчанию и обработки элементов и связанных с ними идентификаторов документов так, как будто в объектной модели над ними была выполнена операция перемещения.

ПримечаниеПримечание

В собственном коде можно запретить перезапись идентификаторов документов и идентификаторов, которые ранее были назначены элементам, копируемых в SharePoint Server 2010 в первый раз. Например, можно приостановить все события, вызвав перед копированием метод DisableEventFiring(). Однако такой подход не рекомендуется использовать в тех случаях, когда должны выполняться другие приемники событий, а код предназначен только для сохранения идентификаторов.

Поведение при поиске идентификаторов документов

При поиске идентификаторов службой идентификаторов документов в SharePoint Server 2010 применяется двухэтапный подход, обеспечивающий оптимальный баланс между идентификаторами, которые работают мгновенно и идентификаторами, которые работают в широких областях:

  • Поиск. Поиск элемента во всех расположениях, относящихся к текущей области поиска. Поиск обычно работает эффективнее запроса к спискам. Однако надежность поиска зависит от надежности последнего индекса. Следовательно, если элемент был добавлен, но не был проиндексирован, он не попадет в результаты поиска. Кроме того, если элемент был перемещен с момента последнего индексирования, в результатах поиска отобразится старый (и уже недействительный) URL-адрес.

  • Поиск для конкретного поставщика идентификаторов. Если элемент не обнаруживается при поиске (например, еще не проиндексирован), SharePoint Server 2010 обращается к поставщику идентификаторов документов и разрешает ему использовать собственную логику поиска. Это позволяет поставщикам находить по идентификаторам еще не проиндексированные элементы. Поставщик определяет, следует ли выполнять поиск таким образом и применять наиболее эффективную логику.

Веб-часть "Поле поиска по идентификатору документа"

Веб-часть Поле поиска по идентификатору документа на основе введенного идентификатора документа формирует "статический URL-адрес" и выполняет поиск элемента.

Настраиваемые поставщики идентификаторов документов

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

SharePoint Server 2010 поддерживает использование настраиваемых подключаемых модулей для подготовки идентификаторов документов. Разработчики могут создавать собственные поставщики. Для этого необходимо реализовать класс, производный от интерфейса IIDProvider, после чего развернуть и зарегистрировать поставщик в каждом семействе сайтов. После регистрации настраиваемого поставщика служба идентификаторов документов будет использовать его вместо поставщика по умолчанию.

См. также

Концепции

Управление документами

Пример. Настраиваемый поставщик идентификации документов