Поделиться через


Метаданные, структура навигации и возможности сайтов публикации в SharePoint

В этой статье объясняется, как управлять метаданными и настраивать функции навигации и публикации сайтов в SharePoint Online с помощью модели надстройки. В ней также рассматриваются способы работы с распространенными шаблонами веб-программирования и библиотеками для настройки фирменной символики сайта публикации SharePoint.

Термины и понятия

Таблица 1. Ключевые метаданные, навигация и публикации термины и понятия

Термин или понятие Описание и руководство
Веб-часть "Поиск контента" Веб-часть SharePoint, которая отображает динамическое содержимое поиска на страницах способами, которые можно легко форматировать. Дополнительные сведения см. в разделах Настройка веб-частей поиска в SharePoint Server, Настройка веб-части поиска контента в SharePoint, Функции поиска в SharePoint Online
ContentTypeId Уникальные идентификаторы типов контента, предназначенных для рекурсии. Дополнительные сведения см. в разделе Класс ContentTypeId (CSOM).
Тип содержимого Многоразовая централизованная коллекция метаданных (столбцов), рабочий процесс, поведение и другие параметры для категории сведений. Дополнительные сведения см. в разделе Столбцы, Создание типов контента, Пользовательские сведения в типах контента.
Концентратор типов контента Часть приложения службы управляемых метаданных, представляющее собой центральный сайт, который публикует типы контента в других семействах веб-сайтов. Позволяет публиковать, повторно публиковать и отменять публикацию типов контента из центрального расположения. Дополнительные сведения см. в разделе Публикация типа контента из центра публикации контента, Просмотр журналов ошибок для публикации типов контента.
Каналы устройств Метод для отображения страниц сайта публикации несколькими способами с использованием различных макетов, предназначенных для нескольких устройств. Дополнительные сведения см. в статье Добавление фрагмента панели каналов устройств в SharePoint.
Отображение шаблона Шаблоны отображения, используемые в веб-частях, использующих технологию поиска, управляют отображением результатов запросов, выполненных в поисковом индексе. Шаблоны отображения доступны для всех веб-частей поиска. Дополнительные сведения см. в статье Отображение справочника по шаблонам в SharePoint Server.
Управляемая навигация Навигация по сайту на основе службы управляемых метаданных SharePoint (таксономия). Используйте его для создания навигации сайта, полученной на основе таксономии управляемых метаданных. Управляемая навигация часто лучше всего работает с каталогом продуктов.
Управляемые метаданные Иерархическая коллекция централизованно управляемых терминов, которые можно использовать для определения и атрибута элементов в SharePoint. Управляемые метаданные можно использовать для управления публикацией типов контента и создания таксономий. В SharePoint и SharePoint Online служба управляемых метаданных используется для создания управляемой навигации — навигации по сайту на основе таксономии. Дополнительные сведения см. в статьях Настройка элементов управления навигацией и поставщиков в SharePoint Server 2010 (ECM),Введение в управляемые метаданные, Введение в управляемые метаданные в SharePoint Server 2010, Управляемое администрирование метаданных (SharePoint Server 2010),Управляемые метаданные и навигация в SharePoint, Управляемая навигация в SharePoint, Перенос управляемых метаданных в SharePoint Server 2010
Пространство имен навигации Содержит классы клиентской объектной модели (CSOM), которые поддерживают навигацию по сайтам для сайтов публикации.
Пространство имен таксономии Содержит классы CSOM, поддерживающие функции таксономии. Дополнительные сведения см . в статье Синхронизация групп терминов пример надстройки SharePoint.
Закрепление Как и при повторном использовании термина, закрепление поддерживает общую связь между исходным термином и экземпляром повторного использования. Например, общая связь может охватывать все семейства веб-сайтов в сценарии публикации между сайтами. При добавлении или удалении термина это действие обновляется в иерархии в любом месте, где закреплен термин. Дополнительные сведения см . в статье Использование кода для закрепления терминов в наборах терминов навигации в SharePoint.
Каталог продуктов Дополнительные сведения см. в статье Междоменная публикация в SharePoint, Настройка публикации между сайтами в SharePoint Server
Фрагмент Часть функций HTML, которую можно добавить в HTML-файл, созданный диспетчером конструкторов. Например, может потребоваться добавить панель "Канал устройства" на страницу публикации. Для этого есть фрагмент кода. В следующих статьях приведены примеры: Добавление фрагмента панели канала устройств в SharePoint, Добавление фрагмента зоны веб-части в SharePoint, Добавление фрагмента обрезки безопасности в SharePoint
Структурированная навигация Сведения об использовании структурированной навигации см. в статье Практическое руководство. Настройка навигации в SharePoint Server 2010 (ECM).

Предварительные требования для использования CSOM для сайтов публикации фирменной символики

По умолчанию веб-содержимое, опубликованное на общедоступных локальных веб-сайтах SharePoint, доступно анонимным пользователям. По умолчанию как CSOM, так и REST недоступны анонимным пользователям.

Важно!

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

Если администратор сайта создает новое веб-приложение, включающее семейство веб-сайтов, использующее шаблон публикации, а также разрешает анонимный доступ, анонимный доступ будет доступен каждому пользователю сайта при отправке приложения в каталог надстроек. Так как для локального сайта публикации SharePoint включен анонимный доступ, что произойдет, если пользователь, который не прошел проверку подлинности, перейдет на сайт?

