Как назначить метаданные в коллекцию сайтов
-
16-10-2019 - |
Вопрос
В SharePoint 2010 мы хотим создать несколько различных представлений о информационной архитектуре наших коллекций сайтов. Одна идея состоит в том, чтобы использовать термин Store из Управляемой службы метаданных в качестве способа создания представления информационной архитектуры (вроде навигации по метаданным библиотекам документов).
Мне любопытно, использовал ли кто -нибудь аналогичную технику для создания различных представлений о информационной архитектуре и того, как термин Store был связан с коллекцией сайта (или сайтом).
Решение
SharePoint не имеет возможности напрямую назначать метадаты на сайт коллекционирования или сайта. Есть несколько подходов к моделированию его для целей поиска и навигации:
1 - Используйте каталог сайта. Несмотря на то, что каталог сайтов 2007 года устарел, он все еще существует на SharePoint 2010 (для совместимости обновления), и вы можете включить его и использовать его так же, как и в 2007 году. В основном он использует одну коллекцию сайта с списком для содержания метаданных и Ссылка на каждую коллекцию сайтов. Вы можете настроить это, чтобы захватить дополнительные метаданные.
Вот ссылка на то, как ее активировать:
2 - Используйте метатеги на странице по умолчанию для каждого сайта, который можно поднять поиском. У Maxine Bombardier есть хороший пост в блоге, который представляет этот инновационный подход.
3 - Используйте каталог сайта на Codeplex. Некоторые парни MCS объединяют это в качестве замены для каталога сайтов SharePoint 2007. Почти такая же архитектура, но некоторые дополнительные возможности и т. Д.
http://spsitedirectory2010.codeplex.com/
4 - Опубликуйте пользовательский тип контента через мета -дата -концентратор, а затем используйте его в скрытом списке в каждой коллекции или сайте сайта. Скрытый список будет содержать одну строку, представляющую метаданные для сайта. Вы можете развернуть функцию с пользовательским действием, которое добавляет ссылку на настройки сайта, которая ссылается на страницу редактирования для скрытого списка или реализовать пользовательскую страницу _layouts для редактирования значений и т. Д. Поскольку существует пользовательский тип контента, легко использовать поисковый API для фильтрации только для сайтов.
Я сам предпочитаю № 4, так как вам не нужно общаться с управлением коллекцией сайтов сайта и заданиями по таймеру, чтобы держать ее в обновлении. Метаданные хранятся на самом сайте, поэтому его обновлять легче, и он удобен для поиска.
Другие советы
Как насчет использования пакета недвижимости сайта. У каждого сайта и коллекции сайтов есть уникальная сумка для недвижимости, в которую вы можете добавить свойства. Откройте свой сайт SharePoint Designer и нажмите на значок «Параметры сайта» на панели инструментов сайта, чтобы увидеть, какие значения находятся в текущих свойствах. Вы можете добавить, обновить, удалять свойства оттуда.
Вы можете использовать сумки для недвижимости для хранения метаданных. Вы можете хранить и получить метаданные на следующих уровнях:
- Ферма
- веб приложение
- Сайт Коллекция
- Сайт
Если вы хотите сохранить некоторые данные, конкретные для сбора сайтов, вы можете сделать как:
SPPropertyBag Bag = site.RootWeb.Properties;
if (!Bag.ContainsKey("PropertyName"))
{
Bag.Add("PropertyName", "PropertyValue");
Bag.Update();
}
Если вам нужен более спотритированный способ сделать это через код, ознакомьтесь с Менеджер конфигурации для SharePoint.
Если вы не хотите кодировать, вы можете сделать это с SharePoint Designer (как упомянул Джефф) или попробуйте утилиту от Codeplex: SharePoint Manager 2010
Также я бы хотел, чтобы ссылка задавался связанным вопросом ранее: Метаданные на сборе и/или сайте сайта?
Сумки для недвижимости не могут быть проиндексированы гусеницей. Сделать мета-дату полезными только в самой коллекции сайтов. Вам нужно будет использовать один из вышеуказанных методов, чтобы фактически сделать метада-поля доступными для поиска.