Выходят в свет книги и статьи, призванные помочь администраторам научиться управлять сервером SharePoint Portal Server и службой Microsoft Windows SharePoint Services (в данной статье они будут представлены под общим названием SharePoint). Существуют ресурсы, в которых объясняется, как воспользоваться многочисленными достоинствами SharePoint. Но лишь немногие авторы рассказывают о слабых сторонах SharePoint. Работая с SharePoint, нам пришлось затратить на устранение пробелов в функциональности SharePoint и подготовке возможных решений больше времени, чем хотелось бы. Но мы не собираемся огульно критиковать, а просто пришли к выводу, что, обойдя некоторые очевидные ограничения — при радикальной настройке на конкретное применение, интернационализации или локализации на уровне портала и в функциях поиска, — можно более плодотворно работать с SharePoint сразу же после установки продукта.

Разработчики Microsoft внимательно прислушиваются к мнениям потребителей, поступавшим в компанию при проведении различных программ поддержки, в том числе Developer Advisory Council (DAC), Partner Advisory Council (PAC) и Technology Adoption Program (TAP). Так что многие из отмеченных нами недостатков в следующей версии Microsoft Office с условным названием Office 12 будут устранены. Мы активно изучаем программу SharePoint из пакета Office 12 Beta 1, но судить об улучшениях можно будет только после того, как выйдет окончательный продукт. Пользователям же версий, предшествующих Office 12, будет полезно знать о недостатках продукта.

Недостаток № 1: индивидуальная настройка портала

Большинство компаний стараются придать своему порталу отличительные особенности. С помощью XML-технологий, применяемых во многих современных продуктах для порталов, легко получить настраиваемые и расширяемые архитектуры. XML широко используется в SharePoint, но специалисты Microsoft не приложили особых усилий для отделения бизнес-логики и базовых данных от уровня презентаций; поэтому глубоко настроить SharePoint на конкретное применение сложно. Под глубокой настройкой имеются в виду такие изменения, как перестройка глобальной навигационной структуры, шаблона результатов поиска или подготовка новых определений сайта SharePoint. Многие поставщики порталов (например, BEA Systems, IBM, Oracle, Vignette) в конкурентной борьбе с SharePoint делают акцент на простоте настройки своих продуктов. В архитектуре таких продуктов презентация полностью отделена от компонентов портала и структуры сайта; в SharePoint презентация, контент и структура тесно связаны. Компания Microsoft выпустила несколько документов, которые помогают настроить SharePoint, но единого руководящего документа не существует.

Решение. Для успешной настройки SharePoint требуется провести тщательное исследование. Необходимо разобраться в определениях сайта — сложных наборах файлов ASP.NET (.aspx) и XML, составленных с помощью языка Collaborative Application Markup Language. CAML — язык на основе XML, используемый программистами для создания и настройки областей SharePoint, сайтов и других элементов (например, списков). Настройку помогает упростить такой инструмент, как Visual Studio.NET (VS.NET) 2005 или VS.NET 2003. Кроме того, может пригодиться практический опыт программирования ASP.NET и знание объектных моделей SharePoint.

В некоторых источниках для настройки SharePoint рекомендуется использовать Microsoft FrontPage 2003. Действительно, применение FrontPage — самый простой способ настроить область SharePoint Portal Server или страницы сайта Windows SharePoint Services, но при этом SharePoint отсоединяет (unghost) страницу от базового шаблона. Достаточно открыть страницу SharePoint внутри FrontPage и щелкнуть на кнопке Save, и страница отсоединяется от шаблона, даже если в ней не сделано никаких изменений.

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

К счастью, компания Bluedog Limited выпустила компонент Web Part, именуемый GhostHunter, с помощью которого можно обнаружить и вновь присоединить отсоединенную страницу. GhostHunter привязывает страницу к шаблону файловой системы, из которого была построена страница. На экране 1 показано, как GhostHunter Web Part выглядит на странице, для которой оценивается состояние привязки. Особенность GhostHunter: любые изменения, сделанные в отсоединенной странице, при восстановлении привязки теряются.

Поэтому, вопреки рекомендациям Microsoft, мы не советуем задействовать FrontPage 2003 в качестве инструмента для настройки SharePoint. FrontPage 2003 вполне приемлем для сайтов небольших групп, которым требуется лишь незначительная настройка, но для глубокой переработки нескольких сайтов следует использовать такой инструмент, как VS.NET.

Недостаток № 2: поддержка нескольких языков в SharePoint Portal Server