Если вы создаете надстройку, размещенную в SharePoint, и добавляете в проект часть клиентской надстройки, перейдите в центр администрирования>Надстройки>Управление каталогом надстроек и создайте каталог надстроек для веб-приложения, опубликуйте надстройку, размещенную в SharePoint, с помощью Visual Studio, чтобы создать пакет надстройки, а затем отправьте пакет надстройки в каталог надстроек. На этом этапе администратор семейства веб-сайтов может добавить надстройку на сайт публикации. Теперь надстройку можно добавить на страницу на сайте публикации.

Если изменить страницу main сайта публикации и опубликовать надстройку на ней, надстройка будет работать должным образом. При выборе связанного заголовка надстройки загружается полностраничный интерфейс. Если SharePoint выдает ошибку, это означает, что анонимный пользователь не имеет доступа к использованию CSOM. Это имеет смысл, так как CSOM и REST по умолчанию недоступны для анонимных пользователей.

Имейте в виду, что отключение разрешений на использование удаленных интерфейсов может привести к риску безопасности.

В разделе Разрешения сайта по умолчанию установлен флажок Требовать разрешение на использование удаленных интерфейсов проверка. Вы можете снять флажок Использовать разрешения удаленных интерфейсов проверка, чтобы предоставить анонимным пользователям доступ к использованию CSOM и REST. Это отделяет пользователя от разрешений использовать удаленные интерфейсы, что предоставляет пользователю доступ к SOAP, WebDAV и CSOM. Очистка поля проверка также удаляет возможность использования SharePoint Designer.

Иногда может потребоваться удалить возможность использования SharePoint Designer, но по-прежнему разрешить использование CSOM. Поле Использование разрешений для удаленных интерфейсов проверка позволяет анонимным пользователям использовать CSOM, не требуя от них разрешений На использование удаленных интерфейсов. Если флажок Использовать разрешение на использование удаленных интерфейсов проверка снят и вы выбираете связанное название надстройки для загрузки полностраничного интерфейса, SharePoint не выдает ошибку. Базовый код обработки ошибок интерпретирует этот случай как анонимный пользователь.

Предостережение

  • При добавлении приложений на общедоступные сайты SharePoint, использующие шаблон Публикации, не снимите флажок Использовать разрешения удаленных интерфейсов проверка в разделе Разрешения сайта. Включение CSOM для анонимных пользователей представляет собой возможный риск раскрытия информации; он разглашает гораздо больше информации, чем вы ожидали. Тем не менее, даже при доступе к полной CSOM разрешения SharePoint по-прежнему применяются. Анонимные пользователи смогут видеть только списки или элементы, которые были явно доступны анонимным пользователям. Для анонимных пользователей с помощью CSOM и REST доступно больше, чем то, что вы видите на веб-странице.
  • Если нет абсолютной необходимости, не снимите флажок Требовать разрешение использовать удаленные интерфейсы проверка, если на локальном сайте публикации SharePoint включены разрешения на анонимный доступ. Это может предоставить как опубликованное, так и неопубликованное содержимое сайта анонимным пользователям, а также оставить сайт открытым для атаки типа "отказ в обслуживании".

Использование функции ViewFormPagesLockdown

Чтобы запретить пользователям доступ к страницам форм (например, Pages/Forms/AllItems.aspx) на общедоступном сайте SharePoint, используйте функцию ViewFormPagesLockdown . Она предназначена для предотвращения просмотра пользователями сведений о созданных и измененных . Эта функция удаляет разрешение на просмотр страниц приложений или использование удаленных интерфейсов. Если эта функция активна, пользователи не могут перейти на страницы/Forms/AllItems.aspx и просмотреть элементы в этой библиотеке.

Если CSOM и REST доступны для всех анонимных пользователей ( если флажок Использовать разрешения удаленного интерфейса проверка снят), хотя они по-прежнему не могут видеть сведения о созданных и измененных в браузере, они могут использовать CSOM или REST для доступа к этой информации.

Настройка анонимного доступа (обрезка безопасности)

Настроив анонимный доступ для веб-приложения, вы указываете анонимную политику: Запретить запись — не имеет доступа на запись . Это означает, что пользователи с анонимным доступом не могут выполнять запись на сайт даже с помощью CSOM или кода REST. Анонимные пользователи могут видеть только те сведения, которые были предоставлены им при настройке анонимного доступа к сайту.

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

Важно!

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

Предотвращение атак типа "отказ в обслуживании"

Кэширование с CSOM не выполняется. Это означает, что злоумышленник может запрашивать тысячи элементов из списков одновременно, при этом не соблюдая пороговое значение представления списка по умолчанию и облагая базу данных SharePoint налогом. Это может распространиться и перерасти в полномасштабную атаку типа "отказ в обслуживании".

Использование политики только для приложений

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

Дополнительные сведения см. в разделах Авторизация и проверка подлинности надстроек SharePoint и Общие сведения о проверке подлинности и разрешениях с помощью приложений для SharePoint и Office (видео channel 9).

Реализация SSL

При использовании модели надстройки реализуйте протокол SSL для управления безопасностью передачи сообщений в Интернете. SSL работает на удаленном веб-сайте, отправляя маркер доступа в заголовке HTTP Authorization со значением Bearer + строка в кодировке base64 (не зашифрована).

Важно!

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

Удаленная подготовка и публикация сайтов

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

