Введение в разработку приложений SharePoint

Важно :  Данная статья переведена с помощью машинного перевода, см. Отказ от ответственности. Используйте английский вариант этой статьи, который находится здесь, в качестве справочного материала.

В этой статье

Общие сведения

Инструменты и технологии, используемые

Методологии архитектуры и разработки приложений

Реализации основных шаблонов разработки

Создание шаблонов

Сводка

Ресурсы

Введение

Windows SharePoint Services 3.0 — это технология Windows Server, которая обеспечивает интегрированные портфеля взаимодействие и совместная работа служб. Оно также платформой для разработки веб-бизнес-приложений. Пользуясь этой возможностью, корпорация Майкрософт разработала 40 приложения шаблонов для Windows SharePoint Services 3.0 для предоставления out box решения, которые соответствуют потребностям конкретных бизнес-процессов, таких как координация технической поддержки или отслеживания маркетинговых кампаний, как показано в примере на рисунке 1.

Начальная страница приложения "Интегрированное средство отслеживания маркетинговых кампаний"
Рисунок 1: Домашняя страница вида интегрированного приложения отслеживания маркетинговой кампании

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

В этой статье предназначена описывается, как корпорация Майкрософт разработала шаблонов приложений, идентифицирующий советы и рекомендации для работы с основные возможности в пределах Windows SharePoint Services 3.0 и Office SharePoint Designer 2007, с целью обеспечивает широкие возможности клиентам и партнерам для создания собственных приложений. Статья не заменой Windows SharePoint Services 3.0 SDK, и его в основном разработчик ресурса. Разработчики должны использовать SDK обычно понять, как повысить Windows SharePoint Services 3.0.

Данная статья ориентирована на новое поколение разработчиков веб-узлов. Поскольку Windows SharePoint Services и Office SharePoint Designer 2007 позволяют создавать значительную часть функций приложений с помощью пользовательского интерфейса, для создания мощных приложений не требуется большой опыт разработки. В этой статье описаны некоторые примеры реализации кода для особенно сложных случаев, но общая методология должна быть доступна непрофессиональным разработчикам и представлена с учетом этого требования. Разработчики могут быстро ознакомиться с первыми разделами, описывающими средства и методологию, и больше внимания уделить описанию шаблонов разработки и отдельным примерам реализации этих шаблонов.

С точки зрения структуры статьи первый раздел инструменты и технологии, используемыеОбзор возможностей в пределах Windows SharePoint Services 3.0 и Office SharePoint Designer 2007, которые используются в разработку приложений. В следующем разделе методологии архитектуры и разработки приложений, описывается, как правило, методологии, корпорация Майкрософт использует для всех шаблонов приложений. Методологии подход отвечающие здравому смыслу, которая приводит к действительным изучение назначения решение, как он будет используемых, кем и когда и какие части технологии приступить к крайний без написания пользовательского кода. Заканчивается процесс для идентификации там, где будет необходимо пользовательского кода или других пользовательских рабочих областей.

В следующем разделе статьи, Изменение основных шаблонов разработкирассматриваются о том, как использовать преимущества Windows SharePoint Services и Office SharePoint Designer 2007 для устранения распространенных требований разработки приложения, например, как создавать настраиваемые действия в списке. Это core эту статью, и его описаны способы шаблонов разработки, повторяющиеся через все шаблоны приложений (и, на самом деле, приложения, которые могут возникнуть с). В этом разделе приведены примеры для каждого из пяти образцов, включая рекомендации для работы с Windows SharePoint Services пользовательский Интерфейс или Office SharePoint Designer 2007 и некоторые пользовательского кода.

Последний раздел статьи, Создание шаблоновописано, как фактически создать файл шаблона с помощью Office SharePoint Designer 2007. Рассматриваются также других проблем, например локализации.

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

К началу страницы

Используемые средства и технологии

Есть ряд технологий и средств, объединение которых позволяет создавать приложения проще, чем когда-либо ранее. Если говорить о технологиях, то такие новые возможности, как поддержка рабочих процессов, означают, что разработчику узла не нужно писать код, чтобы создать рабочий процесс в приложении. Если говорить о средствах, то Office SharePoint Designer 2007, Microsoft Visual Studio 2005 и другие средства позволяют использовать все меньше и меньше кода (часто его вовсе нет) для решения задач, которые раньше считались очень сложными.

Как правило, при создании всех этих средств и технологий корпорация Майкрософт придерживалась стратегии, позволяющей переложить как можно больше "грязной" работы на саму инфраструктуру, чтобы можно было больше заниматься проектированием и меньше — разработкой. Иными словами, корпорация Майкрософт уже сделала большую часть сложной работы, поэтому вам остается просто использовать эти возможности в своих приложениях с помощью интуитивно понятного пользовательского интерфейса.

Чтобы пользователь был подготовлен и понимал, как разные технологии и средства объединяются в процессе создания приложений, в следующих разделах Windows SharePoint Services 3.0, Office SharePoint Designer 2007 и другие технологии рассматриваются с точки зрения новых компонентов и возможностей. Ссылки на дополнительные источники сведений приведены в конце данной статьи.

Windows SharePoint Services 3.0

