Точки, которые Дженис и Алекс подчеркивают, хорошие. Вот несколько моих собственных:
Хорошая аналогия, которую рисует Янис. Типы контента - это не просто данные - это поведение, которое соответствует этим данным. Эта «переносимость поведения» позволяет нам перестать думать о данных SharePoint как о том, что они просто сидят в списке. Привязанность к списку особенно ограничивает; типы содержимого нарушают это ограничение.
Типы контента имеют иерархическую природу и поддерживают наследование (как упоминал Янис). Вы можете создать настолько сложную иерархию, сколько захотите, очень похоже на иерархию классов. Типы контента, находящиеся глубже в иерархии, наследуют поля и большинство связанных с кодом элементов более высокого уровня в цепочке наследования. Вы можете оставить родительское поведение в производном типе или переопределить его.
Что мне особенно нравится в типах контента (связанных с переносимостью поведения), так это возможность указывать пользовательские формы для просмотра и работы с данными. Я не говорю о FormTemplates , которые подключаются к страницам формы списка; Я говорю о собственном опыте. Весь «ориентированный на список» образ мышления SharePoint можно перевернуть с помощью хорошо продуманных форм, которые связаны с помощью элементов FormUrl , указанных в структуре XmlDocument типа содержимого. Пустая страница ASPX становится вашим холстом, если вы этого хотите.
В конце концов, я думаю, это сводится к следующему (для меня): я могу думать о данных, привязанных к списку, и о поведении этого списка, или я могу думать о том, что данные более OOP-подобны по своей природе с типами контента. Microsoft сделала большие инвестиции в типы контента на платформе SharePoint, и они привели веские аргументы в пользу их использования в информационной архитектуре любого сайта. Выбор не использовать их может принести некоторые сюрпризы в будущем.
Вот только один пример: MOSS Records Center. «Внутренности» Центра записей MOSS используют типы контента в качестве механизма маршрутизации и сортировки, чтобы упростить жизнь (http://blogs.msdn.com/recman/archive/2006/09/12/750034.aspx). Если у вас много данных без классификаций типов контента и вы решили использовать Центр записей. .. ой.
Вот еще один пример: поиск. С четко определенной информационной архитектурой, основанной на типах контента, разделение областей поиска может стать намного проще, поскольку тип контента может быть преобразован в управляемое свойство практически без усилий. С моим текущим клиентом мы делаем это, чтобы легко идентифицировать и классифицировать контент для автоматического включения области.
Экстремальный пример: издательство сайтов. Вы даже не можете использовать возможности сайта публикации без использования типов контента, потому что все макеты публикации привязаны к типу контента, чтобы выровнять данные списка с заполнителями макета.
Я мог бы продолжить, но, надеюсь, это даст вам представление о том, что типы контента могут сделать для вас как для разработчика, так и для администратора. Вам, конечно, не нужно для их использования, но они представляют собой значительное улучшение по сравнению со днями данных, относящихся к списку, в WSSv2 / SPS 2003.
За что это стоит!