Сайты публикации зависят от типов контента и ContentTypeId, который связывает типы контента с макетами страниц и шаблонами отображения. От этой функции зависит настройка и подготовка содержимого страницы публикации SharePoint. Другие аспекты пользовательского поведения подготовки сайта публикации, такие как службы управляемых метаданных и управляемая навигация, не зависят от ContentTypeId и полностью поддерживаются в CSOM.

Другие параметры настройки сайта публикации, такие как каналы устройств и шаблоны отображения, не требуют пользовательского CSOM. Они зависят от функций Конструктора, CSS и HTML. Это настройки после подготовки, которые вы создаете с нуля и не требует миграции.

Управляемые метаданные

Функция управляемых метаданных, впервые представленная в SharePoint 2010, позволяет определить пользовательскую иерархию или таксономию тегов метаданных для использования в SharePoint. Если вы хотите создать пользовательскую навигацию по сайту, можно использовать функцию управляемой навигации, созданную на основе инфраструктуры управляемых метаданных.

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

Краткое введение в таксономию в SharePoint см. в статьях Краткое введение в корпоративные управляемые метаданные в SharePoint 2010 и Общие сведения об управляемых метаданных в SharePoint 2010.

SharePoint 2013 представила новые API и функции для набора функций управляемых метаданных.

Модель программирования управляемых метаданных

В SharePoint модель программирования .NET Server для управляемых метаданных определена в следующем наборе пространств имен:

Эквивалентные классы CSOM находятся в пространстве имен Client.Taxonomy .

В отличие от некоторых других областей объектной модели SharePoint, для управляемых метаданных существует тесное сходство между классами и элементами модели программирования .NET Server, а также классами и элементами CSOM.

Ниже приведены некоторые ключевые различия.

  • CSOM не поддерживает синхронизацию типов контента.
  • Класс Group , представляющий верхний уровень организации в классе TermStore , доступен только в объектной модели .NET Server. Его эквивалентом в CSOM является класс TermGroup .
  • Класс GroupCollection, представляющий коллекцию объектов Group, доступен только в объектной модели .NET Server. Его эквивалентом в CSOM является класс TermGroupCollection .
  • CSOM включает классы CustomPropertyMatchInformation и LabelMatchInformation , которые синхронизируют данные пользовательских свойств и меток с сервером.

В следующей таблице сравниваются классы в объектной модели .NET Server и объектной модели CSOM.

Табл. 2. Сравнение классов в двух моделях

Объектная модель .NET Server Эквивалентный API CSOM
Microsoft.SharePoint.Taxonomy.ChangedGroup Microsoft.SharePoint.Client.Taxonomy.ChangedGroup
Microsoft.SharePoint.Taxonomy.ChangedItem Microsoft.SharePoint.Client.Taxonomy.ChangedItem
Microsoft.SharePoint.Taxonomy.ChangedItemCollection Microsoft.SharePoint.Client.Taxonomy.ChangedItemCollection
Microsoft.SharePoint.Taxonomy.ChangedItemType Microsoft.SharePoint.Client.Taxonomy.ChangedItemType
Microsoft.SharePoint.Taxonomy.ChangedOperationType Microsoft.SharePoint.Client.Taxonomy.ChangedOperationType
Microsoft.SharePoint.Taxonomy.ChangedSite Microsoft.SharePoint.Client.Taxonomy.ChangedSite
Microsoft.SharePoint.Taxonomy.ChangedTerm Microsoft.SharePoint.Client.Taxonomy.ChangedTerm
Microsoft.SharePoint.Taxonomy.ChangedTermSet Microsoft.SharePoint.Client.Taxonomy.ChangedTermSet
Microsoft.SharePoint.Taxonomy.ChangedTermStore Microsoft.SharePoint.Client.Taxonomy.ChangedTermStore
Не применимо. Microsoft.SharePoint.Client.Taxonomy.ChangeInformation
Не применимо. Microsoft.SharePoint.Client.Taxonomy.CustomPropertyMatchInformation
Microsoft.SharePoint.Taxonomy.FeatureIds Не применимо.
Microsoft.SharePoint.Taxonomy.Group Не применимо.
Microsoft.SharePoint.Taxonomy.HiddenListFullSyncJobDefinition Не применимо.
Microsoft.SharePoint.Taxonomy.ImportManager Не применимо.
Microsoft.SharePoint.Taxonomy.Label Microsoft.SharePoint.Client.Taxonomy.Label
Microsoft.SharePoint.Taxonomy.LabelCollection Microsoft.SharePoint.Client.Taxonomy.LabelCollection
Не применимо. Microsoft.SharePoint.Client.Taxonomy.LabelMatchInformation
Microsoft.SharePoint.Taxonomy.MobileTaxonomyField Microsoft.SharePoint.Client.Taxonomy.MobileTaxonomyField
Microsoft.SharePoint.Taxonomy.StringMatchOption Microsoft.SharePoint.Client.Taxonomy.StringMatchOption
Microsoft.SharePoint.Taxonomy.TaxonomyField Microsoft.SharePoint.Client.Taxonomy.TaxonomyField
Microsoft.SharePoint.Taxonomy.TaxonomyFieldControl Не применимо.
Microsoft.SharePoint.Taxonomy.TaxonomyFieldEditor Не применимо.
Microsoft.SharePoint.Taxonomy.TaxonomyFieldValue Microsoft.SharePoint.Client.Taxonomy.TaxonomyFieldValue
Microsoft.SharePoint.Taxonomy.TaxonomyFieldValueCollection Microsoft.SharePoint.Client.Taxonomy.TaxonomyFieldValueCollection
Microsoft.SharePoint.Taxonomy.TaxonomyItem Microsoft.SharePoint.Client.Taxonomy.TaxonomyItem
Microsoft.SharePoint.Taxonomy.TaxonomyItemPicker Не применимо.
Microsoft.SharePoint.Taxonomy.TaxonomyRights Не применимо.
Microsoft.SharePoint.Taxonomy.TaxonomySession Microsoft.SharePoint.Client.Taxonomy.TaxonomySession
Microsoft.SharePoint.Taxonomy.TaxonomyWebTaggingControl Не применимо.
Microsoft.SharePoint.Taxonomy.Term Microsoft.SharePoint.Client.Taxonomy.Term
Microsoft.SharePoint.Taxonomy.TermCollection Microsoft.SharePoint.Client.Taxonomy.TermCollection
Не применимо. Microsoft.SharePoint.Client.Taxonomy.TermGroup
Не применимо. Microsoft.SharePoint.Client.Taxonomy.TermGroupCollection
Microsoft.SharePoint.Taxonomy.TermProperty Не применимо.
Microsoft.SharePoint.Taxonomy.TermPropertyToolPart Не применимо.
Microsoft.SharePoint.Taxonomy.TermSet Microsoft.SharePoint.Client.Taxonomy.TermSet
Microsoft.SharePoint.Taxonomy.TermSetCollection Microsoft.SharePoint.Client.Taxonomy.TermSetCollection
Microsoft.SharePoint.Taxonomy.TermSetItem Microsoft.SharePoint.Client.Taxonomy.TermSetItem
Microsoft.SharePoint.Taxonomy.TermStore Microsoft.SharePoint.Client.Taxonomy.TermStore
Microsoft.SharePoint.Taxonomy.TermStoreCollection Microsoft.SharePoint.Client.Taxonomy.TermStoreCollection
Microsoft.SharePoint.Taxonomy.TermStoreOperationException Не применимо.
Microsoft.SharePoint.Taxonomy.TreeControl Не применимо.