Windows SharePoint Services 3.0 содержит некоторые новые возможности. Будут особенно важны для создания пользовательских приложений следующие новые возможности и функции, и вы увидите многие из них снова упомянутые в более поздней версии разделов:

  • Библиотеки и списки    В Windows SharePoint Services 3.0 добавлено несколько новых типов библиотек и списков, которые можно взять за основу приложения. Среди новых типов библиотек есть библиотека слайдов, которая специально разработана для хранения многократно используемых слайдов Microsoft Office PowerPoint 2007 и управления ими, библиотека подключений к данным и другие.

  • Типы содержимого     Концепция типов содержимого является ключевой в Windows SharePoint Services 3.0. Типы содержимого предназначены для того, чтобы помочь пользователям организовывать содержимое на узлах SharePoint более осмысленным способом. Тип содержимого — это повторно используемый набор параметров, которые можно применять к определенным категориям содержимого. Типы содержимого позволяют централизованно управлять метаданными и поведением документов или типов элементов, а также повторно использовать их. Например, рабочие процессы или события можно сопоставить с типом содержимого, а не добавлять их в несколько документов или библиотек.

  • Столбцы узлов    Столбцы узлов обеспечивают централизованную модель определения столбцов, которая позволяет повторно использовать их. При создании столбца узла в каждом списке, который использует этот столбец, имеется одно и то же определение, и необходимость в воспроизведении столбца в каждом списке отпадает. Столбцы узлов обеспечивают конечным пользователям возможность выбора столбцов из предварительно определенного набора столбцов, которые могут пригодиться в их списке. Поэтому их можно использовать не только для централизованного определения столбцов для привычных шаблонов списков; помимо этого они обеспечивают пользователям возможность использования специальных столбцов с особыми свойствами.

  • Рабочий процесс     В Windows SharePoint Services 3.0 рабочие процессы позволяют сопоставлять бизнес-процессы с элементами списков и библиотек. Благодаря этому можно практически полностью контролировать элементы, включая их жизненный цикл. Например, можно создать простой рабочий процесс, который направляет документ на утверждение нескольким пользователям. Обычно проектировщики и разработчики узлов создают специализированные рабочие процессы. Проектировщики узлов могут использовать для создания рабочих процессов Office SharePoint Designer 2007 и его среду конструктора рабочих процессов, а разработчики для создания более эффективных и сложных рабочих процессов могут использовать Visual Studio 2005.

  • Структура компонентов    В Windows SharePoint Services 3.0 есть новая структура, которая называется "компонент". В компоненте находится пакет элементов Windows SharePoint Services, которые помогают пользователю в выполнении определенной задачи. Компонент содержит один или несколько элементов. Элемент — это неделимая часть Windows SharePoint Services. Компоненты Windows SharePoint Services 3.0 обеспечивают структуру, возможности которой разработчик может использовать для реализации в решениях Windows SharePoint Services специальных возможностей. Компоненты также обеспечивают администраторам быстрый способ удаления и добавления функциональных пакетов.

  • Улучшенные события    События подразделяются на две основные категории, указанных ниже.

    • События списков    Основные события, включающие изменение, добавление и удаление элементов и столбцов списков (изменения схемы)

    • Простые события узлов    Удаление узлов и коллекций узлов

      События бывают синхронными "предварительными", которые имеют формат имени "XYZing", и асинхронными "последующими", которые имеют формат имени "ABCed".

  • Доступ с мобильных устройств   Windows SharePoint Services 3.0 предоставляет новые возможности, которые позволяют списки, чтобы правильно отображаться на мобильных устройствах. Когда пользователь переходит к узлу Windows SharePoint Services 3.0 с помощью мобильного устройства, их веб-браузере будут перенаправляться до версии мобильных конкретного сайта, который отображает контента сайтов и списков в формате, который наиболее подходит для устройства. 

Office SharePoint Designer 2007: главный инструмент для создания приложений SharePoint

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

  • создание представлений данных и форм для различных источников данных — таких как XML-файлы, базы данных SQL (например, Microsoft SQL Server 2005) — и веб-служб без использования кода;

  • создание сложных динамических рабочих процессов без использования кода;

  • создание макетов и оформление страниц;

  • создание основных страниц;

  • редактирование и связывание каскадных таблиц стилей (CSS);

  • создание страниц веб-частей и связывание веб-частей для создания сложных бизнес-приложений.

Visual Studio 2005

Visual Studio 2005 можно использовать для добавления пользовательского кода в приложения или создания пользовательских рабочих процессов. Для создания шаблонов рабочих процессов и действий пользовательских рабочих процессов можно использовать конструктор Visual Studio 2005 для Windows Workflow Foundation. В рабочий процесс можно включать код, а также можно разрабатывать формы, которые будут использоваться рабочим процессом для получения данных от пользователей в ходе связывания и выполнения.

Расширения Visual Studio 2005 для Windows SharePoint Services 3.0 — это свободно загружаемый пакет, в котором собран набор инструментов для разработки пользовательских приложений SharePoint с помощью Visual Studio 2005. В пакет входят шаблоны проектов Visual Studio для веб-частей, определения узлов, определения списков и отдельная служебная программа SharePoint Solution Generator, которая формирует проект определения узла на основе существующего узла SharePoint. Программа позволяет разработчикам использовать обозреватель и Office SharePoint Designer 2007 для настройки содержимого своих узлов перед созданием кода с помощью Visual Studio 2005.

Расширения Visual Studio 2005 для служб Windows SharePoint Services 3.0 была удалена, но по-прежнему имеют Visual Studio 2008 расширения для Windows SharePoint Services 3.0, версия 1.3.

Microsoft Office Access 2007

Microsoft Office Access 2007 позволяет создавать приложений для отслеживания, предлагая пользователю богатые возможности для ввода, управления и отчеты о данных для определенных сценариях. Дополнительные сведения о том, как разрабатывать, создание и совместное использование шаблонов Access просмотрите Rational руководство по началу работы для Microsoft Office Access 2007 шаблоныкниги.

Подходы и общие методы

В контексте методологии разработки, описанной в следующем разделе, создание приложения состоит из следующих общих этапов:

  1. выбор между определением узла или шаблоном узла;

  2. создание базовой части узла в Windows SharePoint Services 3.0 или Office SharePoint Server 2007;

  3. использование Office SharePoint Designer 2007 для открытия узла, внесения изменений и т. д.;

  4. при необходимости — использование Visual Studio 2005 для создания дополнительного пользовательского кода, настраиваемых рабочих процессов и т. д.

К началу страницы

Архитектура приложения и методология разработки

Как и любой проект разработки, проектирование и создание приложения Windows SharePoint Services имеет больше шансов на успех, если следовать проверенной методологии. В данном разделе описана методология, которую корпорация Майкрософт использовала при разработке всех загружаемых шаблонов приложений. В этом подходе нет ничего удивительного, особенно для опытных разработчиков, но в нем учтена некоторая специфика среды SharePoint, и он отражает опыт корпорации Майкрософт, поэтому в данном контексте он весьма полезен. Кроме того, данный раздел будет наиболее полезен для пользователей без опыта разработки, которые умеют пользоваться Windows SharePoint Services 3.0 и Office SharePoint Designer 2007.

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

Определение функциональных требований к приложению

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

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

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

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

  • Суть бизнес-процесса    В данном случае ответственный за проект создает проект, промежуточные отчеты, задачи и бюджетные операции, а затем следит за выполнением проекта. Ответственный за проект постоянно осуществляет доступ ко всем данным, а ответственный за задачу должен работать над данными при назначении ему задачи.

  • На основе данных?    Будет используются только данные в Windows SharePoint Services или будет вам нужен доступ к внешним данным (из базы данных, через веб-службы, через каталог бизнес-данных и т. д.), и вам нужно хранить данные за пределами Windows SharePoint Services ?

  • Отношения между данными    В данном случае требуются проект, отчет, задачи и вопросы. Они должны составлять логическую иерархию. Также в иерархию должны входить пользователи и точки данных и такие элементы, как бюджет, количество дней и им подобные.

Прекрасный способ найти ответы на большинство из этих вопросов — буквально нарисовать рисунки на доске, создавая несколько последовательных приближений бизнес-процесса и несколько вариантов (путем создания нескольких процессов, назначения задач двум или трем пользователям в проекте и т. д.). Концепция приложения для отслеживания проектов достаточно проста, а требования в данной ситуации достаточно ясны.

Проверка модели данных

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

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

Определение компонентов и их взаимосвязей