В Windows SharePoint Services 2.0 разработчики уделили больше внимания совместимости с локализованными языками, и в настоящее время продукт в этом отношении не уступает Office. Устанавливая пакеты языковых шаблонов Windows SharePoint Services 2.0 (с общим именем Windows SharePoint Services 2.0 Language Template Pack) и настраивая региональные параметры, можно разместить несколько языковых сайтов на виртуальном сервере Windows SharePoint Services или на ферме серверов.

После установки пакета Language Template Pack и в процессе создания сайта можно добавлять сайты Windows SharePoint Services на поддерживаемых языках. Единственный обязательный дополнительный шаг при создании сайта — выбрать язык из раскрывающегося списка Language в нижней части страницы New Share-Point Site. На экране 2 показан итоговый сайт на французском; на экране 3 — тот же сайт на испанском языке. Можно строить локализованные сайты с использованием stsadm.exe и операции create-site, указав соответствующий языковой пакет с помощью ключа -lcid и кода языка locale ID (LCID).

Пакет Language Template Pack добавляет в файловую систему переведенные шаблоны сайтов Windows SharePoint Services для каждого примененного пакета. Windows SharePoint Services переводит все поддерживаемые страницы и типовые элементы сайтов, такие как панель навигации, панель ссылок и панели быстрого запуска. Готовые компоненты Web Part (в том числе встроенный контент) также переведены, но для всех специальных Web Part требуется отдельная локализация, вручную. Чтобы увидеть коды LCID установленных языковых пакетов, следует заглянуть в каталог %programfiles%common filesmicrosoft sharedweb server extensions60 emplate на сервере или серверах, на которых размещается Windows SharePoint Services. Каждый пакет расположен в соответствующем подкаталоге LCID в данном каталоге. Установленные языковые пакеты можно увидеть и в разделе Add/ Remove Programs панели управления сервера.

SharePoint Portal Server не обеспечивает такой же гибкой поддержки языков, как Windows SharePoint Services. Хотя SharePoint Portal Server и Windows SharePoint Services совместимы с одними и теми же языками, поддержка SharePoint Portal Server ограничивается одним языком для экземпляра портала. Язык, выбранный при создании портала, — единственный, который можно употреблять в любом его экземпляре; этот язык также используется по умолчанию для всех сайтов Windows SharePoint Services в данном портале, несмотря на возможность разместить сайты на нескольких языках в одном наборе сайтов Windows SharePoint Services.

Решение. Если необходимо обеспечить поддержку нескольких языков на уровне портала, то самое практичное решение — установить несколько экземпляров SharePoint Portal Server. Если требуется совместимость с несколькими языками и в Windows SharePoint Services, то можно построить один виртуальный сервер Windows SharePoint Services со многоязыковыми пакетами.

Этот метод — лучший на сегодня, но следует помнить, что при установке нескольких экземпляров SharePoint Portal Server возрастает сложность администрирования. Приходится обслуживать несколько языков для установленных SharePoint Portal Server и отдельно управлять конфигурацией каждого экземпляра сервера в портале. Кроме того, простого способа поддерживать несколько языков в одном экземпляре Windows SharePoint Services не существует. Попытка решить эту проблему с помощью зеркального отображения контента в смежных экземплярах портала или нескольких сайтах (в каждом экземпляре или сайте используется свой язык) — дополнительная нагрузка для администратора. Однако обслуживание нескольких языков на любой Web-платформе (как Microsoft, так и других) — огромный труд. Каждый фрагмент контента должен быть переведен на все языки. Существуют технологии автоматического перевода, но их результаты неудовлетворительны. Задача обслуживания многоязыковой Web-платформы может оказаться более сложной, чем администрирование предложенного в статье решения.

Недостаток № 3: поиск на сайтах Windows SharePoint Services

Если установлена база данных с компонентом Full-Text Search, а служба Windows SharePoint Services настроена на использование SQL Full-Text Search, то можно задействовать механизм поиска на сайтах Windows SharePoint Services. Дополнительные сведения приведены во врезке «Организация поиска на сайтах».

Даже если компонент SQL Server Full-Text Search установлен и интегрирован со службой Windows SharePoint Services, область поиска ограничивается сайтом Windows SharePoint Services, из которого запущен поиск. Нельзя ввести в запрос родительские или дочерние сайты из одного или нескольких наборов сайтов либо контент из других источников вне Windows SharePoint Services (например, файловой системы, узлов Internet). Более того, разрешается использовать только простые поисковые фразы, отсутствуют передовые функции поиска, нельзя искать в присоединенных файлах, составляя списки элементов.