Макеты страниц

Для сайтов публикации макет страницы определяет макет определенного класса страниц. Он также определяет настраиваемые области страницы с заполнителями контента, которые заполняются содержимым из соответствующих регионов в макетах страниц. Макеты страниц обычно основаны на пользовательском типе контента. Типы контента определяют настраиваемые поля контента, которые нужно отобразить на странице. Обычно вы создаете пользовательский тип контента, включающий поля, которые сопоставляются с макетом страницы, который вы или ваша команда разработчиков планировали ранее.

Настраиваемые элементы управления полями могут включать текст, изображения, видео или другие типы содержимого. SharePoint предоставляет типы контента для статьи, каталога, страницы приветствия и многого другого. Для доступа к типам контента макета страницы перейдитев раздел Параметры > сайтаТипы контента сайта. Эти типы контента макета страницы по умолчанию могут служить родительскими типами контента для создаваемого пользовательского типа контента.

Все типы контента макета страницы наследуются от типа контента Страницы. После создания пользовательского типа контента SharePoint отображает столбцы, унаследованные новым типом контента от типа контента Page. Вы можете добавить новые столбцы сайта, чтобы представить новые настраиваемые поля, которые должны отображаться в макете страницы. Укажите тип для каждого столбца сайта. Тип — это значение, например "одна строка текста" или "Полный HTML". Учитывайте такие факторы, как степень описательности или контроль, который пользователь должен иметь с полем при указании его типа.

После создания всех полей, в которые хранится содержимое в макете страницы, можно создать макет страницы в Конструкторе. Дополнительные сведения см. в статье Создание макета страницы в SharePoint.

После создания макета страницы опубликуйте его, перейдя в раздел Параметры> сайтаГлавные страницы и макеты страниц. Html-файл и ASPX-файл присутствуют. HTML-файл является master, и для его редактирования можно использовать любой редактор HTML. После сохранения файла и его публикации дизайнер включает изменения и преобразует обновленный HTML-файл в формат ASPX, который SharePoint использует для отображения страницы. Чтобы опубликовать макет страницы, выберите HTML-файл и нажмите кнопку Опубликовать на ленте.

Чтобы создать страницу на основе нового макета, перейдите в разделМакеты страницы>новой страницы>, чтобы просмотреть новый макет страницы в списке доступных макетов страниц. При выборе нового макета страницы должны отобразиться все новые поля, указанные при создании нового типа контента для нового макета страницы. Если вы просматриваете страницу и HTML-код отображается не так, как вы ожидаете, вы можете изменить HTML-код, а затем отправить обновленный файл с помощью конструктора.

Существует четыре типа навигации по сайту:

  • Глобальная структура навигации
  • Локальная структура навигации
  • Структурированная навигация
  • Управляемая навигация

Глобальная навигация относится к элементам навигации, которые помогают пользователям перемещаться с одного сайта SharePoint на другой.

Локальная навигация — это навигация в пределах сайта SharePoint.

Структурированная и управляемая навигация немного более задействована.

Структурированная навигация

Структурированная навигация — это статический подход к реализации навигации на сайтах SharePoint. Обычно он соответствует структуре компании, что требует реструктуризации навигации сайта SharePoint. Работа по реструктуризации часто подразумевает перемещение дочерних сайтов и (или) страниц, а также обновление ссылок для указания новых целевых объектов.

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

