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

О. При использовании Windows SharePoint Services 2.0 и Microsoft SharePoint Portal Server 2003 это было бы весьма трудоемким занятием. Потребовалось бы создать файл HTML и использовать код JavaScript для перенаправления запроса на доступ на другой файл. К счастью, c выпуском новой версии SharePoint эта процедура значительно упростилась. Одной из новых функций Windows SharePoint Portal Services 3.0 и Microsoft Office SharePoint Server 2007 является возможность расширить библиотеку документов для использования множественных типов контента. Тип контента представляет собой группу настроек, которая может быть назначена для категории контента SharePoint, позволяя, таким образом, организовать хранящиеся данные в удобном для использования виде. Одним из предопределенных типов контента является Link to a Document (ссылка на документ). Ссылка позволяет сохранять название и URL-адрес одного и того же документа в нескольких библиотеках документов. На рис.1 показано меню New (Создать) после добавления типа Link to a Document к библиотеке документов.

При выборе элемента Link to a Document система предлагает заполнить имя документа и URL, как показано на рис. 2. После создания ссылки на документ имя документа будет отображено в библиотеке документов и отмечено значком ссылки (link icon), как показано на рис.3. Теперь добавленный связанный документ доступен в данной библиотеке документов.

 

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

О. Ни Windows SharePoint Services 3.0, ни Microsoft Office SharePoint Server 2007 (ни предыдущие версии технологии SharePoint) не поддерживают функции разграничения доступа на уровне столбцов (полей). Для реализации этой функциональности можно воспользоваться несколькими способами, но если требуется действительно надежная защита информации, понадобится либо самостоятельно запрограммировать эту функциональность, либо приобрести решения от независимых разработчиков.

Первый способ заключается в том, чтобы с помощью Microsoft Office FrontPage 2003 удалить отдельные поля из существующих страниц списков, а для опытных пользователей создать дополнительные страницы списков, которые бы содержали эти защищаемые поля. Далее потребуется запретить обычным пользователям открывать страницы, предназначены только для опытных пользователей. Этого можно добиться с помощью Web Part перенаправления, как в Bamboo Solutions (http://www.bamboosolutions.com/). Предлагаемый Web Part перенаправляет на другую страницу или сайт FrontPage тех пользователей, которые не являются членами определенной группы доступа. Следует иметь в виду, что такая пользовательская настройка страниц (Microsoft использует термин unghosting) потребует дополнительного сопровождения в дальнейшем.

Альтернативный подход заключается в создании настраиваемого определения списков (custom list definition). Этот метод позволяет достичь максимальной гибкости, в том числе позволяет управлять отображением списков. Если вы решили использовать данный метод, я рекомендую познакомиться со статьей MSDN "Creating a List Definition (Создание определения списка)" (http://msdn.microsoft.com/library/en-us/spptsdk/html/tsptCreateListTemplate_SV01016233.asp). Для управления отображением информации в зависимости от пользователя вам потребуется дополнить предлагаемый подход специализированным Web Part для управления отображаемой информацией. Дополнительные сведения о настраиваемых Web Parts можно найти в статье "A Developer's Introduction to Web Parts (Введение в Web Parts для разработчиков)" по адресу http://msdn2.microsoft.com/en-gb/library/ms916848.aspx.)

В. Как отобразить имя текущего пользователя на домашней странице SharePoint Portal?

О. Непонятно, почему эта функция не была предусмотрена в качестве стандартного элемента пользовательского интерфейса SharePoint Services 2.0 и Microsoft SharePoint Portal Server 2003. В новых версиях Windows SharePoint Services 3.0 и Microsoft Office SharePoint Server 2007 этот недочет исправлен, но если вы продолжаете использовать старые версии, задача вполне разрешима. Самый простой способ - воспользоваться Web Part независимых разработчиков, которые можно бесплатно загрузить из библиотеки Microsoft SharePoint Products and Technologies Web Component Directory at http://www.microsoft.com/sharepoint/downloads/components/detail.asp?a1=841.

Другой подход описан в блоге MSDN FrontPoint в посте Howto: Display the Username for the Logged on user on a page ("Как это делается: отображение на странице имени зарегистрировавшегося пользователя") (http://blogs.msdn.com/frontpoint/articles/123179.aspx). При этом используется Data View Web Part и Collaborative Application Markup Language (CAML). Прочитайте статью, чтобы выбрать наиболее подходящий для вас вариант.

В. В моей компании по всему миру работают 200 тренеров. Многим из них необходима возможность работы с доступом к автономным (offline) тренировочным материалам. Я хотел бы дать им представление библиотеки документов, содержащее только необходимые им документы, которые они смогли бы перетащить в папки на рабочем столе для дальнейшего автономного использования. Как это сделать?

О. Описанная вами бизнес-задача встречается довольно часто, но, к сожалению, SharePoint не предлагает простого решения. Компания Colligo Networks разработала продукт Colligo Reader for SharePoint, обеспечивающий именно такую функциональность. Более того, если вашим пользователям требуется доступ только для чтения, Colligo Reader можно использовать бесплатно. Сам продукт и документация доступны по адресу http://www.colligo.com/products/sharepoint/index.asp. Обратите внимание, что Windows SharePoint Services 3.0 предоставляет возможность синхронизации автономного контента. Таким образом, в предлагаемом сценарии тренеры смогут подписаться на библиотеку документов с помощью Microsoft Office Outlook 2007 и скопировать себе автономный контент, который можно будет отредактировать и загрузить на сервер.