На этом этапе у нас есть хороший функциональное описание приложения. Следующим шагом является планирование архитектуры и решить, как использовать различные технологии и возможностей Windows SharePoint Services 3.0 и Office SharePoint Designer 2007. В каждом приложении предусматривает сочетание функций и возможностей, описанных в предыдущем разделе, инструменты и технологии, используемые, включая:

  • Списки и подстановки

  • Настраиваемые представления списков (группировка, сортировка, фильтрация и т. д. с помощью пользовательского интерфейса Windows SharePoint Services)

  • Делопроизводство

  • Настраиваемые страницы и настраиваемые представления данных в Office SharePoint Designer 2007

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

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

Начало создания компонентов приложения

Опять-таки, на данном этапе не требуется очень точное техническое задание. Важнее (будем считать, что уже есть хорошее представление об основном потоке данных и требованиях к пользовательскому интерфейсу) просто приступить к созданию приложения.

Буквально это означает создание нового узла с помощью готовых шаблонов в Windows SharePoint Services 3.0 или предварительное создание собственного шаблона и создание экземпляра узла на его основе. Для большинства приложений в качестве отправной точки, вероятно, просто будет использован шаблон "Узел группы" или "Пустой узел".

В приложении для отслеживания проектов сначала необходимо создать четыре списка ("Список проектов", "Задачи проекта", "Вопросы проекта" и "Отчеты проекта"). Затем для каждого из этих списков создаются настраиваемые столбцы. Windows SharePoint Services 3.0 позволяет создавать различные типы столбцов, среди которых Вариант, Число, Пользователь или группа и Подстановка (данные, которые уже есть на узле). В списке "Список проектов" в приложении для отслеживания проектов, созданном корпорацией Майкрософт, используется большинство из них, как показано на рисунке 2.

Настраиваемые столбцы в списке
Рисунок 2: Настраиваемые столбцы в списке

В основе столбца "Состояние" лежит тип Выбор, столбца "Бюджет" — Число (с использованием валюты) и т. д..

В списке "Отчеты проекта" используется столбец Подстановка, благодаря чему отчет можно связать с проектом отношением "родительский-дочерний". Создание столбца подстановки сводится просто к выбору списка, в котором будет производиться поиск, после чего из этого списка выбирается столбец (Windows SharePoint Services автоматически заполняет раскрывающиеся списки), как показано на рисунке 3.

Определение столбца подстановки для получения данных из другого списка
Рисунок 3: Определение столбца подстановки для получения данных из другого списка

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

Определение настройки, необходимой для приложения

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

  • Логика приложения в рабочем процессе    В готовых рабочих процессах, которые уже есть в Windows SharePoint Services 3.0 и Office SharePoint Server 2007, необходимо указать пользователя или группу, которым назначена задача. В нашем приложении для отслеживания проектов необходимо динамически определять получателя действия рабочего процесса на основе свойства Ответственный вопроса или задачи. Для создания динамического рабочего процесса для данного решения без написания кода можно использовать Office SharePoint Designer 2007.

  • Представления панели мониторинга и управляющего    Нам требуется способ комбинированного представления всех проектов, всех бюджетов и т. д. Для отображения общих и комбинированных данных на панели мониторинга легко можно использовать представления данных, не требующие написания кода.

  • Взаимоотношения "родительский–дочерний"    При создании задач возникает несколько вопросов, связанных с удобством использования. Возможно, для различных проектов нам потребуются определенные задачи по умолчанию, зависящие от страницы, на которой находится пользователь. Для добавления логики и автоматизации связывания одних элементов с другими можно воспользоваться Office SharePoint Designer 2007.

При создании сорока шаблонов приложений корпорация Майкрософт использовала такой же метод последовательных приближений, в результате чего был выработан набор логичных подходов, рекомендаций, схем принятия решений и т. д. Это позволило оптимизировать и распределить выполняемые задачи между Windows SharePoint Services 3.0 и Office SharePoint Designer 2007 и другими средствами. Эти подходы рассматриваются в следующем разделе данной статьи, где определяются пять "шаблонов проектирования" и способы их применения. При этом рассматриваются примеры из многих шаблонов приложений. По существу, оставшаяся часть этого документа более подробна и насыщена техническими деталями, чем рассмотрение методологии.

К началу страницы

Реализация общих шаблонов проектирования

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

Шаблоны проектирования:

  • Настраиваемые формы    Создание настраиваемого внешнего вида на некоторых этапах бизнес-процесса является определяющим фактором (это включает отображение только соответствующих свойств, которые можно изменять или которые требуются на определенном этапе).

  • Поток действий    Создание четко определенных действий, которые позволяют достичь нужному пользователю нужного результата (в данном случае требуется правильное управление переходами, которое зависит от выполняемого действия и пользователя, который выполняет это действие).

  • Отношения "родительский–дочерний"    Создание взаимосвязи между двумя или несколькими списками SharePoint для подстановки и обращения к ним.

  • Рабочие процессы    Использование Office SharePoint Designer 2007 для создания бизнес-процессов с помощью Windows Workflow Foundation.

  • Панели мониторинга    Использование веб-частей для создания единого представления данных, разбросанных по всему узлу, в одном месте.

Использование настраиваемых форм

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

Настройка под задачу

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

В Windows SharePoint Services по умолчанию каждый список дополнен формой редактирования. Однако для определенного этапа бизнес-процесса в этой форме может отображаться не совсем нужный набор полей, а поля могут не быть организованы так, чтобы сделать нужное действие понятным. Чтобы пользователи могли легко вводить правильные данные при выполнении действия, для каждого действия необходимо создать настраиваемую форму.

В решении для отслеживания ошибок используются настраиваемые формы редактирования, поэтому на каждом этапе процесса отслеживания ошибок сразу видно, какие сведения необходимо вводить для ошибки. У каждого действия в процессе отслеживания ошибок своя форма. Например, когда пользователь выбирает устранение ошибки, он перенаправляется на страницу устранения (Resolve.aspx). Эта страница позволяет вводить способ устранения ошибки и имя пользователя, который ее устранил. Для передачи изменений пользователь нажимает кнопку Исправить. Этим обеспечивается простой в использовании поток действий, который помогает в устранении ошибок и добавлении отсутствующих сведений.

Office SharePoint Designer 2007 делает задачу создания настраиваемой формы редактирования довольно простой. Для этого выполните действия, описанные ниже.

  1. Создайте копию формы по умолчанию EditForm.aspx и переименуйте ее.

    Важно : Важное значение имеет создание копии формы по умолчанию EditForm.aspx и ее переименование на первом шаге процесса. Если выполнить шаг 2 с исходной страницей EditForm.aspx, то список будет необратимо нарушен.

  2. Удалите из новой формы редактирования веб-часть "Форма списка".

  3. Вставьте представление данных, содержащее данные, которые необходимо отобразить (в меню Вставка выделите пункт Элементы управления SharePoint и выберите команду Форма настраиваемого списка).

  4. С помощью способа ВставкаOffice SharePoint Designer 2007 автоматически создает для формы кнопку Сохранить. В приведенном ниже коде показан пример настраиваемого HTML-кода для кнопки Сохранить.