Дополнительные сведения о структурированной навигации см. в статье Практическое руководство. Настройка навигации в SharePoint Server 2010.

Управляемая навигация

Управляемая навигация основана на базовом сайте публикации и инфраструктуре таксономии. Управляемая навигация привязана к одному семейству веб-сайтов. Он использует наборы терминов и термины для определения глобальной и локальной навигации. Например, можно создать набор терминов, определяющий глобальную навигацию в целом, а затем добавить в этот набор терминов для определенных элементов навигации в глобальной навигации.

Дополнительные сведения об управляемой навигации см. в следующих статьях:

Ниже приведены некоторые ключевые общие моменты о классах, методах и свойствах в модели расширения навигации SharePoint для сайтов публикации.

  • Классы NavigationTerm и NavigationTermSet добавляют свойства и методы, характерные для управляемой навигации. Дополнительное состояние хранится в свойстве CustomProperties класса NavigationTerm .
  • Классы NavigationTerm и NavigationTermSet имеют два режима: редактируемый и доступный только для чтения. В объектной модели .NET Server объекты NavigationTerm хранятся в кэше навигации таксономии, доступ к которому могут получить только функции статического класса TaxonomyNavigation .
  • Объекты PortalSiteMapNodeProvider в объектной модели .NET Server предоставляют интерфейс между управляемыми данными функциями навигации сайта и источниками данных карты сайта. Как правило, вы создаете настраиваемый поставщик узла карты сайта для хранения карт сайта в XML-файле или формате данных, который по умолчанию не поддерживается SharePoint.

CSOM включает несколько уникальных классов и перечислений:

  • Перечисление NavigationLinkType определяет тип узла навигации в дереве навигации. Узел можно указать в качестве корневого узла, понятного URL-адреса или стандартной ссылки.
  • Перечисление StandardNavigationScheme определяет навигацию как глобальную или локальную.
  • Перечисление StandardNavigationSource включает три варианта для глобальной и локальной навигации. Каждый вариант представляет состояние, соответствующее конфигурации базовых поставщиков.
  • Класс StandardNavigationSettings управляет глобальной и локальной схемами навигации.

В следующей таблице перечислены классы навигации публикации в серверной объектной модели и их эквиваленты CSOM.

Табл. 3. Публикация классов навигации

Объектная модель сервера CSOM
Microsoft.SharePoint.Publishing.Navigation.CachedObjectSiteMapNode Не применимо.
Microsoft.SharePoint.Publishing.Navigation.NavigationComparer Не применимо.
Не применимо. Microsoft.SharePoint.Client.Publishing.Navigation.NavigationLinkType
Microsoft.SharePoint.Publishing.Navigation.NavigationTerm Microsoft.SharePoint.Client.Publishing.Navigation.NavigationTerm
Не применимо. Microsoft.SharePoint.Client.Publishing.Navigation.NavigationTermCollection
Microsoft.SharePoint.Publishing.Navigation.NavigationTermSet Microsoft.SharePoint.Client.Publishing.Navigation.NavigationTermSet
Microsoft.SharePoint.Publishing.Navigation.NavigationTermSetItem Microsoft.SharePoint.Client.Publishing.Navigation.NavigationTermSetItem
Microsoft.SharePoint.Publishing.Navigation.NavigationTermSetView Microsoft.SharePoint.Client.Publishing.Navigation.NavigationTermSetView
Microsoft.SharePoint.Publishing.Navigation.PortalHierarchicalDataSourceView Не применимо.
Microsoft.SharePoint.Publishing.Navigation.PortalHierarchicalEnumerable Не применимо.
Microsoft.SharePoint.Publishing.Navigation.PortalHierarchyData Не применимо.
Microsoft.SharePoint.Publishing.Navigation.PortalListItemSiteMapNode Не применимо.
Microsoft.SharePoint.Publishing.Navigation.PortalListSiteMapNode Не применимо.
Microsoft.SharePoint.Publishing.Navigation.PortalNavigation Не применимо.
Microsoft.SharePoint.Publishing.Navigation.PortalSiteMapDataSource Не применимо.
Microsoft.SharePoint.Publishing.Navigation.PortalSiteMapDataSourceSwitch Не применимо.
Microsoft.SharePoint.Publishing.Navigation.PortalSiteMapNode Не применимо.
Microsoft.SharePoint.Publishing.Navigation.PortalSiteMapProvider Не применимо.
Microsoft.SharePoint.Publishing.Navigation.PortalWebSiteMapNode Не применимо.
Microsoft.SharePoint.Publishing.Navigation.ProxySiteMapNode Не применимо.
Microsoft.SharePoint.Publishing.Navigation.SiteNavigationSettings Не применимо.
Microsoft.SharePoint.Publishing.Navigation.SiteNavigationSettingsWriter Не применимо.
Microsoft.SharePoint.Publishing.Navigation.SPNavigationSiteMapNode Не применимо.
Не применимо. Microsoft.SharePoint.Client.Publishing.Navigation.StandardNavigationSource
Не применимо. Microsoft.SharePoint.Client.Publishing.Navigation.StandardNavigationSettings
Microsoft.SharePoint.Publishing.Navigation.TaxonomyNavigation Microsoft.SharePoint.Client.Publishing.Navigation.TaxonomyNavigation
Microsoft.SharePoint.Publishing.Navigation.TaxonomyNavigationCacheConfig Не применимо.
Microsoft.SharePoint.Publishing.Navigation.TaxonomyNavigationCacheStatistics Не применимо.
Microsoft.SharePoint.Publishing.Navigation.TaxonomyNavigationContext Не применимо.
Microsoft.SharePoint.Publishing.Navigation.TaxonomySiteMapNode Не применимо.
Microsoft.SharePoint.Publishing.Navigation.TaxonomySiteMapProvider Не применимо.
Microsoft.SharePoint.Publishing.Navigation.WebNavigationSettings Microsoft.SharePoint.Client.Publishing.Navigation.WebNavigationSettings