Решение. Самый простой способ — установить SharePoint Portal Server в качестве внешнего компонента уровня портала, привязав его к виртуальному серверу Windows SharePoint Services и соответствующим наборам сайтов. Кроме того, из страницы Site Settings-Configure Search and Indexing портала можно принимать или отвергать сайты для индексации контента. Служба SharePoint Portal Server Search (SharePointPSSearch) обследует и индексирует выбранные сайты. После завершения индексации поисковая операция в портале возвращает результаты из портала и всех выбранных сайтов Windows SharePoint Services.

Если режим Advanced Search Administration Mode активизирован через SharePoint Portal Server Central Administration, то можно расширить функцию поиска сайта/каталогов, построив источник контента сайта/каталогов. Можно добавить инструкции для обследования контента, размещенного вне портала, в частности общих каталогов, общедоступных папок Microsoft Exchange Server и других сайтов Internet.

Существуют и программные способы расширения поиска. Если разместить сайты Windows SharePoint Services на сервере SharePoint Portal Server, то можно заменить Web-элемент управления поиском Windows SharePoint Services Web-элементом управления поиском портала для поиска по содержимому локального сайта (или во всех сайтах в иерархии набора сайтов) из сайта Windows SharePoint Services. Решения от независимых поставщиков, такие как CorasWorks Workplace Suite, располагают компонентами Web Part для поиска внутри набора сайтов или в нескольких наборах сайтов.

Помните об ограничениях

Безупречных программных продуктов не существует. У любого сложного приложения есть какой-нибудь недостаток, особенно если круг пользователей разнообразен. Выявление недостатков и поиск решений — важный компонент оценки продукта и его настройки на работу в конкретных условиях. Если кому-то из читателей случится обнаружить другие изъяны SharePoint, просим сообщить нам; мы постараемся проанализировать их в будущих статьях.

Этан Вилански — редактор Windows IT Pro и директор по технологии компании EDS и ее подразделения Technology Strategy and Architecture. ewilansky@windowsitpro.com

Джеф Сандлер — ведущий технолог компании EDS и ее подразделения Technology Strategy and Architecture. Его стаж в EDS как архитектора и разработчика разнообразных технологических платформ составляет 15 лет. jsandl01@gmail.com


Возможности портала

Сетевой инженер Лэйси Рассел и пользователи компании, где она работает, получают необходимую информацию из портала SharePoint.

Как большинство компаний, InterKnowlogy — огромная «кладовая» информации. Но три года назад значительная часть ее «сокровищ» была глубоко скрыта в папках и файлах в сети и на компьютерах служащих, в тематических цепочках сообщений электронной почты и непосредственно в памяти сотрудников. В 2002 г. компания начала использовать инструменты коллективной работы Microsoft, Windows SharePoint Services и, позднее, Microsoft SharePoint Portal Server, чтобы облегчить доступ и совместное применение этих знаний для сотрудников и приглашенного персонала. В беседе со старшим редактором Энн Грабб сетевой инженер и специалист компании InterKnowlogy по общему обслуживанию ИТ Лэйси Рассел рассказала о том, как настроена в их компании конфигурация SharePoint, какую пользу получают от продукта конечные пользователи, и дала несколько практических советов.

Что побудило InterKnowlogy к переходу на SharePoint? Какие приложения компания использовала в прошлом, прежде чем заменить их порталом?

Мы использовали специализированный Web-узел Active Server Pages (ASP) для развертывания таблицы штатных сотрудников, в которой содержатся сведения об аттестатах, квалификации и другие данные, в частности адреса электронной почты и номера телефонов. Вся эта информация хранилась на небольших страницах, добавляемых в специализированные ASP, с которыми время от времени работали двое наших специалистов. Новых сотрудников приходилось вносить в базу данных вручную с помощью SQL Server Enterprise Manager. Эта процедура была очень утомительной. Много информации хранилось в разделяемых папках и было скрыто на настольных компьютерах и рабочих серверах. Фрагментированная информация была рассеяна повсюду.

Мы начали использовать Windows SharePoint Services в Microsoft Office Project Server. В процессе работы Project Server создает для проекта сайт Windows SharePoint Services. Мы использовали этот сайт для хранения всех результатов проекта. Когда была выпущена бета-версия SharePoint Portal, мы стали экспериментировать с ней. Потом мы опробовали SharePoint в других проектах (это была уже версия Beta 2) и решили применять этот продукт более широко. Сегодня компания использует как SharePoint Services (в Project Server), так и SharePoint Portal Server (домашняя страница InterKnowlogy представлена на экране 1).

Расскажите об этапах типичного проекта, от начала до конца, и роли SharePoint в этом процессе.