<input type="button" value="Save" name="btnSave" onclick="javascript: {ddwrt:GenFireServerEvent('__commit;__redirectsource')}"/>

Переходы

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

У такого способа есть одно ограничение: при добавлении дополнительных ролей в решение для отображения различных панелей мониторинга для таких ролей необходимо будет создать дополнительные ASPX-страницы.

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

Назначение ролей пользователям

Существует множество способов создания ролей и их назначения пользователям. Лучшее решение данной задачи будет зависеть от требований конкретного приложения или организации. В Windows SharePoint Services нет готового способа назначения ролей. В некоторых случаях достаточно будет назначить роли после развертывания узла или позволить пользователям выбирать роли по необходимости.

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

Другие примеры этого шаблона проектирования

Еще один пример администратор сервера с помощью настраиваемых форм читайте в статье шаблон библиотеки приложений для служб Windows SharePoint Services 3.0.

Пример администратор сайта читайте в статье Управление процессом производства шаблон приложение для Windows SharePoint Services 3.0.

Управление потоком действий

Реальное приложение для Интернета, смоделированное для бизнес-процесса, редко состоит из одной веб-страницы или веб-части. Наоборот, в нем используются несколько таких компонентов, каждый из которых отвечает за отдельный этап бизнес-процесса. В результате понятные переходы между компонентами приобретают в проектировании приложения ключевое значение. Поэтому основу шаблона проектирования составляет управление потоком действий посредством привязки действий процесса к переходам, благодаря чему при выполнении определенного действия пользователь попадает на соответствующую следующую страницу или переходит к следующему действию.

Один из способов управления потоком действий заключается в использовании возможности "Настраиваемое действие" в Windows SharePoint Services 3.0, которая позволяет добавлять для элементов библиотеки свои действия во внедренную контекстную кнопку. Эта возможность имеет одно ограничение: действия должны быть жестко заданы и их нельзя параметризовать по имени элемента или по другому динамическому значению.

Другой способ, который позволяет встраивать в бизнес-процесс динамические действия, заключается в создании настраиваемых списков SharePoint и использовании "вычисляемых полей". В шаблоне приложения "Отслеживание ошибок" для отслеживания состояния и сведений об ошибке используется настраиваемый список "Ошибки". Использование вычисляемых полей позволило корпорации Майкрософт включить в представление списка настраиваемые ссылки, благодаря чему пользователь может выполнять для ошибок такие действия, как "Активировать" или "Устранить", каждое из которых перенаправляет пользователя на соответствующую настраиваемую страницу (см. предыдущий шаблон проектирования) для выполнения действий, необходимых для активации или устранения ошибки.

Вычисляемые поля — это компонент Windows SharePoint Services 3.0, который позволяет применять в списке SharePoint в качестве столбца настраиваемый шаблон обработки. Таким образом, действие бизнес-процесса (активация ошибки) отображается в столбце в виде кнопки, которая перенаправляет пользователя на нужную настраиваемую форму для выполнения этого бизнес-действия.

Вычисляемое поле поддерживает условия логика для выбора, отображается ли действие. Например если ошибки уже активирована, мы не показывать кнопку активировать. Вычисляемое поле добавляется в список SharePoint, добавив поле элемента файла схемы XML, который определяет список. <Field ID="{EA1D0509-767B-4576-ABEF-FC66647037B9}" Name="ActivateBug" Group="_Hidden" Type="Computed" Sortable="FALSE" Filterable="FALSE" DisplayName="$Resources:tsa,Activate_DispName;" ClassInfo="Icon" AuthoringInfo="$Resources:core,Linked_Item;"> <FieldRefs> <FieldRef ID="{94f89715-e097-4e8b-ba79-ea02aa8b7adb}" Name="FileRef"/> <FieldRef ID="{3f277a5c-c7ae-4bbe-9d44-0456fb548f94}" Name="Status"/> <FieldRef Name="ID" /> </FieldRefs> <DisplayPattern> <IfEqual> <Expr1>$Resources:core,Status_Active;</Expr1> <Expr2> <Field Name="Status"/> </Expr2> <Then> </Then> <Else> <HTML><![CDATA[<a href="]]></HTML> <HttpHost/> <UrlDirName> <HTML>/</HTML> <LookupColumn URLEncodeAsURL="TRUE" Name="FileRef"/> </UrlDirName> <HTML><![CDATA[/Activate.aspx?ID=]]></HTML> <Column HTMLEncode="TRUE" Name="ID"> </Column> <HTML><![CDATA[" onclick="GoToLink(this);return false;" target="_self">]]></HTML> <HTML><![CDATA[<img border="0" alt="]]></HTML> <HTML>$Resources:tsa,Activate_DispName;</HTML> <HTML><![CDATA[" src="]]></HTML> <HttpHost/> <UrlDirName> <HTML>/</HTML> <LookupColumn URLEncodeAsURL="TRUE" Name="FileRef"/> </UrlDirName> <HTML><![CDATA[/IMNBUSY.GIF">]]></HTML> <HTML><![CDATA[</a>]]></HTML> </Else> </IfEqual> </DisplayPattern> </Field>

В данном коде приведен XML-фрагмент для вычисляемого поля "Активация". Если ошибка не была активирована, в этом поле отображается активная ссылка состояния. Чтобы перейти к форме активации этой ошибки, пользователь может щелкнуть ссылку.

Элемент FieldRefs содержит ссылку на поле состояния в списке ошибок. Данная ссылка позволяет осуществлять настраиваемую обработку этого вычисляемого поля на основе состояния ошибки.

В поле DisplayPattern вычисляемого столбца содержатся вычисления и шаблон обработки для столбца. В данном примере для определения активного состояния ошибки используется оператор "if-then-else". Если ошибка активна, в поле "Активация" ничего не отображается. Если ошибка неактивна, отображается HTML-код из ветви Else. Этот HTML-код отображает изображение и ссылку, которую пользователь может щелкнуть для активации ошибки.

Другие примеры этого шаблона проектирования

Еще один пример администратор сервера управления потока операций читайте в статье шаблон библиотеки приложений для служб Windows SharePoint Services 3.0.

Например администратор сайта отображается шаблон приложения сайт действий сотрудников для Microsoft Windows SharePoint Services 3.0.

Использование отношений "родительский–дочерний"

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

Создание связи по умолчанию между новым элементом списка и существующим

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