Функции сайта публикации

SharePoint и SharePoint Online включают несколько функций, характерных для сайтов публикации SharePoint:

  • Каналы устройств позволяют применять один дизайн сайта публикации к нескольким устройствам и браузерам.
  • Шаблоны отображения позволяют маркировать и настраивать внешний вид веб-частей, связанных с поиском.
  • Представления изображений определяют измерения, используемые для отображения изображений на страницах сайтов публикации SharePoint.

Эти функции можно реализовать с помощью классов в пространстве имен Публикации модели программирования CSOM.

Каналы устройств и панели канала устройств

Вы можете использовать каналы устройств и панели каналов устройств для оптимизации сайта для телефонов и планшетов. Создав уникальный канал для каждого устройства, на которое вы хотите ориентироваться, вы можете отобразить сайт публикации SharePoint несколькими способами. Вы можете создать один сайт один раз, а затем сопоставить сайт и его содержимое с разными страницами master и таблицами стилей в соответствии с разными целевыми объектами.

Каналы создаются с помощью конструктора. После создания канала сопоставьте его с мобильным устройством или браузером с помощью строки агента пользователя входящего устройства.

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

В Конструкторе можно создать до 10 каналов (включая канал по умолчанию). Канал по умолчанию захватывает весь трафик, не захваченный одним из других каналов. При создании нового канала заполните поля, перечисленные в следующей таблице.

Табл. 4. Каналы устройств

Поле Обязательный или необязательный? Описание
Имя Обязательный Определяет канал, чтобы отличать его от других.
Псевдоним канала Обязательный Как код, строка запроса, файлы cookie или панели каналов устройств различают различия между каналами.
Правила включения устройств Обязательный Подстроки агента пользователя, которые направляют запросы с устройств (каждая из них должна находиться в другой строке).
Описание Необязательный Описывает, что делает этот канал.
Активация Необязательный Если этот флажок установлен, канал использует связанные ресурсы для канала для направления трафика. В противном случае строка ?DeviceChannel=<alias> запроса просматривает сайт в канале.

Панели каналов устройств

После создания каналов устройств сопоставьте страницу master с каждой из них. Так как настройки master страницы встречаются все реже, часто это страница master по умолчанию (seattle.master). При создании уникальной страницы master для одного или нескольких каналов устройств можно ссылаться на CSS-файл, отличный от страницы master для канала по умолчанию. Макеты страниц, которые вы создаете, работают с каждым создаваемым каналом. Вы можете использовать элемент управления Панель каналов устройств, чтобы различать макеты страниц между каналами.

Дополнительные сведения см. в статье Добавление фрагмента панели каналов устройств в SharePoint.

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

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

Вы также можете использовать панель канала устройства для изменения стиля и размещения содержимого на странице путем добавления CSS для конкретного канала.

Дополнительные сведения см. в статье Фрагменты фирменной символики с помощью CSS в SharePoint.

Строки агента пользователя и каналы устройств

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

Дополнительные сведения см. в статье What Will Windows Internet Обозреватель Report as the User-Agent String?

Порядок разрешения каналов устройств

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

Табл. 5. Пример правила включения устройств

Канал Заказ 1 Заказ 2
1 Windows Phone 8 Windows Phone
2 Windows Phone Windows Phone 8
3 По умолчанию По умолчанию

Если заказ 1 активен, пользователь, запрашивающий страницу из Windows Phone 8, получает канал устройства 1 с меткой Windows Phone 8. Пользователь с любым другим телефоном с Windows будет использовать канал 2, а все остальные — канал 3. Однако при использовании порядка 2 пользователь, запрашивающий страницу из Windows Phone 8, всегда будет получать канал устройства 1 с меткой Windows Phone и никогда не будет использовать указанный для него канал устройства.

После определения и заказа каналов устройств можно применить к каждому каналу разные страницы master. По умолчанию все каналы будут использовать master страницу канала по умолчанию.

Примечание.

CSOM не включает общедоступный API для управления каналами устройств и панелями каналов устройств.

Шаблоны отображения

Сайты публикации SharePoint используют шаблоны отображения для управления тем, какие управляемые свойства отображаются в результатах поиска и как они отображаются в веб-части. Только веб-части поиска используют шаблоны отображения; Веб-часть "Запрос контента" не является веб-частью поиска и не использует шаблоны отображения.

В следующей таблице перечислены типы шаблонов отображения в порядке их применения в SharePoint.

Таблица 6. Типы шаблонов отображения

