Не выдержав, решил в уходящем году написать первый пост по SharePoint Server 2007 :)
А особенно хочется расказать о проблемах, которые решают портальные решения и возможностях, которые даются разработчику в новом SharePoint Server 2007. Поскольку нововведений очень много, эту статью я считаю больше введением в девелопмент под SharePoint, дальше - больше :)
Внедрение портального решения позволяет налаживать эффективный механизм обмена и работы над информацией сотрудников, партнеров и клиентов компании предоставляя «единую точку входа» и доступа к информации. Работая с порталом, пользователи могут забыть о том, что некоторая информация находится в общих папках, другая в БД компании, третья – на сайте в виде отчета. Вся информация доступна на портале с четкой иерархией и тематическим разбиением по категориям: регионы, департаменты, проекты и т.д. Важно и то, что работая с порталом пользователям требуется минимальное вмешательство сотрудников IT департамента – в подавляющем большинстве случаев пользователи сами могут создавать сайты и сами же ими управлять, публикуя и обмениваясь информацией.
Использование SharePoint Server 2007 позволяет экономить время и деньги разработчиков на создание и поддержку портального решения т.к. все необходимые возможности поставляются в готовом Out-of-box виде. Разработчику остается лишь дописать необходимую ему логику, расширив возможности портала. Основные возможности SharePoint Server 2007:
· Контент менеджмент
· Веб контент менеджмент
· Коллективная работа
· Корпоративный поиск уровня предприятия
· Бизнес формы и поддержка бизнес-процессов
· Business Intelligence
С выходом SharePoint Server 2007 объем работы, который приходилось выполнять разработчику для кастамизации портала существенно уменьшился. Одной из непростых задач в SharePoint Portal Server 2003 и Windows SharePoint Services 2.0 была локализация и редактирование шаблонов сайтов. В SPS 2003 и WSS 2.0 локализация проводилась с помощью шаблонов сайтов. Поэтому, если вам было необходимо создать сайт на украинском языке, вы инсталлировали украинский шаблон и на его основе создавали новый сайт, который никак не был связан с прежним сайтом. В результате, требовалось вручную поддерживать синхронизацию между сайтами на различных языках дабы их содержимое согласовывалось. Такая поддержка привращалась в кошмар когда приходилось делать изменение стиля сайта – изменения вручную вносились во все локализированные сайты. И уж совсем прохо обстояли дела у тех, кто разворачивал ферму серверов – им приходилось вносить изменения во все front-end серверы фермы. В SharePoint Server 2007 эти проблемы были решены с помощью Variations и Feature Framework.
Локализация сайтов с помощью вариаций
Variations являются ни чем иным, как связанными ветвями портала. Каждой вариации определяется свой язык (указывается локаль) и имя ветки в портале. Также Все вариации ответвляются от единого корня – Source Variation. После создания вариаций SharePoint автоматически создает подкаталоги на сайте (http://yourserver/variation) для каждого из языков. Переход с языка на язык осуществляется простым выбором языка в контекстном меню.Теперь, переходя на страничку http://yourserver пользоваль редиректится на стандартную вариацию, например http://yourserver/eng. Если в процессе публикации на сайте в eng вариации добавляется/изменяется страничка, то на основе настроект вариаций SharePoint может автоматически добавить соответствующую страничку в ua вариацию, пометить ее как draft и запустить workflow поцесс для перевода данной странички на украинский. В настройках SharePoint Site Collection Administration можно также указать способ работы с общими ресурсами страниц в различных вариациях. Допустим, на английской странице помещен флаг Великобритации а для украинской вариации необходим флаг Украины. В этом случае мы можем выбрать опцию Copy Resources чтобы картинки для вариаций хранились в каждой из вариаций отдельно. С другой сторны, если использовать опцию Reference existing resources, то призводные вариации будут ссылаться на ресурсы базовой вариации (которая обычно является основным языком портала). Связи между страницами различных вариаций позволяют в процессе работы сравнивать различия в вариациях и, при необходимости, форсировать создание/обновление страничек в других вариациях с помощью Submit Variations и Update Variations.

Как видим, никакого кодирования не потребовалось.
Вариации помогают поддерживать синхронизацию между страницами на различных языках. Однако что делать в случае, если к сайту необходимо добавить библиотеку, скажем Project Tasks, интерфейс которой менялся бы в зависимости от языка сайта. В SPS 2003 и WSS 2.0 ответ был прост – использовать переведенный шаблон библиотеки. В MOSS и WSS 3.0 введено элегантное решение – использование локализации ASP.NET 2.0. В шаблонах библиотек используются указатели на язык в ресурсном файле

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

О том как распространять списки/шаблоны/вебпарты с помощью Features читайте в моем блоге в следующем году :)