Из страница сведений о проекте (DispForm.aspx) в нескольких отслеживания приложения шаблон проекта пользователь может создать новые задачи в разделе этого проекта. Новая страница создания задачи (NewForm.aspx) содержит раскрывающееся меню, где пользователи могут выбрать родительский проект для выполнения этой задачи. Чтобы сделать это значение по умолчанию в раскрывающемся списке отображается на странице, которую пользователь переход от родительского проекта, мы передать идентификатор родительского проекта NewForm.aspx в строке запроса. После этого с помощью JavaScript, мы разбор значения код проекта и выберите требуемый проект в раскрывающемся списке. <a href="../ProjectTasks/NewForm.aspx?ProjectID={$ProjectID}" onclick="javascript:this.href = unescapeProperly(escape(this.href)); GoToLink(this); return false;" target="_self">Create a new Task...</a>

Этот код отображает ссылку из страницы DispForm.aspx. Обратите внимание на то, что код проекта (ProjectID) включен в строку запроса.

При загрузке страницы NewForm.aspx сценарий JavaScript извлекает код проекта из строки запроса и изменяет раскрывающийся список проектов так, что выбирается нужный проект.

JavaScript содержащиеся в веб-части редактора содержимого на NewForm.aspx. Веб-части задано необходимо не chrome, чтобы оно не отображается на странице, если страница находится в режиме редактирования. JavaScript помещается внутри области редактора содержимого. <script type="text/javascript"> _spBodyOnLoadFunctionNames.push("fillDefaultValues"); function fillDefaultValues() { var qs = location.search.substring(1, location.search.length); var args = qs.split("&"); var vals = new Object(); for (var i=0; i < args.length; i++) { var nameVal = args[i].split("="); var temp = unescape(nameVal[1]).split('+'); nameVal[1] = temp.join(' '); vals[nameVal[0]] = nameVal[1]; } setLookupFromFieldName("Project", vals["ProjectID"]); setLookupFromFieldName("Milestone", vals["MilestoneID"]); } function setLookupFromFieldName(fieldName, value) { if (value == undefined) return; var theSelect = getTagFromIdentifierAndTitle("select","Lookup",fieldName); if (theSelect == null) { var theInput = getTagFromIdentifierAndTitle("input","",fieldName); ShowDropdown(theInput.id); var opt=document.getElementById(theInput.opt); setSelectedOption(opt, value); OptLoseFocus(opt); } else { setSelectedOption(theSelect, value); } } function setSelectedOption(select, value) { var opts = select.options; var l = opts.length; if (select == null) return; for (var i=0; i < l; i++) { if (opts[i].value == value) { select.selectedIndex = i; return true; } } return false; } function getTagFromIdentifierAndTitle(tagName, identifier, title) { var len = identifier.length; var tags = document.getElementsByTagName(tagName); for (var i=0; i < tags.length; i++) { var tempString = tags[i].id; if (tags[i].title == title && (identifier == "" || tempString.indexOf(identifier) == tempString.length - len)) { return tags[i]; } } return null; } </script>

КомандаspBodyOnLoadFunctionNames.push_добавляет функцию fillDefaultValues к списку сценариев для запуска во время загрузки.

Функция fillDefaultValues получает код проекта или отчета из строки запроса и передает его функции setSelectedOptions. Затем функция setSelectedOptions задает в качестве значения раскрывающегося списка код родительского проекта.

Другие примеры этого шаблона проектирования

Еще один пример администратор сервера с помощью представлений родители потомки читайте в статье Отслеживание запасов шаблон приложение для Windows SharePoint Services 3.0.

Например администратор сайта отображается шаблон Открытие нового магазина приложений для служб Windows SharePoint Services 3.0.

Использование рабочих процессов

В Windows SharePoint Services 3.0 используется модель Windows Workflow Foundation, которая позволяет добавлять в приложения логику рабочих процессов. В Office SharePoint Designer 2007 есть мощное средство проектирования правил для настройки и добавления условной логики в готовые рабочие процессы. Также в Visual Studio 2005 можно создавать более сложные настраиваемые процессы с использованием кода с помощью расширений Visual Studio 2005 для Windows Workflow Foundation. В любом случае существуют некоторые рекомендации по использованию рабочих процессов.

Рекомендации по использованию рабочих процессов

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

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

Рабочий процесс можно использовать как средство для упрощения в противном случае сложных задач программирования на сервере. Шаблон рабочего листка управления приложения для служб Windows SharePoint Services 3.0 показан пример. Это приложение отслеживает длительности работы сотрудников в рамках конкретного задания, вычисление разности времени между отметки в и ввожу out отметки времени. Как правило, позволяет отслеживать их отметки времени потребуется ведение журнала в этих двух действий (возможно, к базе данных) — на сервере заметное разработки приложения. Вместо этого это приложение использует один шаг простого рабочего процесса. Когда пользователь перфорация, рабочий процесс создает запись в списке журнала времени и задает значение времени начала текущего отметка времени. Аналогичным образом при перфорация пользователя, рабочий процесс обновления связанного строки в одном списке и задает значение времени окончания. Длительности работы пользователя разница просто между значения времени начала и время окончания которого отражаются в вычисляемом столбце метками часов.

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

Использование Office SharePoint Designer 2007 для создания настраиваемых рабочих процессов

Создание рабочих процессов с помощью Office SharePoint Designer 2007 не требует написания кода. Когда узел открыт, просто выберите меню Файл, выделите пункт Создать и выберите команду Рабочий процесс, а затем воспользуйтесь конструктором рабочих процессов. Он позволяет создавать сложные правила и действия и интегрирован со списками и библиотеками SharePoint, что позволяет использовать с логикой рабочего процесса поля и значения непосредственно из списков.

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

Сведения о рабочих процессах в Office SharePoint Designer 2007 читайте в статье Знакомство с Microsoft Office SharePoint Designer 2007.

Другие примеры этого шаблона проектирования

Другой сервер администрирования пример использования рабочих процессов читайте в статье заявками на персонал и управление во время интервью шаблон приложения для служб Windows SharePoint Services 3.0.

Пример администратор сайта читайте в статье клинического запуска пробной версии шаблона и управления ими приложений для служб Windows SharePoint Services 3.0.

Использование панелей мониторинга

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

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

Например, в приложении "Абонемент библиотеки" настраиваемые по ролям панели мониторинга используются для представления сведений, соответствующих пользователям в зависимости от их ролей. На главной странице узла доступны две страницы: одна предназначена для пользователей библиотеки (страница по умолчанию), а вторая — для библиотекаря.

Таким же образом в приложении "Служба поддержки" на главной странице доступны три представления панелей мониторинга: начальная страница сотрудника службы поддержки, начальная страница руководителя базы знаний и начальная страница руководителя службы поддержки. Пользователи выбирают гиперссылки, соответствующие их ролям. Представление веб-части, которое отображается на панели мониторинга, также фильтрует содержимое, чтобы пользователю отображались соответствующие данные. Это достигается посредством применения фильтра к представлению. Ниже описано, как фильтр применяется к существующему представлению списка.

  1. Перейдите в обозревателе к странице представления списка.

  2. Найдите на панели инструментов списка раскрывающийся элемент управления и выберите представление, которое необходимо изменить (если оно еще не выбрано).

  3. Снова перейдите к этому раскрывающемуся элементу управления и выберите пункт Изменить это представление.

  4. На странице "Изменение представления" воспользуйтесь прокруткой, чтобы перейти к разделу "Фильтр". Установите следующее значение фильтра:

    Показывать элементы, когда значение в столбце Создал равно [Me], или когда значение в столбце Клиент равно [Me].

  5. Нажмите кнопку ОК.