Отображение шаблона Описание
Шаблоны отображения элементов управления Применяется ко всей веб-части, поэтому SharePoint применяет ее сначала и только один раз. Он предоставляет HTML-код, структурируя общий макет для представления результатов поиска. Например, шаблон отображения элемента управления может предоставить HTML-код для заголовка, а также начала и конца списка. Этот шаблон отображается только один раз в веб-части.
Шаблоны отображения групп Применяется второй и применяется один раз для каждой группы к веб-части результатов поиска.
Шаблоны отображения элементов Применяется последним, если не применен шаблон отображения фильтра. Шаблоны отображения элементов применяются к каждому элементу. Этот шаблон определяет, как каждый элемент в результирующем наборе отображается в веб-части. Например, он может предоставить HTML для элемента списка, который является обычным текстом, элемента списка, содержащего рисунок, или элемента списка, который форматирует блок дополнительных ссылок и сведений о кратком описании, чтобы обеспечить дополнительный контекст для результатов поиска.

SharePoint хранит шаблоны отображения в папке Шаблоны отображения в коллекции эталонных страниц. Каждый шаблон отображения связан с типом контента на главной странице Gallery.To определить тип контента для каждого файла шаблона отображения при использовании сопоставленного диска, используйте имя файла.

Приемники событий, которые преобразуют и обновляют master страниц и макетов страниц из HTML в JavaScript, также преобразуют шаблоны отображения из HTML в JavaScript. Преобразование и синхронизация являются однонаправленными; он не преобразуется из JavaScript обратно в HTML.

Примечание.

CSOM не включает общедоступный API для управления шаблонами отображения.

Отображение структуры шаблона

Каждый шаблон отображения содержит следующее:

  • Заголовок.
  • Заголовок, содержащий пользовательские элементы, ограниченные тегом <mso:CustomDocumentProperties> .
  • Тег <body> , содержащий блок скрипта.
  • Тег <div> .

Настраиваемые свойства документа предоставляют sharePoint важную информацию о шаблоне отображения. Каждый шаблон отображения связан с типом контента, который определяется с помощью <ContenTypeId>. Можно задать другие свойства, определяющие, следует ли скрывать или отображать шаблон в списке доступных шаблонов отображения для веб-части, сопоставление управляемых свойств HTML в JavaScript, контекст, в котором используется шаблон отображения, связан ли файл .js с HTML-кодом шаблона отображения, а также успешно ли выполнено преобразование из HTML в JavaScript или возникли предупреждения и ошибки.

В теге <script> можно ссылаться на внешние файлы CSS или JavaScript за пределами main отобразить HTML-файл шаблонов.

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

Дополнительные сведения см. в статье Обязательное утверждение элементов в библиотеке или списке сайта.

Тег <div> содержит идентификатор, соответствующий имени HTML-файла шаблона отображения. Поместите css или JavaScript, который необходимо включить, чтобы настроить отображение этой веб-части в блоке <div> .

Обработка шаблона отображения

SharePoint определяет шаблоны отображения в HTML-файлах и JavaScript. Если в Конструкторе вы изменяете HTML-файл, содержащий определение шаблона отображения, и сохраняете изменения, SharePoint компилирует изменения в файл JavaScript с тем же именем. SharePoint использует этот файл JavaScript для отображения веб-частей на страницах.

Важно!

Не изменяйте файл JavaScript, содержащий определение шаблона отображения. Обновите только HTML-файл. Процесс преобразования требует, чтобы HTML-файл был совместим с XML. Например, используйте <br>, а не <br/>. Дополнительные сведения см. в статье Преобразование HTML-файла в страницу master в SharePoint.

Создание шаблонов отображения

Самый простой способ создать новый шаблон отображения — изменить существующий шаблон. Различные шаблоны отображения изменяют внешний вид различных веб-частей, связанных с поиском, в том числе веб-части "Поиск контента", веб-части "Уточнение", веб-части "Уточнение таксономии" и веб-части "Результаты поиска".

Дополнительные сведения см. в разделе:

Свойства, которые можно использовать в шаблонах отображения

Прежде чем приступить к определению свойств, которые можно использовать в шаблоне отображения, найдите существующий шаблон отображения, из которого вы хотите создать, и сохраните его с новым именем. Отображение кода шаблона находится в теге <mso:ManagedPropertyMapping> .

<mso:ManagedPropertyMapping msdt:dt="string">'Picture URL'{Picture URL}:'PublishingImage;PictureURL;PictureThumbnailURL','Link URL'{Link URL}:'Path','Line 1'{Line 1}:'Title','Line 2'{Line 2}:'Description','Line 3'{Line3}:'','SecondaryFileExtension','ContentTypeId'</mso:ManagedPropertyMapping>

Затем откройтесхему поискапараметров> сайта и найдите имя столбца в поле фильтра Управляемых свойств, которое необходимо включить в шаблон отображения. Выберите управляемое свойство, а затем измените и скопируйте его имя.

<mso:ManagedPropertyMapping msdt:dt="string">'Picture URL'{Picture URL}:'PublishingImage;PictureURL;PictureThumbnailURL','Link URL'{Link URL}:'Path','Line 1'{Line 1}:'Title','Line 2'{Line 2}:'Description','Line 3'{Line3}:'','owsTXTPrice','owsTXTColor'</mso:ManagedPropertyMapping>

Примечание.

В этом примере PictureURL сопоставляется с первым управляемым свойством, которое присутствует при поиске результатов по запросу PublishingImage, PictureURL или PictureThumbnailURL.

Отрисовка изображений

Представление изображения определяет измерения, используемые для отображения изображений на страницах сайтов публикации SharePoint. CsOM можно использовать для создания экземпляров изображений и управления ими. Можно указать метаданные, такие как высота, ширина, имя и версия представления изображения, с помощью класса ImageRendition . Методы и свойства в классе SiteImageRenditions можно использовать для чтения и записи представлений изображений из семейства веб-сайтов.