После того как назначается дата начала проекта, мы используем Project Server, чтобы составить расписание проекта, и создаем сайт Windows SharePoint Services, содержащий все элементы, относящиеся к проекту. Сайт содержит заранее подготовленные списки, настроенные на нужды нашей компании, в которых, в частности, содержится информация о неполадках и ошибках, а также целые документы, например техническое задание и все заключенные договоры.

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

Как еще может применяться SharePoint?

Мы используем Windows SharePoint Services с Microsoft Office InfoPath 2003. В настоящее время мы переводим заявления о предоставлении отпусков в форму InfoPath. Пользователь обращается на Web-узел, выбирает форму заявления на отпуск, заполняет и отсылает ее. Форма автоматически заносится в библиотеку, и менеджер может вынести свою резолюцию.

SharePoint — превосходная база знаний. Предположим, что разработчик нашел решение проблемы, над которой работал в течение нескольких недель. Разработчик вносит свое решение в подготовленный нами список — базу знаний. Каждая запись содержит ссылку на описание проблемы, решения и причины неполадки. Если другой сотрудник сталкивается с этой проблемой, он может сразу найти в базе знаний нужные сведения и не изобретать велосипед.

Кроме того, я использую SharePoint для обслуживания ИТ-инфраструктуры. Если пользователь нуждается в помощи, он заполняет форму на сайте SharePoint, излагает суть проблемы и предполагаемую дату ее устранения. Я могу обратиться к SharePoint и просмотреть список задач по обслуживанию. В другом списке мой руководитель может увидеть, над какими проблемами я работаю и на какой стадии находятся эти процессы. Такое применение SharePoint экономит массу времени, так как мне не приходится проводить часовые совещания с шефом, чтобы представить ему отчет о своем продвижении по списку задач. Он может просто посмотреть список и оценить степень реализации каждого проекта. А пользователи могут обратиться к своим вопросам, чтобы выяснить, получен ли ответ и не нужна ли мне дополнительная информация для решения проблемы.

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

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

Приходилось ли вам сталкиваться с неожиданностями в процессе использования SharePoint?

Одна из неожиданностей заключается в том, что человеку, ранее не знакомому с SharePoint, требуется удивительно мало времени, чтобы привыкнуть к нему. Некоторые пользователи привыкли получать информацию определенным способом, а в SharePoint все выглядит иначе. Но, поработав с продуктом, легко запомнить его особенности, так как графический интерфейс стабилен. Например, определенные ссылки находятся всегда в одном месте, если только интерфейс не подвергается радикальной перестройке. При развертывании задача настройки SharePoint на работу с некоторыми приложениями может оказаться трудоемкой. Например, мы хотим интегрировать SharePoint Portal Server и Active Directory (AD), поэтому строим компонент Web Part для управления AD через портал. Для решения таких задач требуется много времени.

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

Да, восстановить базу данных несколько сложнее. Я выяснила, что лучший способ — выполнить восстановление на другом сервере. В сущности, вместо прямого восстановления на производственном сервере строится клон исходного сервера, и данные извлекаются из него. Это процесс довольно трудоемкий. (Некоторые поставщики, такие как CommVault и Symantec, выпускают агентов специально для резервного копирования и восстановления баз данных SharePoint. — Прим. ред.)

Какое обучение проходят конечные пользователи SharePoint?

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

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

Был ли переход на SharePoint удачным шагом для InterKnowlogy?

Я считаю, что благодаря SharePoint каждый сотрудник компании экономит много времени. «Докапываться» до информации больше не требуется. Данные легко найти всегда, когда в них возникает необходимость; не приходится спрашивать у коллег, где найти те или иные сведения. Цена SharePoint достаточно умеренна, 3995 долл. за сервер плюс клиентские лицензии доступа (CAL), если учесть огромный объем полезной информации, которую получают наши пользователи.

Энн Грабб - Старший редактор в Windows IT Pro. Она имеем более чем двадцатилетний опыт работы, является автором и редактором статей, книг и других материалов по компьютерной и юридической тематике. agrubb@windowsitpro.com


Организация поиска на сайтах

Для использования функций поиска на сайтах Windows SharePoint Services необходимо в ходе развертывания Windows SharePoint Services выбрать режим установки Server Farm, чтобы впоследствии указать путь к экземпляру Microsoft SQL Server, на котором размещается Windows SharePoint Services. Чтобы настроить Windows SharePoint Services на использование компонента SQL Server Full-Text Search, следует перейти на страницу Windows SharePoint Services Central Administration-Configure Full-Text Search и установить флажок Enable full-text search and index component. Поиск на сайтах доступен только через SQL Server, но не Microsoft SQL Server Desktop Engine (MSDE).