На начальной странице руководителя службы поддержки в приложении "Служба поддержки", показанном на рисунке 4, используются две веб-части панели мониторинга, на которых запросы обслуживания выведены в соответствии с состоянием и приоритетом в форме гистограммы.

Страница панели мониторинга
Рисунок 4: Страницы панели мониторинга

Все это веб-части представлений данных, которые отображают данные, содержащиеся в списке под названием "Запросы обслуживания", который также входит в состав узла решения "Служба поддержки". Чтобы лучше разобраться со способом создания этих веб-частей, откройте узел в Office SharePoint Designer 2007 и загрузите страницу HelpDeskManager.aspx, которая содержит эти веб-части. Просмотрите страницу в представлении "С разделением" и увидите, что код, скрывающийся за веб-частями, представляет собой набор языков разметки XLST, HTML и CSS.

Давайте разберемся, как создавались гистограммы в веб-части. В качестве примера возьмем веб-часть "Общий приоритет запросов обслуживания". Чтобы открыть область задач "Библиотека источников данных", в Office SharePoint Designer 2007 в меню Вставка выберите пункт Элементы управления SharePoint и выберите команду Представление данных. Эта область задач позволяет переходить к различным источникам данных, которые в данный момент доступны узлу, включая список, который уже находится на узле. В нашем случае необходимо развернуть раздел под названием Списки SharePoint и щелкнуть имя списка Запросы обслуживания, чтобы указать этот список в качестве источника наших данных. В открывшемся контекстном меню выберите команду Показать данные. При этом в области задач откроется новая панель с именем "Подробности источника данных", на которой находятся все поля и пример данных, хранящихся в списке "Запрос обслуживания". На этой панели выбираются поля с нужными именами, которые должны отображаться в веб-части — в нашем случае это поле Приоритет — и выбирается пункт Вставить выбранное поле как представление одного элемента (см. рис. 5).

Обратите внимание на то, что в данном случае преследуется цель отображения общего числа всех задач, сгруппированных по приоритету. Это означает, что параметры, доступные в поле Приоритет, должны быть перечислены только один раз, а затем необходимо в списке в ряд показать количество для каждого значения приоритета. Поэтому в качестве отправной точки для настройки выбирается отображение значений приоритета как Представление одного элемента. Если вместо этого выбрать Представление нескольких элементов, в списке будут отображены все строки.

Создание страницы панели мониторинга в SharePoint Designer
Рисунок 5: Создание страницы панели мониторинга в SharePoint Designer 2007

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

Мы знаем наш список источник данных имеет три возможных приоритет значения: Высокий (1), (2) обычный и низкий (3). Таким образом, мы XLST переменная объявляется для каждого значения следующим образом: <xsl:variable name="High" select="count(/dsQueryResponse/Rows/Row[normalize-space(@Priority) = '(1) High'])" /> <xsl:variable name="Normal" select="count(/dsQueryResponse/Rows/Row[normalize-space(@Priority) = '(2) Normal'])" /> <xsl:variable name="Low" select="count(/dsQueryResponse/Rows/Row[normalize-space(@Priority) = '(3) Low'])" /> <xsl:variable name="AllTasks" select="count(/dsQueryResponse/Rows/Row)" />

Обратите внимание, что параметр XSL @Priority ссылается на имя поля источника данных. Так как похож код для каждого значения трех приоритетов график, мы сосредоточиться на построения диаграмм только первое значение Priority (приоритет). Чтобы получить значение процент, мы определили новой переменной, percetHigh, чтобы вычислить процентное значение важное запросов: <xsl:variable name="percentHigh" select="$High div $AllTasks" />

Код, который создает панели фактические — XSL-шаблон, как показано ниже: <xsl:template name="ChartRow"> <xsl:param name="RowName"></xsl:param> <xsl:param name="Value"></xsl:param> <xsl:param name="PercentValue"></xsl:param> <tr> <td class="ms-formbody" width="125px" style="vertical-align:middle"> <xsl:value-of select="$RowName"/>: <xsl:value-of select="$Value" /> <xsl:text xmlns:ddwrt="http://schemas.microsoft.com/WebParts/v2/DataView/runtime" ddwrt:nbsp-preserve="yes" disable-output-escaping="yes"> &amp;nbsp; </xsl:text>( <xsl:call-template name="percentformat"> <xsl:with-param name="percent" select="$PercentValue"/> </xsl:call-template>) </td> <td> <table width="100%" > <tr> <td width="{round($PercentValue*100)+1}%" height="15px" class="ms-selected"><xsl:text xmlns:ddwrt="http://schemas.microsoft.com/WebParts/v2/DataView/runtime" ddwrt:nbsp-preserve="yes" disable-output-escaping="yes">&amp;nbsp;</xsl:text> </td> <td width="100%" > <xsl:text xmlns:ddwrt="http://schemas.microsoft.com/WebParts/v2/DataView/runtime" ddwrt:nbsp-preserve="yes" disable-output-escaping="yes">&amp;nbsp;</xsl:text> </td> </tr> </table> </td> </tr> </xsl:template>

Обратите внимание, что панели сам — это таблица с двумя ячейками. Ширина первую ячейку, представляющее ширину панели в графике определяется переменной PercentValue , представленной в виде коде: td width="{round($PercentValue*100)+1}%"