Дополнительные сведения см. в статье Представления образов SharePoint Design Manager.

SharePoint и методы веб-программирования

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

Адаптивный дизайн

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

Адаптивный дизайн основан на функции запросов мультимедиа в CSS3. Он использует запросы мультимедиа, чтобы соответствовать ширине дисплея устройства, а затем применяет стили на стороне клиента для отрисовки содержимого. Запросы мультимедиа позволяют конструктору ориентироваться на определенные свойства сайта, такие как ширина экрана. Запросы мультимедиа можно использовать для создания гибких макетов и изображений, а также условного вызова альтернативы CSS-файлам.

Дополнительные сведения и примеры см. в следующих разделах:

Адаптивный дизайн

Адаптивный веб-дизайн (иногда называемый адаптивной веб-доставкой) похож на адаптивный веб-дизайн. Адаптивный дизайн прослушивает устройства или браузеры и выбирает оптимальный способ отрисовки страниц.

Функция каналов устройств в SharePoint — это адаптивная конструкция. Она предоставляет адаптивные макеты для каждого устройства на основе макета страницы, спецификаций каждого канала устройства и порядка, определенного на панели канала устройства.

Каналы устройств и адаптивный дизайн вместе

Вы можете совместно использовать каналы устройств и методы адаптивного веб-проектирования для создания адаптивного общедоступного сайта публикации SharePoint. Попробуйте создать одну пользовательскую страницу master для устройств, таких как телефоны и планшеты, и другую для веб-браузеров, и связать каждую из них с каналом устройства. Затем используйте гибкие сетки, гибкие изображения и запросы мультимедиа CSS3, чтобы создать лучший интерфейс просмотра для каждого устройства и браузера, которые должны поддерживаться вашим сайтом.

Добавление jQuery на сайт SharePoint

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

Для загрузки jQuery из библиотеки документов можно использовать пользовательское действие. Сделайте это, если необходимо сделать jQuery доступным для всех страниц сайта SharePoint. Этот подход является гибким, но его нелегко контролировать, и это влияет на конструктор сайтов и администратора. Файлы JavaScript можно хранить и хранить в библиотеке документов, но они также могут быть случайно изменены или удалены. По этой причине мы не рекомендуем этот подход.

Вы также можете загрузить jQuery из корневого каталога SharePoint с помощью ScriptLinkControl. Элемент управления можно использовать для вставки скриптов, выполняемых на удаленном сайте, и изменения скриптов, не затрагивая установку SharePoint. Подход ScriptLinkControl имеет смысл, если вы хотите использовать jQuery на странице приложения или в веб-части, которая отображается на странице. Хотя подготовка с помощью этого параметра выполняется медленно и влияет на производительность, так как jQuery добавляется на одну страницу за раз, развертывание файла jQuery в правиле SharePoint обходит другие устаревшие требования. Это полезно, если необходимо перенести решение кода полного доверия SharePoint (FTC) в CSOM, а миграция включает перемещение и рефакторинг пользовательских поведений JavaScript и jQuery.

Наконец, вы можете использовать веб-часть редактора содержимого для загрузки jQuery из сети доставки содержимого (CDN). Это полезно, если необходимо добавить jQuery на одну или несколько страниц, включая вики-страницы и страницы веб-частей. Так как вы загружаете файл jQuery из CDN, вам не нужно хранить дополнительные файлы на сервере SharePoint, и пользователи получают преимущества распределенной кэшированной версии файлов jQuery. SharePoint вызывает файл jQuery из сети CDN, и вы можете добавить в веб-часть редактора содержимого пользовательский код jQuery, который вы создаете.

Создание надстроек SharePoint, размещенных у поставщика, с помощью ASP.NET MVC 5

Вы можете создавать пользовательские надстройки, размещенные у поставщика, с помощью шаблона model-view-controller (MVC) в SharePoint. Эта модель разделяет приложение на три взаимосвязанные части. Это отделяет внутренние представления информации от того, как они просматриваются и принимаются пользователем. Модель представляет базовую структуру программного обеспечения, представления (обычно элементы пользовательского интерфейса) и контроллера, которые являются классами, соединяющими модель и представление.

Вы можете ASP.NET содержимое MVC на сайте SharePoint master содержимое страницы. Фактически вы можете использовать Office 365 API для создания надстройки SharePoint с ASP.NET MVC 5.

API для разработки MVC для SharePoint определяются в Filters\SharePointContextFilterAttribute.cs и SharePointContext.cs. Эти API-интерфейсы обтекают шаги, которые веб-проект выполняет для эффективного взаимодействия с SharePoint в одном вызове, что упрощает логику, которую необходимо реализовать.

Атрибут фильтра контекста SharePoint выполняет дополнительную обработку для получения стандартных сведений при перенаправлении из SharePoint в удаленное веб-приложение, например URL-адрес хост-сайта. Он также определяет, требуется ли перенаправление надстройки в SharePoint для входа пользователя (например, закладки). Этот фильтр можно применить к контроллеру или представлению. Классы контекста SharePoint инкапсулируют всю информацию из SharePoint, чтобы можно было создавать определенные контексты для сайта надстройки и хост-сайта, а также взаимодействовать с SharePoint.

Дополнительные сведения см. в разделах Сведения о ASP.NET MVC и Знакомство с поддержкой MVC для надстроек SharePoint.

См. также