Эта ячейка имеет класс стиля CSS ms установлен, примененных к нему. Этот стиль класса определяется в стилей Core.CSS следующим образом: .ms-selected { background-position:left top; color:#000000; background-image:url("/_layouts/images/filedialogselected.gif"); background-color:#FFE499; border-top:1px solid #FFE499; border-bottom:1px solid #FFE499; background-repeat:repeat-x; }

Фоновое изображение, filedialogselected.gif, делает ячейку (т.е. столбец) желтой.

Другие примеры этого шаблона проектирования

Еще один пример администратор сервера с помощью панели мониторинга читайте в статье шаблона приложения центра обработки вызовов для служб Windows SharePoint Services 3.0.

Пример администратор сайта читайте в статье Создание отчетов о производительности бизнеса шаблон приложения для служб Windows SharePoint Services 3.0.

К началу страницы

Создание шаблонов

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

Определения узлов

В общих чертах определение узла — это набор XML-файлов, сборок и ASPX-страниц, которые определяют структуру узла и поведение базового приложения узла. Поскольку базовые XML- и ASPX-файлы доступны через файловую систему, их можно легко копировать и изменять для создания новых определений узлов, что делает определения узлов очень гибкими в настройке.

После создания заготовки узла с помощью определения узла изменения, внесенные в файлы определения узла в файловой системе, могут распространяться на эту заготовку. Однако изменение файлов определения узла после создания его заготовки не поддерживается корпорацией Майкрософт. Если в какую-либо из страниц заготовки узла вносятся изменения с помощью внешнего редактора, такого как Office SharePoint Designer 2007, страница теряет связь с определением узла в файловой системе. Вместо этого страница сохраняется в системе базы данных Windows SharePoint Services. Такая страница называется "настроенной" или "синхронизированной".

Необходима для настройки существующего определения сайта, подхода будет начинаться с переименованную копию определения сайта вместо изменение уже существующего. Чтобы внести изменения в существующее определение сайта после сайты уже предоставляемую формы его, необходимо создавать и развертывать пакета обновления решения определения сайта. Дополнительные сведения о том, как это сделать, увидеть соответствующие статьи в Windows SharePoint Services 3.0 SDK.

Шаблоны узла

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

Процесс сохранения существующего узла в шаблоне можно осуществить прямо из административных задач узла (в элементе Параметры узла) или из Office SharePoint Designer 2007. После создания шаблон узла сохраняется в коллекции шаблонов узлов текущей коллекции узлов. Файл имеет расширение STP. Этот файл можно загрузить из коллекции шаблонов узлов и добавить в другую коллекцию узлов или в среду другого сервера. В последней части данного раздела рассматриваются подробности создания и использования шаблона узла.

Сравнение определений узлов и шаблонов узлов

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

  • Сложность приложения    Если в существующий узел необходимо внести только косметические изменения, такие как изменение макетов и обработка изображений, то нужны шаблоны узлов. С другой стороны, если необходимо добавить новые определения веб-частей или использовать настраиваемый код или вычисляемые поля, то необходимо создать настраиваемое определение узла.

  • Уровень доступа к серверу    Имеется ли доступ ко всему веб-серверу? Или только к определенной коллекции узлов? Для создания и развертывания определения узла требуется доступ к файловой системе сервера. Если такой доступ отсутствует, то вы ограничены созданием шаблона узла на уровне коллекции узлов, к которой есть доступ. Следует учитывать то, что данное требование к доступу не распространяется на администраторов узлов — после развертывания любой пользователь, у которого есть права на создание узла, будет обладать доступом к любому типу шаблонов приложений.

  • Частота обновлений и изменений в будущем    Изменение шаблона узла не влияет на узлы, которые уже созданы из него, оно влияет только на более новые узлы, которые созданы после внесения изменений. Развертывание пакета обновления определения узла затрагивает все узлы, которые созданы из этого определения.

Руководство по созданию шаблонов узлов и определений узлов

Задача создания шаблонов узлов и определений узлов может иметь различную сложность. В следующих разделах описаны основные приемы.

Создание шаблона узла

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

  1. Откройте существующий узел с нужным макетом и содержимым в Office SharePoint Designer 2007.

  2. В меню Файл выделите пункт Экспорт и выберите команду Шаблон веб-узла SharePoint. При этом откроется веб-страница параметров узла.

  3. Введите имя файла, название и описание шаблона.

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

  5. Нажмите кнопку ОК. При этом на основе узла будет создан файл шаблона с расширением STP, который будет помещен в коллекцию шаблонов узлов родительского узла.

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

Создание определения узла

В отличие от шаблонов узлов определения узлов хранятся в файловой системе. Каждое определение узла находится в своей папке на сервере:

% CommonProgramFiles %\Microsoft Shared\Web server extensions\12\TEMPLATE\ SiteTemplates

В папке шаблона узла находятся различные элементы узла, такие, как ASPX- и HTML-файлы, а также связанные ресурсы, такие как изображения и файлы сценариев JavaScript. Основным файлом определения узла является файл ONET.XML, в котором определяются различные параметры и модули для определения узла. Файл ONET.XML хранится во вложенной папке с именем "XML".

Определения узлов регистрируются с помощью Windows SharePoint Services и становятся доступными с помощью файлов WEBTEMP XML. Все файлы WEBTEMP XML хранятся в папках

% CommonProgramFiles % \ Extensions\12\TEMPLATE\ сервера \Microsoft Shared\Web < LCID > \XML

где <LCID> — это код местоположения, например 1033. Фактическое имя XML-файла имеет префикс "WEBTEMP" (например, WEBTEMPBT.XML).

По сути, создание нового определения сайта состоит из двух основных этапов: (1) настройки папки определения сайта и (2) создание ВРЕМЕННЫЙ XML-файл, который будет зарегистрировать Windows SharePoint Services определения сайта. Первый шаг можно вносить, клонирования существующей папки определения сайта и изменив ее содержимое в соответствии с требованиями предприятия. ONET. XML-файл содержит элементы, которые определяют зарегистрированных как различные части страницы сайта, например панель навигации, шаблоны документов и шаблонов списков. Элемент конфигурации указывает списков и модули, созданные по умолчанию при создании определения сайта. Следующий фрагмент — от ONET. XML определения сайта отслеживания ошибок и представлена часть элемента конфигураций : <Configurations> <Configuration ID="0" Name="Default"> <SiteFeatures> <!-- BasicWebParts Feature --> <Feature ID="00BFEA71-1C5E-4A24-B310-BA51C3EB7A57" /> <!-- Three-state Workflow Feature --> <Feature ID="FDE5D850-671E-4143-950A-87B473922DC7" /> <!-- TSA Fields and Content Types --> <Feature ID="75A0FEA7-CD50-401e-AF0E-782F3662A299" /> </SiteFeatures> <WebFeatures> <!-- TeamCollab Feature --> <Feature ID="00BFEA71-4EA5-48D4-A4AD-7EA5C011ABE5" /> <!-- MobilityRedirect --> <Feature ID="F41CC668-37E5-4743-B4A8-74D1DB3FD8A4" /> <!-- Bug Tracking Categories List --> <Feature ID="75A0FEA7-42E8-4527-8313-F63C4C49A7E6" /> <!-- Bug Tracking Bugs List --> <Feature ID="75A0FEA7-2D1E-451a-B445-16BC346D7D8E" /> <!-- Bug Tracking Bugs List Instance --> <Feature ID="75A0FEA7-2D1E-451a-B445-16BC346D7D8F" /> ... ... <!-- Post Provisioning Event Handler --> <Feature ID="75A0FEA7-B0EF-434e-90D6-CE997D970564"> <Properties> <Property Key="ZonedWebPartsUrlList" Value="$Resources:core,lists_Folder;/Bugs/Resolve.aspx,$Resources:core,lists_Folder;/Bugs/Activate.aspx,$Resources:core,lists_Folder;/Bugs/Close.aspx"/> </Properties> </Feature> </WebFeatures> </Configuration> </Configurations>

Следует отметить, что в этом определении узла используется большое количество компонентов (например, список "Ошибки", список "Категории ошибок", "Перенаправление для мобильных устройств" и др. Эти компоненты перечислены в элементах SiteFeatures и WebFeatures с указанием их кодов GUID. Коды GUID находятся в элементе "Feature" в соответствующем файле Feature.XML, который находится в следующей папке:

% CommonProgramFiles %\Microsoft Shared\Web server extensions\12\TEMPLATE\FEATURES

Обратитесь к Windows SharePoint Services 3.0 SDK более подробные сведения о настройке ONET. XML.

Второй этап при создании настраиваемого определения узла заключается в создании файла WEBTEMP*.XML в следующей папке:

% CommonProgramFiles %\Microsoft Shared\Web server extensions\12\TEMPLATE\ < LCID > \XML

Элемент Шаблоны этот файл определяет конфигурации, которые можно использовать для создания экземпляра узлы, созданные из определения сайта. Ниже показан формат WEBTEMPbt.XML файл, который находится файл конфигурации, используемых определения сайта отслеживания ошибок: <?xml version="1.0" encoding="utf-8" ?> <Templates xmlns:ows="Microsoft SharePoint"> <Template Name="BT" ID="75801"> <Configuration ID="0" Title="Bug Database" Hidden="FALSE" ImageUrl="/_layouts/images/stsprev.png" Description="A site for teams to track bugs in their shared software projects." DisplayCategory="Application Templates" > </Configuration> </Template> </Templates>

Следует отметить, что атрибут Name приведенного выше узла "Template" должен соответствовать "*" в имени файла WEBTEMP*.XML. Кроме того, следует отметить, что атрибут DisplayCategory элемента Configuration определяет, на какой вкладке будет отображаться конфигурация в разделе "Выбор шаблона" веб-страницы "Создать узел". Помещая собственные значения в данный атрибут, можно создавать свои вкладки.

После того как файлах определения сайта был создан и помещен в соответствующие папки в файловой системе перезапустить службы IIS. Новое определение сайта будет доступен для выбора в разделе Выбор шаблона страницы Нового сайта SharePoint в Windows SharePoint Services. Файлы определения сайта можно также упаковать в виде файла решения простой переход к другой среде SharePoint или повторного развертывания в той же среде. Файл решения является CAB-файл с. Расширение WSP (для веб-решение пакет). Он содержит сборки компоненты веб-частей класса ресурсы, используемые в определении сайта и т. д. Можно использовать средство makecab.exe создать. WSP-файл. Обратитесь к Windows SharePoint Services 3.0 SDK о том, как создать файл решения.

Локализация определения узла

Локализация определения узла осуществляется на основе использования файлов ресурсов и определения культуры. Если локализация типового приложения ASP.NET 2.0 осуществляется на этапе компиляции, локализация узла SharePoint осуществляется во время его развертывания. Среди шаблонов приложений все 20 шаблонов определений узлов локализованы на 10 языков. Сами по себе определения узлов создаются в форме, которая не зависит от языка, а строковые постоянные хранятся в файлах ресурсов (RESX). Если необходимо добавить локализацию в определение собственного узла или добавить поддержку еще одного языка в существующее определение узла, это можно сделать, создав файл ресурсов. Файл сохраняется в каталоге "Resources" в следующем месте:

% CommonProgramFiles %\Microsoft Shared\Web server extensions\12\Resources

По существу это XML-файл, который можно изменить в любом текстовом редакторе. Ниже описано, как можно создать файл локализации для использования в определении узла.

  1. Перейдите в указанную выше папку "Resources" и найдите существующий файл RESX, который необходимо локализовать на новый язык.

  2. Скопируйте файл и присвойте ему такое же имя, за исключением названия языка региона (например, создайте из файла tsa-en-us.resx файл tsa-es-es.resx).

  3. Откройте скопированный файл в текстовом редакторе.

  4. Задайте код "lcid" во второй строке так, чтобы он отражал язык. Например, следующий код задает испанский язык:

<!-- _lcid="3082" _version="12.0.5006.3000" _dal="1" ––>

  1. Прокрутите страницу до части, в которой находятся элементы data в паре с элементами value. Здесь именам ресурсов присваиваются локализованные строковые значения. Измените значения строк в элементе value для своего региона. В следующем примере кода показана строка ресурса для действия Создать клиента на испанском языке:

    <data name="Action_NewCustomer">
    <value>Crear un Nuevo cliente</value>
    </data>
  2. Сохраните файл в папку ресурсов с именем, например myCustomResource.es-es.resx (фактическое имя зависит от имени языка, для которого предназначен файл ресурсов). Этот файл готов ссылаться на файлы определения сайта в приложении.

Чтобы локализованное определение узла отображалось в качестве доступного шаблона на странице Новый узел SharePoint для этого языка, также необходимо добавить файл WEBTEMP в соответствующий каталог <LCID>. Описание добавления нового файла WEBTEMP см. в предыдущем разделе, "Создание определения узла".

Ссылки на ресурсы локализованные работают в ASPX-файлах аналогичных в XML-файлы. Например ссылки в ASPX-файлы вычисляются во время выполнения, пока ссылки на файл XML вычисляются при создании веб-сайта. Чтобы получить доступ к XML-элементов в файле ресурсов в файле определения сайта, используется следующий синтаксис: $Resources: myCustomResource DataName. Например, для использования ресурсов строку из ASPX-файла, разметка может выглядеть приблизительно так: <div> <asp:Label runat="server" Text="<%Resources:myCustomResource, Action_NewCustomer %>" /> </div>

К началу страницы

суммарная задача,

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

Если вы еще этого не сделали, перейдите к загрузке шаблонов приложений и начните использовать их в Office SharePoint Designer 2007. Затем воспользуйтесь ресурсами из следующего раздела, которые помогут вам в создании собственного приложения.

К началу страницы

Ресурсы

Дополнительные сведения о Windows SharePoint Services 3.0 и Office SharePoint Designer 2007 см. в следующих ресурсах:

Дополнительные ресурсы для разработчиков см. по следующим ссылкам:

К началу страницы

Примечание : Отказ от ответственности относительно машинного перевода. Данная статья была переведена с помощью компьютерной системы без участия человека. Microsoft предлагает эти машинные переводы, чтобы помочь пользователям, которые не знают английского языка, ознакомиться с материалами о продуктах, услугах и технологиях Microsoft. Поскольку статья была переведена с использованием машинного перевода, она может содержать лексические,синтаксические и грамматические ошибки.

Совершенствование навыков
Перейти к обучению
Первоочередный доступ к новым возможностям
Присоединиться к программе предварительной оценки Office

Были ли сведения полезными?

Спасибо за ваш отзыв!

Благодарим за отзыв! Возможно, будет полезно связать вас с одним из наших специалистов службы поддержки Office.

×