97
Страница 1 Пошаговые руководства для разработчиков Данный документ предоставляется «как есть». Информация и взгляды, представленные в данном документе, включая URL-адреса и другие ссылки на веб-сайты в Интернете, могут быть изменены без уведомления. Риск, связанный с его использованием, несет читатель. Некоторые примеры, приводимые здесь, предоставлены только для иллюстрации и являются вымышленными. Любые совпадения с реально существующими объектами следует рассматривать как случайные. Данный документ не дает вам каких-либо законных прав на любую интеллектуальную собственность в любых продуктах Майкрософт. Разрешается копирование и использование данного документа для внутренних справочных целей. © Корпорация Майкрософт (Microsoft Corporation), 2010. Все права защищены. Microsoft, SharePoint, Visual Studio, InfoPath и Visio являются товарными знаками группы компаний Майкрософт. Все остальные товарные знаки являются собственностью их владельцев.

Share Point 2010 Developer Walk Through Guide

Embed Size (px)

Citation preview

Page 1: Share Point 2010 Developer Walk Through Guide

Страница 1

Пошаговые руководства

для разработчиков

Данный документ предоставляется «как есть». Информация и взгляды, представленные в данном

документе, включая URL-адреса и другие ссылки на веб-сайты в Интернете, могут быть изменены

без уведомления. Риск, связанный с его использованием, несет читатель.

Некоторые примеры, приводимые здесь, предоставлены только для иллюстрации и являются

вымышленными. Любые совпадения с реально существующими объектами следует рассматривать

как случайные.

Данный документ не дает вам каких-либо законных прав на любую интеллектуальную

собственность в любых продуктах Майкрософт. Разрешается копирование и использование данного

документа для внутренних справочных целей.

© Корпорация Майкрософт (Microsoft Corporation), 2010. Все права защищены.

Microsoft, SharePoint, Visual Studio, InfoPath и Visio являются товарными знаками группы компаний

Майкрософт. Все остальные товарные знаки являются собственностью их владельцев.

Page 2: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 2

Содержание

Упражнение 1. Пошаговое руководство по созданию веб-части с помощью Linq ......................................... 4 Задача 1. Создание нового проекта SharePoint ............................................................................................ 4 Задача 2. Создание прокси-класса LINQ-to-SharePoint для обращения к данным списка ....................... 7 Задача 3. Обращение к данным списка SharePoint в визуальной веб-части ........................................... 10 Задача 4. Построение и развертывание визуальной веб-части ................................................................ 12

Упражнение 2. Построение внешнего типа контента BCS ............................................................................. 17 Задача 1. Создание проекта модели каталога бизнес-данных ................................................................. 17 Задача 2. Обновление схемы класса сущностей ........................................................................................ 18 Задача 3. Обновление кода службы ............................................................................................................ 29 Задача 4. Построение и развертывание ...................................................................................................... 31

Упражнение 3. Создание приложения Silverlight для клиентской объектной модели SharePoint ............... 35 Задача 1. Создание проекта приложения Silverlight ................................................................................... 35 Задача 2. Написание кода для обращения к данным списка SharePoint и их визуализации ................. 37 Задача 3. Развертывание веб-части SharePoint Silverlight и ее тестирование ........................................ 41

Упражнение 4. Создание графа с помощью объектной модели SharePoint и графических элементов управления Silverlight ......................................................................................................................................... 43

Задача 1. Создание проекта приложения Silverlight ................................................................................... 43 Задача 2. Создание кода для обращения к данным списка Employee SharePoint и отображения его в элементе управления Silverlight Graph ........................................................................................................ 47 Задача 3. Развертывание веб-части SharePoint Silverlight для построения диаграмм и ее тестирование .................................................................................................................................................. 50

Упражнение 5. Создание веб-части для изолированного решения .............................................................. 54 Задача 1. Создание проекта изолированного решения с веб-частью ...................................................... 54 Задача 2. Добавление кода, отвечающего за запросы и визуализацию .................................................. 56 Задача 3. Построение и развертывание изолированного решения .......................................................... 59

Упражнение 6. Создание действия для использования в рабочем процессе конструктора SharePoint .... 64 Задача 1. Создание и подготовка проекта ................................................................................................... 64 Задача 2. Создание нового действия рабочего процесса, используемого рабочим процессом для повторного использования ............................................................................................................................ 66 Задача 3. Добавление кода, отвечающего за создание библиотеки документов на основе параметров, переданных в действие ................................................................................................................................. 68 Задача 4. Подготовка действия к развертыванию. ..................................................................................... 71 Задача 5. Добавление действия SPDActivityDemo, которое будет развернуто с помощью SPCHOL305Ex1. ............................................................................................................................................. 76 Задача 6. Настройка компонента с помощью конструктора компонентов ................................................ 78 Задача 7. Добавление кода в приемник компонента .................................................................................. 78 Задача 8. Создание рабочего процесса для повторного использования с помощью конструктора SharePoint ....................................................................................................................................................... 79 Задача 9. Импорт рабочего процесса для повторного использования в Visual Studio ........................... 87 Задача 10. Сопоставление рабочего процесса со списком в SharePoint ................................................. 94

Сводка по пошаговым руководствам ................................................................................................................ 97

Page 3: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 3

Следующие шесть руководств являются пошаговыми, иллюстрирующими ряд сценариев на C#, с которыми профессиональные разработчики столкнутся при использовании Visual Studio 2010 в SharePoint 2010. В этих пошаговых руководствах содержится достаточное количество снимков экрана, чтобы изучать документы, не имея практического доступа к соответствующему программному обеспечению. Эти руководства для разработчиков также доступны в виде практических занятий как часть данного курса eLearning: http://msdn.microsoft.com/ru-ru/sharepoint/ee513148.aspx (Возможно, на английском языке). В этом курсе также имеются дополнительные практические занятия, видеоматериалы, примеры кода и сетевые виртуальные лабораторные среды, а также практические занятия, доступные как на C#, так и на VB.NET. Отзывы об этом руководстве направляйте по электронной почте на адрес [email protected].

Page 4: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 4

Упражнение 1. Пошаговое руководство по созданию веб-части с помощью Linq

На выполнение этого упражнения понадобится примерно: 10 минут

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

1. Создание визуальной веб-части.

2. Создание прокси-кода Linq.

3. Использование поставщика Linq для считывания данных из списка SharePoint.

4. Отображение данных с помощью веб-элемента управления SPDataGrid.

Задача 1. Создание нового проекта SharePoint

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

1. Откройте Visual Studio 2010, последовательно выбрав элементы Пуск | Все программы | Microsoft Visual Studio 2010 | Microsoft Visual Studio 2010.

2. В меню последовательно выберите пункты Файл | Создать | Проект.

3. В диалоговом окне создания проекта выберите в установленных шаблонах элементы Visual C# | SharePoint | 2010.

4. В элементах проекта выберите пункт Визуальная веб-часть.

Page 5: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 5

Рисунок 1. Проект визуальной веб-части SharePoint 2010

5. В поле «Имя» введите SPCHOL200-Ex1.

6. В поле «Расположение» введите C:\SPHOLS\SPCHOL200\CS\Ex1.

7. Снимите флажок «Создать каталог для решения».

8. Нажмите кнопку OK.

9. В мастере настройки SharePoint выполните следующие действия.

Укажите http://intranet.contoso.com/ в качестве локального сайта.

Установите в качестве уровня доверия значение Развернуть как решение фермы.

Нажмите кнопку Готово.

Page 6: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 6

Рисунок 2. Мастер настройки SharePoint

10. Visual Studio создаст новый проект с именем SPCHOL200-Ex1 и добавит в него все необходимые файлы.

Рисунок 3. Проект SPCHOL200-Ex1

Page 7: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 7

11. Обратите внимание, что Visual Studio также создаст визуальную веб-часть с именем VisualWebPart1. В обозревателе решений разверните узел VisualWebPart1 и откройте VisualWebPart1.webpart.

Рисунок 4. Визуальная веб-часть

12. Измените значение атрибута имени с Title на SPLinqDemoTitle, а значение атрибута описания — с Description на SPLinqDemoPart Description. Это изменит значения свойств Title и Description визуальной веб-части при ее развертывании. Сохраните файл.

<properties> <property name="Title" type="string">SPLinqDemoTitle</property> <property name="Description" type="string">SPLinqDemoPart Description</property> </properties>

Задача 2. Создание прокси-класса LINQ-to-SharePoint для обращения к данным списка

В ходе этой задачи будет использована новая служебная программа по созданию кода spmetal.exe и создан прокси-код Linq-to-SharePoint.

1. В обозревателе решений щелкните правой кнопкой мыши SPCHOL200-Ex1 и выберите пункт Открыть папку в проводнике Windows.

2. Удерживая нажатой клавишу Shift и щелкнув правой кнопкой мыши где-либо в окне проводника, выберите пункт Открыть окно команд, чтобы открыть окно командной строки в каталоге текущего проекта:

Page 8: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 8

Рисунок 5. Открытие окна командной строки

3. Введите в командной строке следующую команду и нажмите клавишу ВВОД, чтобы задать путь к папке SharePoint 2010:

set path=%path%;c:\program files\common files\microsoft shared\web server extensions\14\bin

4. Введите в командной строке следующую команду и нажмите клавишу ВВОД, чтобы создать прокси-код Linq-to-SharePoint:

spmetal.exe /web:http://intranet.contoso.com /namespace:SPCHOL200_Ex1.VisualWebPart1 /code:SPLinq.cs

Примечание. Могут появиться предупреждения о типах контента для шаблонов форм типа «Список». Это предупреждение можно спокойно проигнорировать и продолжить.

5. Закройте окно командной строки и вернитесь в Visual Studio.

6. В Visual Studio щелкните правой кнопкой мыши проект SPCHOL200-Ex1 и последовательно выберите пункты Добавить | Существующий элемент.

Рисунок 6. Добавление существующего элемента

7. В диалоговом окне Добавление существующего элемента выберите элемент SPLinq.cs и нажмите кнопку Добавить:

Page 9: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 9

Рисунок 7. Добавление файла SPLinq.cs

8. В обозревателей решений правой кнопкой мыши щелкните пункт Ссылки и выберите команду Добавить ссылку.

9. Перейдите на вкладку Обзор и укажите строку C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\ISAPI в поле Имя файла. Нажмите клавишу ВВОД, чтобы изменить каталоги. Окно «Добавление ссылки» теперь должно выглядеть, как показано на рисунке 8.

10. Выберите Microsoft.SharePoint.Linq.dll.

Page 10: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 10

Рисунок 8. Добавление ссылки

11. Нажмите кнопку OK, чтобы добавить ссылку в проект.

Задача 3. Обращение к данным списка SharePoint в визуальной веб-части

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

1. В обозревателе решений разверните узел VisualWebPart1 и дважды щелкните пункт VisualWebPart1UserControl.ascx.

2. Visual Studio откроет пользовательский элемент управления Visual Web Part.

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

Page 11: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 11

<%@ Import Namespace="Microsoft.SharePoint.WebControls" %>

<SharePoint:SPGridView id="spGridView" runat="server"

AutoGenerateColumns="false">

<HeaderStyle HorizontalAlign="Left" ForeColor="Navy" Font-Bold="true" />

<Columns>

<SharePoint:SPBoundField DataField="Title"

HeaderText="Title"></SharePoint:SPBoundField>

<SharePoint:SPBoundField DataField="JobTitle"

HeaderText="JobTitle"></SharePoint:SPBoundField>

<SharePoint:SPBoundField DataField="ProjectTitle"

HeaderText="ProjectTitle"></SharePoint:SPBoundField>

<SharePoint:SPBoundField DataField="DueDate"

HeaderText="DueDate"></SharePoint:SPBoundField>

</Columns>

</SharePoint:SPGridView>

Фрагменты кода: ASP.NET | spchol200_ex1_spgridview

4. После добавления вышеприведенного кода пользовательский элемент управления Visual Web Part должен выглядеть следующим образом:

Рисунок 9. Пользовательский элемент управления Visual Web Part

5. В обозревателе решений щелкните правой кнопкой мыши пункт VisualWebPart1UserControl.ascx и выберите команду Перейти к коду.

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

using Microsoft.SharePoint.Linq; using Microsoft.SharePoint; using System.Linq;

Фрагмент кода: My Code Snippets | spchol200_ex1_namespaces

7. Вставьте в метод Page_Load следующий код:

var dc = new SPLinqDataContext(SPContext.Current.Web.Url); var Employees = dc.GetList<EmployeesItem>("Employees");

Page 12: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 12

var empQuery = from emp in Employees where emp.Project.DueDate < DateTime.Now.AddMonths(6) select new { emp.Title, emp.JobTitle, ProjectTitle = emp.Project.Title, DueDate = emp.Project.DueDate.Value.ToShortDateString() }; spGridView.DataSource = empQuery; spGridView.DataBind();

Фрагмент кода: My Code Snippets | spchol200_ex1_pageload

Задача 4. Построение и развертывание визуальной веб-части

1. В обозревателе решений щелкните правой кнопкой мыши пункт SPCHOL200-Ex1 и выберите команду Развертывание. В результате визуальная веб-часть будет развернута и построена на локальном сайте SharePoint: http://intranet.contoso.com

Рисунок 10. Развертывание визуальной веб-части

2. Откройте Internet Explorer и перейдите на следующий сайт:

http://intranet.contoso.com

3. Если будет затребована проверка подлинности, введите следующие данные.

Имя пользователя: Administrator

Пароль: pass@word1

4. Щелкните значок Изменить в главном меню, чтобы открыть ленту SharePoint со средствами правки.

Page 13: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 13

Рисунок 11. Значок «Изменить» в SharePoint

Рисунок 12. Лента SharePoint — страница редактирования

5. Перейдите на вкладку Вставка ленты и щелкните элемент Веб-часть, чтобы вставить веб-часть на страницу.

Page 14: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 14

Рисунок 13. Лента SharePoint — вставка веб-части

6. В разделе Категории выберите Настраиваемые.

7. В разделе Веб-части выберите веб-часть SPLinqDemoTitle.

Рисунок 14. Выбор веб-части SPlinqDemoTitle

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

Page 15: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 15

документы».

Рисунок 15. Зоны макета

8. Нажмите кнопку Добавить, чтобы добавить веб-часть на страницу. В результате веб-часть SPLinqDemoTitle будет добавлена в выбранную зону макета.

Page 16: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 16

Рисунок 16. Веб-часть SPLinqDemoTitle добавлена в зону макета

9. Щелкните страницу, затем щелкните стрелку вниз на кнопке Сохранить и закрыть, и выберите команду Остановить изменение, чтобы сохранить страницу и завершить ее редактирование. В ответ на запрос о сохранении внесенных изменений нажмите кнопку Да.

Рисунок 17. Лента SharePoint — завершение редактирования

10. Закройте Internet Explorer.

11. Закройте Visual Studio 2010.

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

Page 17: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 17

Упражнение 2. Построение внешнего типа контента BCS

Это упражнение посвящено изучению процесса создания внешнего типа контента с помощью

шаблона проекта модели подключения к бизнес-данным Visual Studio 2010 и расширения

внешнего типа контента.

Задача 1. Создание проекта модели каталога бизнес-данных

1. Откройте Visual Studio 2010, последовательно выбрав элементы Пуск | Все программы | Microsoft Visual Studio 2010 | Microsoft Visual Studio 2010; затем выберите в меню пункты Файл | Создать | Проект.

2. Последовательно выберите элементы Visual C# | SharePoint | 2010 |, а затем шаблон проекта Модель подключения к бизнес-данным.

3. В поле «Имя» введите BDCEx1.

Рисунок 18. Диалоговое окно «Создать проект»

4. В поле «Расположение» введите C:\SPHOLS\SPCHOL304\CS\Ex1.

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

Page 18: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 18

6. Измените URL-адрес на http://intranet.contoso.com.

7. Выберите переключатель Развернуть как решение фермы.

Рисунок 19. Мастер настройки SharePoint

8. Нажмите кнопку Готово.

Задача 2. Обновление схемы класса сущностей

1. В главном меню последовательно выберите пункты Режим | Обозреватель решений. В обозревателе решений, переименуйте объект Entity1.cs в Customer.cs, а объект Entity1Service.cs — в CustomerService.cs. При запросе подтверждения нажмите кнопку Да:

Page 19: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 19

Рисунок 20. Запрос переименования файла Visual Studio

2. В обозревателе решений дважды щелкните Customer.cs, если он еще не открыт. Замените код в теле класса Customer следующим кодом. Этот код добавляет два дополнительных свойства и изменяет тип третьего на сопоставление для дескрипторов типа, которые были добавлены и изменены в определении подключения к бизнес-данным. Следует отметить, что при изменении Identifier1 на CustomerId можно использовать глиф, который появляется в редакторе, для переименования всех ссылок на поле Identifier1. Это не поможет в данном случае, но является рекомендуемым действием.

public Int32 CustomerId { get; set; }

public string Message { get; set; }

public string FirstName { get; set; }

public string LastName { get; set; }

Фрагмент кода: My Code Snippets | spchol304_ex1_customer

Рисунок 21. Класс Customer после изменений в теле

Page 20: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 20

Задача 3. Расширение метаданных BCS для внешнего типа контента 1. В обозревателе решений откройте BdcModel1.bdcm, если конструктор подключений к

бизнес-данным еще не открыт.

Рисунок 22. Обозреватель решений, отображающий BDCModel1.bdcm в конструкторе подключений к бизнес-данным.

2. В конструкторе выберите объект Entity1, щелкнув заголовок.

Рисунок 23. Объект Entity1

3. Переименуйте Entity1 в Customer, щелкнув имя Entity1 в конструкторе и нажав клавишу F2 (можно также изменить имя из таблицы свойств).

4. Выделите Identifier1 в конструкторе объектов и нажмите клавишу F4, чтобы открыть таблицу свойств. С помощью таблицы свойств переименуйте Identifier1 в CustomerId и задайте для его свойства «Имя типа» значение System.Int32.

Page 21: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 21

Рисунок 24. Панель свойств после изменения имени типа

5. В обозревателе подключений к бизнес-данным Visual Studio последовательно разверните узлы Модель | BDCModel1 | BDCModel1 | Customer | ReadList | returnParameter. Щелкните элемент Entity1List, чтобы открыть его таблицу свойств.

Рисунок 25. Обозреватель подключений к бизнес-данным с выделенным объектом Entity1List

6. С помощью таблицы свойств переименуйте Entity1List в CustomerList.

Page 22: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 22

7. В обозревателе подключений к бизнес-данных разверните узел CustomerList.

Рисунок 26. Обозреватель подключений к бизнес-данным с выделенным объектом Entity1

8. С помощью таблицы свойств переименуйте Entity1 в Customer.

В обозревателе подключений к бизнес-данным разверните узел Customer и с помощью таблицы свойств переименуйте Identifier1 в CustomerId и установите свойство TypeName в значение System.Int32.

Page 23: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 23

Рисунок 27. Таблица свойств после изменения Identifier1

9. В обозревателе подключений к бизнес-данным щелкните правой кнопкой мыши узел Customer и выберите команду Добавить дескриптор типа.

Рисунок 28. Контекстное меню объекта Customer

10. Выберите объект TypeDescriptor и с помощью таблицы свойств измените значение свойства Name на FirstName.

11. В обозревателе подключений к бизнес-данным щелкните правой кнопкой мыши узел Customer и выберите команду Добавить дескриптор типа.

12. Выберите объект TypeDescriptor и с помощью таблицы свойств измените значение свойства Name на LastName.

Рисунок 29. Объект Customer в обозревателе подключений к бизнес-данным после добавления дескрипторов типа FirstName и LastName

13. В обозревателе подключений к бизнес-данным щелкните правой кнопкой мыши узел Customer и выберите команду Копировать.

Рисунок 30. Контекстное меню объекта Customer

14. В обозревателе подключений к бизнес-данным разверните метод ReadItem, щелкните правой кнопкой мыши пункт returnParameter и выберите команду Вставить.

Page 24: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 24

Рисунок 31. Контекстное меню объекта returnParameter

15. Нажмите кнопку Да.

Рисунок 32. Запрос на подтверждение замены дескриптора типа

16. Последовательно разверните узлы returnParameter | Customer и убедитесь, что дескрипторы типов FirstName и LastName успешно скопированы.

Page 25: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 25

Рисунок 33. Обозреватель подключений к бизнес-данным после изменений, внесенных в шагах с 1-го по 18-й задачи 1

Page 26: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 26

17. В обозревателе подключений к бизнес-данным последовательно разверните узлы

ReadItem | id и выберите пункт Identifier1.

18. С помощью таблицы свойств переименуйте Identifier1 в CustomerId и установите TypeName в значение System.Int32.

Рисунок 34. Таблица свойств после изменения Identifier1

19. Использование области сведений метода подключения к бизнес-данным для добавления

метода обновления

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

Page 27: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 27

20. Добавьте параметр и назовите его «id»

Рисунок 36. Добавление параметра «id» в метод обновления

Page 28: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 28

21. Откройте новый метод обновления в окне обозревателя подключений к бизнес-данным.

22. Скопируйте дескриптор типа из параметра @id метода ReadItem, расположенного в описании типа CustomerId, в параметр @id метода Update.

23. Измените свойство Pre-Updater параметра «id», установив его в значение True.

Рисунок 37. Обновление поля Pre-Updater в значение True

Page 29: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 29

Задача 3. Обновление кода службы

1. В обозревателе решений откройте файл CustomerService.cs.

2. Замените код в теле класса CustomerService следующим кодом. В результате будет возвращен клиент на основе его идентификатора, а при явном запросе — массив клиентов.

public static Dictionary<Int32, Customer> d = null;

public static Customer ReadItem(Int32 id)

{

// take a copy for SharePoint

Customer c = new Customer();

Customer e = d[id];

c.CustomerId = e.CustomerId;

c.FirstName = e.FirstName;

c.LastName = e.LastName;

c.Message = e.Message;

return c;

}

public static IEnumerable<Customer> ReadList()

{

// this is usually the first method called so check for null

if (d == null)

{

d = new Dictionary<Int32, Customer>();

for (int i = 0; i < 10; i++)

{

Customer e = new Customer();

e.CustomerId = i;

e.Message = i + " Item Data";

e.FirstName = i + " First Name";

e.LastName = i + " Last Name";

d.Add(i, e);

}

}

return d.Values;

}

public static void Update(Customer customer, Int32 id)

{

d[id].FirstName = customer.FirstName;

d[id].LastName = customer.LastName;

d[id].Message = customer.Message;

}

Фрагмент кода: My Code Snippets | spchol304_ex1_customerservice

Page 30: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 30

Рисунок 38. Класс CustomerService после изменений

3. В обозревателе решений разверните папку Features и дважды щелкните узел

Feature1.feature. Откроется конструктор компонентов.

4. Перейдите на вкладку Манифест внизу конструктора компонентов.

5. Щелкните глиф «+» рядом с пунктом Параметры правки, чтобы открыть редактор шаблонов.

6. Добавьте новое свойство (Property) для URL-адреса сайта.

<Property Key="SiteUrl" Value="http://intranet.contoso.com" />

Page 31: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 31

Теперь конструктор компонентов должен выглядеть как Рисунок 39.

Рисунок 39. Конструктор компонентов с добавленным свойством SiteUrl

Задача 4. Построение и развертывание

1. В меню последовательно выберите пункты Построить | Развернуть BDCEx1.

2. Откройте http://intranet.contoso.com в сеансе браузера.

3. Щелкните ссылку Списки в левой области навигации

Рисунок 40. Ссылка «Списки»

4. Щелкните ссылку Создать.

Рисунок 41. Ссылка «Создать»

Page 32: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 32

В диалоговом окне «Создание» выберите пункт External List и команду Создать.

Рисунок 42. Диалоговое окно «Создание внешнего списка»

5. В поле «Имя» введите Мои контакты.

6. Нажмите вторую кнопку справа от поля «Внешний тип контента» (кнопку с подсказкой «Выберите внешний тип контента»).

Рисунок 43. Страница создания нового внешнего списка

Page 33: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 33

7. Выберите BDCEx1.BDCModel1.Customer и нажмите кнопку OK.

Рисунок 44. Средство выбора бизнес-данных — диалоговое окно «Веб-страница»

Рисунок 45. Страница нового внешнего списка

Page 34: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 34

8. Нажмите кнопку Создать.

9. Только что был создан внешний тип контента и список для размещения этого типа контента.

Рисунок 46. Отображающийся в списке внешний тип контента (модель подключения к бизнес-данным)

Page 35: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 35

Упражнение 3. Создание приложения Silverlight для клиентской объектной модели SharePoint

В ходе этого упражнения будет создано простое приложение Silverlight, отображающее список SharePoint в сетке данных. Данные для списка извлекаются с сервера, поэтому он доступен в Silverlight через клиентскую объектную модель SharePoint. Будет использоваться решение Visual Studio 2010, которое будет развернуто на локальном сервере SharePoint.

Задача 1. Создание проекта приложения Silverlight

Начнем с создания проекта стандартного приложения Silverlight. 1. Откройте Visual Studio 2010, последовательно выбрав элементы Пуск | Все программы |

Microsoft Visual Studio 2010 | Microsoft Visual Studio 2010.

2. В меню последовательно выберите пункты Файл | Создать | Проект.

3. В диалоговом окне создания проекта в левом меню установленных шаблонов последовательно выберите элементы Другие типы проектов | Решения Visual Studio | Новое решение.

4. Выберите .NET Framework 3.5

5. Назовите это решение Begin.

6. В поле «Расположение» введите C:\SPHOLS\SPCHOL306\CS\Ex1\.

Рисунок 47. Диалоговое окно «Создать проект»

Page 36: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 36

7. Нажмите кнопку OK, чтобы продолжить.

8. В меню последовательно выберите пункты Файл | Добавить | Новый проект.

9. В диалоговом окне создания проекта в левом меню Установленные шаблоны последовательно выберите пункты Visual C# | Silverlight, а затем выберите тип проекта Приложение Silverlight в списке типов проекта в центральной части экрана.

10. Выберите .NET Framework 3.5

11. Назовите этот проект SPSilverlightExample.

12. Не изменяйте расположение.

Рисунок 48. Диалоговое окно добавления нового проекта

13. Нажмите кнопку OK, чтобы продолжить.

Рисуно 49. Диалоговое окно добавления приложения Silverlight

Page 37: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 37

14. Нажмите кнопку OK, чтобы создать проект.

15. Теперь в проект SPSilverlightExample будут добавлены ссылочные сборки на клиентскую объектную модель SharePoint Silverlight. Щелкните правой кнопкой мыши пункт Ссылки в проекте SPSilverlightExample и выберите команду Добавить ссылку.

16. Перейдите в папку «C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\LAYOUTS\ClientBin».

17. Выберите файлы Microsoft.SharePoint.ClientSilverlight.dll и Microsoft.SharePoint.Client.Silverlight.Runtime.dll (удерживайте нажатой клавишу CTRL, чтобы выбрать несколько файлов).

18. Нажмите кнопку OK, чтобы добавить ссылки на выбранные библиотеки DLL.

Рисунок 50. Добавление ссылок

Задача 2. Написание кода для обращения к данным списка SharePoint и их визуализации

1. В Visual Studio откройте Панель элементов и разверните узел Все элементы управления Silverlight.

2. Перетащите элемент управления DataGrid в существующую сетку в конструкторе Silverlight Page.xaml.

Page 38: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 38

Рисунок 51. Панель элементов управления Silverlight

3. Разверните элемент DataGrid так, чтобы он занял всю страницу, перейдя в таблицу свойств и установив для его свойств Width и Height значение Auto, для свойств HoriztonalAlignment и VerticalAlignment значение Stretch, а для свойства Margin — значение 0.

Рисунок 52. Свойства DataGrid

Page 39: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 39

4. Также следует установить флажок AutoGenerateColumns (или в XAML установить это свойство в значение «true»).

Рисунок 53. Свойство AutoGenerateColumns

5. Откройте файл App.xaml.cs и добавьте в начало этого файла следующие операторы using:

using Microsoft.SharePoint.Client;

using System.Threading;

Фрагмент кода: My Code Snippets | spchol306_ex1_app_namespaces

6. Добавьте следующий код в начало метода Application_Startup.

ApplicationContext.Init(e.InitParams, SynchronizationContext.Current);

Фрагмент кода: My Code Snippets | spchol306_ex1_ application_startup

7. Откройте файл MainPage.xaml.cs и добавьте в начало этого файла следующие операторы using:

using Microsoft.SharePoint.Client;

Фрагмент кода: My Code Snippets | spchol306_ex1_page_namespaces

8. Перед классом MainPage добавьте следующий класс:

public class Project

{

public string Title { get; set; }

public DateTime DueDate { get; set; }

public string Description { get; set; }

}

Фрагмент кода: My Code Snippets | spchol306_ex1_ classes

9. Добавьте в класс MainPage следующую переменную:

private ListItemCollection _projects;

Фрагмент кода: My Code Snippets | spchol306_ex1_ property

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

Page 40: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 40

ClientContext context = new ClientContext(ApplicationContext.Current.Url);

context.Load(context.Web);

List Projects = context.Web.Lists.GetByTitle("Projects");

context.Load(Projects);

CamlQuery query = new Microsoft.SharePoint.Client.CamlQuery();

string camlQueryXml = "<View><Query><Where><Gt>" +

"<FieldRef Name='Due_x0020_Date' />" +

"<Value Type='DateTime'>2008-01-1T00:00:00Z</Value>" +

"</Gt></Where></Query><ViewFields>" +

"<FieldRef Name=\"Title\" /><FieldRef Name=\"Description\" />" +

"<FieldRef Name=\"Due_x0020_Date\" />" +

"</ViewFields></View>";

query.ViewXml = camlQueryXml;

_projects = Projects.GetItems(query);

context.Load(_projects);

context.ExecuteQueryAsync(new

ClientRequestSucceededEventHandler(OnRequestSucceeded), null);

Фрагмент кода: My Code Snippets | spchol306_ex1_initializecomponent

11. Добавьте следующий код после конструктора:

private void OnRequestSucceeded(Object sender, ClientRequestSucceededEventArgs

args)

{

// this is not called on the UI thread

Dispatcher.BeginInvoke(BindData);

}

private void BindData()

{

List<Project> projects = new List<Project>();

foreach (ListItem li in _projects)

{

projects.Add(new Project()

{

Title = li["Title"].ToString(),

DueDate = Convert.ToDateTime(li["Due_x0020_Date"].ToString()),

Description = li["Description"].ToString()

});

}

dataGrid1.ItemsSource = projects; // must be on UI thread

}

Фрагмент кода: My Code Snippets | spchol306_ex1_methods

Этот код инициализирует контекст объектной модели клиента SharePoint Silverlight (ClientContext). Затем он получает ссылку на список проектов и выполняет простой запрос CAML в список для извлечения всех проектов, дата выполнения которых позднее 1 января 2008 г. Результаты преобразуются в список проектов и связываются с элементом управления Silverlight DataGrid.

Page 41: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 41

Задача 3. Развертывание веб-части SharePoint Silverlight и ее тестирование

Чтобы развернуть решение в SharePoint, конечный XAP-файл, созданный проектом Silverlight, должен находиться в папке C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\LAYOUTS\ClientBin.

1. Щелкните правой кнопкой мыши проект SPSilverlightExample, выберите свойства и перейдите на вкладку Построение.

2. Измените путь выходного файла на C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\LAYOUTS\ClientBin.

Рисунок 54. Свойства проекта

3. Постройте решение. XAP-файл будет скопирован в нужный каталог SharePoint, и все будет готово к добавлению веб-части Silverlight на веб-сайт SharePoint.

4. Откройте Internet Explorer и перейдите на сайт http://intranet.contoso.com.

5. Щелкните значок Изменить вверху страницы.

6. Перейдите на вкладку Вставка и щелкните элемент Веб-часть.

7. В списке категорий выберите пункт Среда и контент, в списке веб-частей выберите Веб-часть Silverlight и нажмите кнопку Добавить.

8. В появившемся диалоговом окне «Веб-часть Silverlight» укажите /_layouts/ClientBin/SPSilverlightExample.xap в качестве URL-адреса.

Page 42: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 42

Рисунок 55. Диалоговое окно «URL-адрес веб-части Silverlight»

9. Нажмите кнопку OK, чтобы сохранить веб-часть Silverlight.

10. Выйдите из режима редактирования.

11. Завершенная веб-часть будет выглядеть на странице SharePoint следующим образом:

Рисунок 56. Завершенная веб-часть Silverlight

В этом упражнении было создано простое приложение Silverlight, отображающее список SharePoint в сетке данных. Данные для списка извлекаются с сервера, поэтому он доступен в Silverlight через клиентскую объектную модель SharePoint.

Page 43: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 43

Упражнение 4. Создание графа с помощью объектной модели SharePoint и графических элементов управления Silverlight

В ходе этого упражнения снова будет использоваться объектная модель SharePoint для обращения к данным списка SharePoint, но на этот раз для отображения данных в графе будут использоваться элементы управления LINQ и Silverlight для построения диаграмм.

Задача 1. Создание проекта приложения Silverlight

1. Откройте Visual Studio 2010, последовательно выбрав элементы Пуск | Все программы | Microsoft Visual Studio 2010 | Microsoft Visual Studio 2010.

2. В меню последовательно выберите пункты Файл | Создать | Проект.

3. В диалоговом окне создания проекта в левом меню установленных шаблонов последовательно выберите элементы Другие типы проектов | Решения Visual Studio | Новое решение.

4. Назовите это решение Begin.

5. Измените расположение на C:\SPHOLS\SPCHOL306\CS\Ex2\

Рисунок 57. Диалоговое окно «Создать проект»

Page 44: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 44

6. Нажмите кнопку OK, чтобы продолжить.

7. В меню последовательно выберите пункты Файл | Добавить | Новый проект.

8. В диалоговом окне создания проекта в левом меню Установленные шаблоны последовательно выберите пункты Visual C# | Silverlight, а затем выберите тип проекта Приложение Silverlight в списке типов проекта в центральной части экрана.

9. Назовите этот проект SilverlightEmployeeContributionsGraph.

10. Не изменяйте расположение.

Рисунок 58. Диалоговое окно добавления нового проекта

Page 45: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 45

11. Нажмите кнопку OK.

Рисунок 59. Диалоговое окно добавления приложения Silverlight

12. Нажмите кнопку OK, чтобы создать проект.

13. Теперь в проект SPSilverlightExample будут добавлены ссылочные сборки на клиентскую объектную модель SharePoint Silverlight. Щелкните правой кнопкой мыши пункт Ссылки в проекте SilverlightEmployeeContributionsGraph и выберите команду Добавить ссылку.

14. Перейдите в папку C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\LAYOUTS\ClientBin.

15. Выберите файлы Microsoft.SharePoint.ClientSilverlight.dll и Microsoft.SharePoint.Client.Silverlight.Runtime.dll (удерживайте нажатой клавишу CTRL, чтобы выбрать несколько файлов).

16. Нажмите кнопку OK, чтобы добавить ссылки на выбранные библиотеки DLL.

Page 46: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 46

Рисунок 60. Добавление ссылок

12. Добавьте ссылку на сборку Silverlight Charting Controls. Она доступна на .NET tab и называется System.Windows.Controls.DataVisualization.Toolkit.

Рисунок 61. Добавление ссылки на DataVisualization

Page 47: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 47

Задача 2. Создание кода для обращения к данным списка Employee SharePoint и отображения его в элементе управления Silverlight Graph

1. В обозревателе решений щелкните правой кнопкой мыши файл App.xaml и выберите команду Перейти к коду. В начало открывшегося файла App.xaml.cs добавьте следующие операторы:

using Microsoft.SharePoint.Client;

using System.Threading;

Фрагмент кода: My Code Snippets | spchol306_ex2_app_namespaces

2. Добавьте следующий код в начало метода Application_Startup.

ApplicationContext.Init(e.InitParams, SynchronizationContext.Current);

Фрагмент кода: My Code Snippets | spchol306_ex2_application_startup

3. В представлении XAML файла MainPage.xaml добавьте в элемент UserControl следующее пространство имен XML:

xmlns:chartingToolkit="clr-

namespace:System.Windows.Controls.DataVisualization.Charting;assembly=System.Wind

ows.Controls.DataVisualization.Toolkit"

4. Добавьте в элемент Grid следующий элемент управления Silverlight для построения

диаграмм:

<chartingToolkit:Chart x:Name="chart" Width="350" Height="250" Title="Team

Contributions">

<chartingToolkit:Chart.Series>

<chartingToolkit:ColumnSeries ItemsSource="{Binding}"

DependentValuePath="Contributions"

IndependentValuePath="Name"

AnimationSequence="FirstToLast"

Title="Contributions" IsSelectionEnabled="True" />

</chartingToolkit:Chart.Series>

</chartingToolkit:Chart>

Page 48: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 48

Рисунок 62. Код XAML диаграммы Silverlight

5. Откройте файл MainPage.xaml.cs и добавьте в начало этого файла следующие операторы using:

using Microsoft.SharePoint.Client;

Фрагмент кода: My Code Snippets | spchol306_ex2_page_namespaces

6. Перед классом MainPage добавьте следующие классы:

public class EmployeeContributions

{

public string Name { get; set; }

public string TeamName { get; set; }

public decimal Contributions { get; set; }

}

public class TeamContributions

{

public string Name { get; set; }

public decimal Contributions { get; set; }

}

Фрагмент кода: My Code Snippets | spchol306_ex2_classes

7. Добавьте в класс MainPage следующую переменную:

private ListItemCollection _employees;

Фрагмент кода: My Code Snippets | spchol306_ex2_property

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

Page 49: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 49

ClientContext context = new ClientContext(ApplicationContext.Current.Url);

context.Load(context.Web);

List employees = context.Web.Lists.GetByTitle("Employees");

context.Load(employees);

CamlQuery query = new CamlQuery();

string camlQueryXml = null;

query.ViewXml = camlQueryXml;

_employees = employees.GetItems(query);

context.Load(_employees);

context.ExecuteQueryAsync(new

ClientRequestSucceededEventHandler(OnRequestSucceeded), null);

Фрагмент кода: My Code Snippets | spchol306_ex2_initializecomponent

9. Добавьте следующий код после конструктора:

private void OnRequestSucceeded(Object sender, ClientRequestSucceededEventArgs

args)

{

// this is not called on the UI thread

Dispatcher.BeginInvoke(BindData);

}

private void BindData()

{

List<EmployeeContributions> employees = new List<EmployeeContributions>();

// get list item values into a strongly typed class

foreach (ListItem li in _employees)

{

employees.Add(new EmployeeContributions

{

Name = li["Title"].ToString(),

TeamName = li["Team"].ToString(),

Contributions =

Convert.ToDecimal(li["Contribution_x0020__x0028_in_x00"])

});

}

// use linq to group employees on team name and then total team

contributions

List<TeamContributions> teams = employees

.GroupBy(e => e.TeamName)

.Select(t => new TeamContributions

{

Name = t.Key,

Contributions = t.Sum(e => e.Contributions)

}).ToList();

chart.DataContext = teams; // must be on UI thread

}

Фрагмент кода: My Code Snippets | spchol306_ex2_methods

Page 50: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 50

10. Как и в предыдущем примере, для извлечения данных из списка SharePoint используется

объектная модель клиента SharePoint Silverlight. После того как элементы вклада сотрудника заносятся в список, используется LINQ для объединения сотрудников в группы и суммирования их вкладов. Вклады групп затем устанавливаются в качестве источника данных диаграммы.

Задача 3. Развертывание веб-части SharePoint Silverlight для построения диаграмм и ее тестирование

Чтобы развернуть решение в SharePoint, конечный XAP-файл, созданный проектом Silverlight, должен находиться в папке C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\LAYOUTS\ClientBin.

1. Щелкните правой кнопкой мыши проект SilverlightEmployeeContributionsGraph, выберите свойства и перейдите на вкладку Построение.

2. Измените путь выходного файла на C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\LAYOUTS\ClientBin.

Рисунок 63. Свойства проекта Silverlight

3. Постройте решение. XAP-файл будет скопирован в нужный каталог SharePoint, и все будет готово к добавлению веб-части Silverlight на веб-сайт SharePoint.

4. Откройте Internet Explorer и перейдите на сайт http://intranet.contoso.com.

Page 51: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 51

5. Теперь веб-часть Silverlight, добавленная в предыдущем примере, будет обновлена и перенаправлена на новый элемент управления Silverlight для построения диаграмм, который только что был создан. Щелкните раскрывающийся значок в правом верхнем углу веб-части Silverlight и выберите команду Изменить общую веб-часть.

Рисунок 64. Свойства веб-части Silverlight

6. Нажмите кнопку Настроить (чтобы увидеть эту кнопку, может потребоваться прокрутить окно вправо), а затем в диалоговом окне веб-части Silverlight введите /_layouts/ClientBin/SilverlightEmployeeContributionsGraph.xap.

Page 52: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 52

Рисунок 65. URL-адрес веб-части Silverlight

7. Нажмите кнопку OK.

8. Нажмите кнопку OK внизу боковой панели веб-части Silverlight.

Page 53: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 53

9. Завершенная веб-часть будет выглядеть следующим образом:

Рисунок 66. Завершенная веб-часть Silverlight диаграммы

Page 54: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 54

Упражнение 5. Создание веб-части для изолированного решения

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

Задача 1. Создание проекта изолированного решения с веб-частью

Начнем с создания проекта стандартного приложения Silverlight. 1. Откройте Visual Studio 2010, последовательно выбрав элементы Пуск | Все программы |

Microsoft Visual Studio 2010 | Microsoft Visual Studio 2010.

2. В меню последовательно выберите пункты Файл | Создать | Проект.

3. В диалоговом окне создания проекта в левом меню установленных шаблонов последовательно выберите пункты Visual C# | SharePoint | 2010 | Пустой проект SharePoint.

4. Назовите этот проект SBSolutionDemo.

5. Измените расположение на C:\SPHOLS\SPCHOL307\CS\Ex1\

Рисунок 67 - Диалоговое окно «Создать проект»

Page 55: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 55

6. Нажмите кнопку ОК, чтобы продолжить.

7. В диалоговом окне настройки SharePoint измените локальный сайт, используемый для отладки, на http://intranet.contoso.com/.

8. Оставьте в качестве уровня доверия для решения SharePoint значение Развернуть как изолированное решение.

Рисунок 68 - Мастер настройки SharePoint (шаг 1).

9. Нажмите кнопку Готово, чтобы продолжить. Visual Studio создаст новый проект и добавит в него все необходимые файлы.

10. Щелкните правой кнопкой мыши проект SBSolutionDemo в обозревателе решений и последовательно выберите пункты Добавить | Создать элемент.

11. Убедитесь, что в области установленных шаблонов выбрано Visual C# | SharePoint | 2010 | .

12. В диалоговом окне добавления элемента выберите новую веб-часть и назовите ее SBWebPart.

Page 56: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 56

Рисунок 69 - Диалоговое окно добавления нового элемента

13. Нажмите кнопку Добавить, чтобы добавить веб-часть в проект.

Задача 2. Добавление кода, отвечающего за запросы и визуализацию

1. Откройте файл SBWebPart.cs и добавьте после существующих операторов using следующие операторы using:

using System.Web.UI.HtmlControls;

Фрагмент кода: My Code Snippets | spchol307_ex1_webpart_namespaces

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

DropDownList _ddlProjects = new DropDownList();

TextBox _tbDescription = new TextBox();

TextBox _tbDueDate = new TextBox();

Фрагмент кода: My Code Snippets | spchol307_ex1_webpart_variables

3. Добавьте в класс SBWebPart следующие новые методы:

Page 57: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 57

protected override void OnLoad(EventArgs e)

{

base.OnLoad(e);

if (!Page.IsPostBack)

GetProjectDetails();

}

/* Populate the text boxes with the selected project details */

private void GetProjectDetails()

{

EnsureChildControls();

if (_ddlProjects.SelectedValue != "-- Select a Project --")

{

SPList pList = SPContext.Current.Web.Lists["Projects"];

int nProjectID = Convert.ToInt32(_ddlProjects.SelectedValue);

SPListItem spliProject = pList.GetItemById(nProjectID);

_tbDescription.Text = spliProject["Description"].ToString();

DateTime dueDate = Convert.ToDateTime(spliProject["Due_x0020_Date"]);

_tbDueDate.Text = dueDate.ToShortDateString();

}

else

{

_tbDescription.Text = String.Empty;

_tbDueDate.Text = String.Empty;

}

}

Фрагмент кода: My Code Snippets | spchol307_ex1_webpart_getprojectdetails

Page 58: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 58

4. Замените существующий метод CreateChildControls следующим кодом:

protected override void CreateChildControls()

{

base.CreateChildControls();

Panel parent = new Panel();

parent.Style.Add("border", "solid 1px Navy");

parent.Style.Add("background-color", "#EEEEEE");

parent.Style.Add("width", "250px");

_ddlProjects.ID = "ddlProjects";

_ddlProjects.AutoPostBack = true;

_ddlProjects.SelectedIndexChanged += new

EventHandler(ddlProjects_SelectedIndexChanged);

PopulateProjects();

parent.Controls.Add(_ddlProjects);

Panel panel = new Panel();

Label label = new Label();

label.Text = "Description";

panel.Controls.Add(label);

parent.Controls.Add(panel);

panel = new Panel();

panel.Controls.Add(_tbDescription);

parent.Controls.Add(panel);

label = new Label();

label.Text = "Due Date";

panel = new Panel();

panel.Controls.Add(label);

parent.Controls.Add(panel);

panel = new Panel();

panel.Controls.Add(_tbDueDate);

parent.Controls.Add(panel);

panel = new Panel();

Button bUpdateProject = new Button();

bUpdateProject.Text = "Update Project";

bUpdateProject.Click += new EventHandler(bUpdateProject_Click);

panel.Controls.Add(bUpdateProject);

parent.Controls.Add(panel);

Controls.Add(parent);

}

Фрагмент кода: My Code Snippets | spchol307_ex1_webpart_createchildcontrols

Page 59: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 59

5. Под методом CreateChildControls добавьте следующие методы:

private void PopulateProjects()

{

SPList splProjects = SPContext.Current.Web.Lists["Projects"];

_ddlProjects.Items.Add("-- Select a Project --");

foreach (SPListItem spli in splProjects.Items)

{

_ddlProjects.Items.Add(new ListItem(spli.Title, spli.ID.ToString()));

}

}

void ddlProjects_SelectedIndexChanged(object sender, EventArgs e)

{

GetProjectDetails();

}

/* Update the current project */

void bUpdateProject_Click(object sender, EventArgs e)

{

EnsureChildControls();

int nProjectID = Convert.ToInt32(_ddlProjects.SelectedValue);

SPListItem spliProject =

SPContext.Current.Web.Lists["Projects"].GetItemById(nProjectID);

spliProject["Description"] = _tbDescription.Text;

spliProject["Due_x0020_Date"] = _tbDueDate.Text;

spliProject.Update();

}

Фрагмент кода: My Code Snippets | spchol307_ex1_webpart_populateprojects

Задача 3. Построение и развертывание изолированного решения

Изолированное решение разворачивается с помощью веб-сайта SharePoint.

1. Щелкните правой кнопкой мыши проект SBSolutionDemo и выберите команду Упаковать, чтобы создать WSP-файл.

2. Откройте Internet Explorer и перейдите на сайт http://intranet.contoso.com.

3. Откройте меню Действия сайта и выберите пункт Параметры сайта.

4. В разделе Коллекции выберите Решения.

Page 60: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 60

Рисунок 70 - Коллекция решений

5. Перейдите на вкладку Решения.

6. На вкладке «Решения» выберите команду Отправить решение.

7. В появившемся диалоговом окне «Отправка документа» перейдите к WSP-файлу, расположенному по пути C:\SPHOLs\SPCHOL307\CS\Ex1\SBSolutionDemo\SBSolutionDemo\bin\Debug\SBSolutionDemo.wsp.

8. Нажмите кнопку ОК, чтобы отправить SBSolutionDemo.wsp в SharePoint. Не снимайте флажок Перезаписать существующие файлы.

9. Нажмите кнопку Активировать в диалоговом окне «Коллекция решений — активация решений». Теперь веб-часть изолированного решения готова к использованию.

10. Откройте меню Действия сайта и выберите пункт Дополнительные параметры.

11. В разделе Страница диалогового окна «Создание» выберите пункт Страница веб-частей. Нажмите кнопку Создать.

12. Назовите эту новую веб-часть SBSolutionDemoPage, и установите для макета значение Полная страница, вертикальное расположение. Установите в качестве расположения для сохранения Общие документы.

Page 61: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 61

Рисунок 71 - Новая страница веб-частей

13. Нажмите кнопку Создать, чтобы создать новую страницу веб-частей.

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

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

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

17. На ленте щелкните элемент Страница. Затем нажмите кнопку Остановить изменение в панели инструментов

Рисунок 72 - Веб-часть SBWebPart

Page 62: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 62

18. В панели инструментов в правом верхнем углу страницы щелкните Системная учетная

запись и выберите пункт Войти в качестве другого пользователя.

19. В качестве имени пользователя укажите andyj, а в качестве пароля — pass@word1.

Рисунок 73 - Диалоговое окно входа в Windows

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

21. Теперь веб-часть изолированного решения готова к использованию. Для проверки можно выбирать разные объекты из раскрывающегося списка для просмотра. После завершения закройте Internet Explorer.

Page 63: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 63

Рисунок 74 - Веб-часть изолированного решения

Page 64: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 64

Упражнение 6. Создание действия для использования в рабочем процессе конструктора SharePoint

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

используемого рабочим процессом для повторного использования конструктора SharePoint, и

совместное их развертывание в виде одного WSP-файла. Также показывается порядок импорта

этого рабочего процесса в Visual Studio 2010.

Задача 1. Создание и подготовка проекта

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

1. Откройте Visual Studio 2010, последовательно выбрав элементы Пуск | Все программы | Microsoft Visual Studio 2010 | Microsoft Visual Studio 2010.

2. В Visual Studio 2010 создайте новый проект, последовательно выбрав пункты Файл | Создать | Проект.

3. Последовательно выберите пункты Visual C# | SharePoint | 2010 | , а затем шаблон проекта Пустой проект SharePoint.

4. В поле «Имя» укажите SPCHOL305Ex1, а в поле Расположение — C:\SPHOLS\SPCHOL305\CS\Ex1.

Page 65: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 65

Рисунок 75 - Диалоговое окно «Создать проект»

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

6. В мастере настройки SharePoint измените URL-адрес на http://intranet.contoso.com и выберите пункт Развернуть как решение фермы. Затем нажмите кнопку Готово.

Page 66: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 66

Рисунок 76 - Мастер настройки SharePoint

7. Visual Studio создаст новый проект с именем SPCHOL305Ex1 и добавит в него все необходимые файлы.

Задача 2. Создание нового действия рабочего процесса, используемого рабочим процессом для повторного использования

1. В Visual Studio 2010 добавьте новый проект, последовательно выбрав пункты Файл |

Добавить | Новый проект.

2. Измените платформу на .NET Framework 3.5

Рисунок 77 - Установка версии платформы .NET Framework

Page 67: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 67

3. Выберите шаблон проекта Visual C# | Рабочий процесс | Библиотека действий рабочего процесса.

4. В поле Имя введите SPDActivityDemo и нажмите кнопку ОК.

Рисунок 78 - Диалоговое окно «Добавить новый проект»

5. В обозревателе решений щелкните правой кнопкой мыши проект SPDActivityDemo и

выберите пункт Добавить ссылку.

6. Перейдите на вкладку Обзор. В поле «Имя файла» введите C:\Program Files\Common

Files\Microsoft Shared\Web Server Extensions\14\ISAPI и нажмите клавишу ВВОД.

7. Выберите файлы Microsoft.SharePoint.dll и Microsoft.SharePoint.WorkflowActions.dll и

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

Page 68: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 68

Рисунок 79 - Диалоговое окно добавления ссылки

8. В обозревателе решений щелкните правой кнопкой мыши Activity1.cs и выберите команду

Переименовать.

9. Измените имя Activity1.cs на CreateDocumentLibrary.cs.

Задача 3. Добавление кода, отвечающего за создание библиотеки документов на основе параметров, переданных в действие

1. В обозревателе решений щелкните правой кнопкой мыши файл

CreateDocumentLibrary.cs и выберите команду Перейти к коду.

2. Измените базовый класс CreateDocumentLibrary с SequenceActivity на Activity, как

показано ниже.

public partial class CreateDocumentLibrary : Activity

Page 69: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 69

3. A В начале файла под существующими операторами using добавьте следующие

операторы using:

using Microsoft.SharePoint; using Microsoft.SharePoint.Workflow; using Microsoft.SharePoint.WorkflowActions;

Фрагмент кода: My Code Snippets | spchol305_ex1_createdoclib_namespace

4. Добавьте в класс CreateDocumentLibrary новое свойство DependencyProperty с именем

UrlProperty.

Этот блок будет отвечать за создание библиотеки документов.

public static DependencyProperty UrlProperty = DependencyProperty.Register("Url",

typeof(string), typeof(CreateDocumentLibrary), new PropertyMetadata(""));

[DescriptionAttribute("Url of base site")]

[BrowsableAttribute(true)]

[DesignerSerializationVisibilityAttribute(DesignerSerializationVisibility.Visible

)]

[ValidationOption(ValidationOption.Optional)]

public string Url

{

get

{

return ((string)(base.GetValue(CreateDocumentLibrary.UrlProperty)));

}

set

{

base.SetValue(CreateDocumentLibrary.UrlProperty, value);

}

}

Фрагмент кода: My Code Snippets | spchol305_ex1_createdoclib_urlproperty

5. Добавьте в класс CreateDocumentLibrary новое свойство DependencyProperty с именем

DocLibNameProperty.

Этот блок будет отвечать за имя библиотеки документов DocumentLibrary,

созданной действием.

Page 70: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 70

public static DependencyProperty DocLibNameProperty =

DependencyProperty.Register("DocLibName", typeof(string),

typeof(CreateDocumentLibrary), new PropertyMetadata(""));

[DescriptionAttribute("Used as doc lib name")]

[BrowsableAttribute(true)]

[DesignerSerializationVisibilityAttribute(DesignerSerializationVisibility.Visible

)]

[ValidationOption(ValidationOption.Optional)]

public string DocLibName

{

get

{

return ((string)(base.GetValue(CreateDocumentLibrary.DocLibNameProperty)));

}

set

{

base.SetValue(CreateDocumentLibrary.DocLibNameProperty, value);

}

}

Фрагмент кода: My Code Snippets | spchol305_ex1_createdoclib_doclibproperty

6. Под конструктором CreateDocumentLibrary добавьте следующий код:

protected override ActivityExecutionStatus Execute(ActivityExecutionContext

executionContext)

{

CreateDocLib();

return ActivityExecutionStatus.Closed;

}

private void CreateDocLib()

{

using (SPSite sps = new SPSite(Url))

{

using (SPWeb spw = sps.RootWeb)

{

Guid ID = spw.Lists.Add(DocLibName, DocLibName + " Document Library",

SPListTemplateType.DocumentLibrary);

SPList spdl = spw.Lists[ID];

spdl.OnQuickLaunch = true;

spdl.Update();

}

}

}

Фрагмент кода: My Code Snippets | spchol305_ex1_createdoclib_execute

Page 71: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 71

Задача 4. Подготовка действия к развертыванию.

1. Настройте для действия строгое имя. Добавьте SPDActivityDemo.snk из папки Resources

(расположение указано в начале этого руководства) в проект SPDActivityDemo.

Рисунок 80 - Добавление существующего элемента

2. Щелкните правой кнопкой мыши проект SPDActivityDemo в обозревателе решений и

выберите пункт Свойства.

3. Перейдите на вкладку Подписывание и установите флажок Подписать сборку, а затем

выберите SPDActivityDemo.snk.

Рисунок 81 - Подписывание

4. Постройте проект, нажав сочетание клавиш CTRL-SHIFT-B, и исправьте все ошибки.

Page 72: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 72

5. Щелкните правой кнопкой мыши проект SPCHOL305Ex1 и выберите пункты Добавить

и Сопоставленная папка SharePoint

Рисунок 82 - Сопоставленная папка SharePoint

6. В диалоговом окне добавления сопоставленной папки SharePoint выберите

Template\1033\Workflow и нажмите кнопку ОК.

Page 73: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 73

Рисунок 83 - Диалоговое окно добавления сопоставленной папки SharePoint

7. В обозревателе решений разверните только что добавленную папку Workflow.

8. Щелкните правой кнопкой мыши папку SPCHOL305Ex1 (если она существует) и выберите команду Удалить.

9. Щелкните правой кнопкой мыши папку Workflow и последовательно выберите пункты Добавить | Создать элемент.

10. Выберите шаблон XML-файл и введите имя файла SPDActivityDemo.ACTIONS, а затем нажмите кнопку Добавить.

Page 74: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 74

Рисунок 84 - Диалоговое окно добавления нового элемента

Page 75: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 75

7. Замените содержимое файла SPDActivityDemo.ACTIONS следующим кодом:

<?xml version="1.0" encoding="utf-8"?> <WorkflowInfo> <Actions Sequential="then" Parallel="and"> <Action Name="Create Document Library" ClassName="SPDActivityDemo.CreateDocumentLibrary" Assembly="SPDActivityDemo, Version=1.0.0.0, Culture=neutral, PublicKeyToken=a66e91d2ee2fa8f8" AppliesTo="all" Category="Labs"> <RuleDesigner Sentence="Document Library Name %1 to site %2."> <FieldBind Field="DocLibName" Text="Document Library Name" DesignerType="TextArea" Id="1"/> <FieldBind Field="Url" Text="Url of base site" Id="2" DesignerType="TextArea"/> </RuleDesigner> <Parameters> <Parameter Name="DocLibName" Type="System.String, mscorlib" Direction="In" /> <Parameter Name="Url" Type="System.String, mscorlib" Direction="In" /> </Parameters> </Action> </Actions> </WorkflowInfo>

Фрагмент кода: My XML Snippets | spchol305_ex1_workflowactions_xml

8. Постройте проект SPDActivityDemo

Page 76: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 76

Задача 5. Добавление действия SPDActivityDemo, которое будет развернуто с помощью SPCHOL305Ex1.

1. В обозревателе решений разверните папку Package в проекте SPCHOL305Ex1.

2. Дважды щелкните файл Package.package, чтобы вызвать конструктор пакетов.

3. Перейдите на вкладку Дополнительно внизу конструктора.

Рисунок 85 - Вкладка «Дополнительно»

Page 77: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 77

4. Нажмите кнопку Добавить и выберите пункт Добавление сборки из выходного файла

проекта.

5. В диалоговом окне Добавление существующей сборки из выходного файла проекта

щелкните список Исходный проект и выберите SPDActivityDemo\bin.

Рисунок 86 - Диалоговое окно «Добавление существующей сборки из выходного файла проекта»

6. Нажмите кнопку под элементами управления обеспечения безопасности. В разделе

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

Имя сборки: SPDActivityDemo, Version=1.0.0.0, Culture=neutral, PublicKeyToken= a66e91d2ee2fa8f8 Пространство имен: SPDActivityDemo Безопасный режим: Установлен Имя типа: *

7. Завершив ввод данных в элементах управления обеспечения безопасности, нажмите клавишу ВВОД, чтобы подтвердить изменения.

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

Page 78: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 78

Задача 6. Настройка компонента с помощью конструктора компонентов

1. Щелкните правой кнопкой мыши папку Features в обозревателе решений в проекте

SPCHOL305Ex1 и выберите команду Добавить компонент.

2. Щелкните правой кнопкой мыши компонент Feature1 и переименуйте его в

SPCHOL305Ex1Feature.

3. В конструкторе компонентов измените область компонента SPCHOL305Ex1Feature на

область WebApplication.

Рисунок 87 - Конструктор компонентов

Задача 7. Добавление кода в приемник компонента

1. Щелкните правой кнопкой мыши компонент SPCHOL305Ex1Feature в обозревателе решений и выберите команду Добавить приемник событий

2. Добавьте оператор using в начало кода:

using Microsoft.SharePoint.Administration;

Page 79: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 79

3. Добавьте в объявление класса FeatureReceiver следующий код: public override void FeatureActivated(SPFeatureReceiverProperties properties) { SPWebApplication wappCurrent = (SPWebApplication)properties.Feature.Parent; SPWebConfigModification modAuthorizedType = new SPWebConfigModification(); modAuthorizedType.Name = "AuthType"; modAuthorizedType.Owner = "SPDActivityDemo"; modAuthorizedType.Path = "configuration/System.Workflow.ComponentModel.WorkflowCompiler/authorizedTypes"; modAuthorizedType.Type = SPWebConfigModification.SPWebConfigModificationType.EnsureChildNode; modAuthorizedType.Value = "<authorizedType Assembly=\"SPDActivityDemo, " + "Version=1.0.0.0, Culture=neutral, PublicKeyToken=a66e91d2ee2fa8f8\" " + "Namespace=\"SPDActivityDemo\" TypeName=\"*\" Authorized=\"True\" />"; wappCurrent.WebConfigModifications.Add(modAuthorizedType); wappCurrent.WebService.ApplyWebConfigModifications(); }

Фрагмент кода: My code Snippets | spchol305_ex1_spchol305feature_receiver

4. Постройте и разверните проект SPCHOL305Ex1Feature, щелкнув правой кнопкой мыши

имя проекта и выбрав команду «Развертывание».

Рисунок 88 - Развертывание решения

Задача 8. Создание рабочего процесса для повторного использования с помощью конструктора SharePoint

1. Откройте SharePoint Designer 2010, последовательно выбрав элементы Пуск | Все программы | SharePoint | Microsoft SharePoint Designer 2010

Page 80: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 80

2. Нажмите кнопку Сайты и выберите команду Открыть сайт.

Рисунок 89 - Кнопка меню «Сайты» в конструкторе SharePoint Designer 2010

При запросе учетных данных укажите следующее: Имя пользователя: Administrator Пароль: pass@word1

Page 81: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 81

3. Измените имя сайта на http://intranet.contoso.com и выберите команду Открыть

Рисунок 90 - Диалоговое окно открытия сайта

Page 82: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 82

5. Нажмите кнопку Рабочий процесс для повторного использования и в ответ на запрос

укажите для него имя SPDWorkflow, а затем нажмите кнопку ОК, чтобы создать рабочий

процесс для повторного использования.

Рисунок 91 - Создание рабочего процесса для повторного использования

Page 83: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 83

6. Нажмите кнопку Действия на ленте, прокрутите список до пункта Лаборатории и

выберите команду Создать библиотеку документов. Примечание: Это действие,

которое было создано в Visual Studio ранее.

Рисунок 92 - Добавление действия «Создать библиотеку документов»

Page 84: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 84

7. Перейдите в шаг 1. В поле рядом с полем Имя библиотеки документов нажмите кнопку

«Fx».

8. В качестве источника данных выберите Текущий элемент, а в качестве значения «Поле

из источника» укажите Заголовок. Затем нажмите кнопку «ОК».

Рисунок 93 - Диалоговое окно поиска строки

9. В качестве URL-адреса базового сайта укажите http://intranet.contoso.com.

10. Нажмите кнопку Сохранить на ленте.

Рисунок 94 - Настройка действия рабочего процесса

Page 85: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 85

11. После сохранения нажмите кнопку Опубликовать на ленте. Подождите публикации

рабочего процесса.

Рисунок 95 - Публикация рабочего процесса

12. После сохранения щелкните Рабочие процессы в левой области навигации.

13. Снова щелкните рабочий процесс в разделе Рабочие процессы для повторного

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

Сохранить как шаблон, чтобы сохранить WSP-файл в списке Библиотека материалов

сайта SharePoint.

Рисунок 96 - Сохранение в качестве шаблона

Page 86: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 86

14. Откройте в веб-браузере сайт http://intranet.contoso.com. 15. Последовательно выберите в пункты Действия сайта -> Просмотреть весь контент

сайта -> Библиотека материалов сайта.

Рисунок 97 - Библиотека материалов сайта

16. Щелкните раскрывающееся меню SPDWorkflow и последовательно выберите в нем

команды Отправить -> Загрузить копию.

Рисунок 98 - Загрузка WSP-файла

Page 87: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 87

17. Сохраните этот WSP-файл в расположение, к которому можно будет получить доступ в

последующих шагах (например на рабочий стол)

Рисунок 99 - Диалоговое окно сохранения

Задача 9. Импорт рабочего процесса для повторного использования в Visual Studio

1. Вернитесь в Visual Studio 2010, щелкните правой кнопкой мыши решение

SPCHOL305Ex1 в окне обозревателя решений и последовательно выберите в меню

команды Добавить | Создать проект.

2. Последовательно выберите пункты Visual C# | SharePoint | 2010 | , а затем шаблон проекта Импорт рабочего процесса для повторного использования.

Page 88: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 88

3. Измените Имя на SPDWorkflowImport.

Рисунок 100 - Диалоговое окно «Добавить новый проект»

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

Page 89: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 89

5. Убедитесь, что указан URL-адрес http://intranet.contoso.com. Нажмите кнопку Далее.

Рисунок 101 - Мастер настройки SharePoint

Page 90: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 90

6. При запросе WSP-файла для импорта перейдите к файлу SPDWorkflow.wsp,

сохраненному ранее. Нажмите кнопку Далее.

Рисунок 102 - Мастер настройки SharePoint

7. Нажмите кнопку Готово.

Page 91: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 91

Рисунок 103 - Мастер настройки SharePoint

Page 92: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 92

8. Дважды щелкните пакет в проекте SPCHOL305Ex1 и добавьте в этот пакет компонент

преобразованных рабочих процессов.

Рисунок 104 - Обозреватель пакетов SharePoint

Page 93: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 93

9. Щелкните правой кнопкой мыши проект SPDWorkflowImport и выберите команду

Добавить ссылку.

10. Выберите ссылку на проект SPDActivityDemo и нажмите кнопку ОК.

Рисунок 105 - Добавление ссылки на сборку

11. В проекте SPDWorkflowImport разверните узел Workflows\SPDWorkflowFT.

12. Откройте файл Elements.xml.

Page 94: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 94

13. Измените имя рабочего процесса на SPDWorkflowFT.

Рисунок 106 - Установка имени импортированного рабочего процесса

14. Сохраните проект, постройте решение и разверните проект SPCHOL305Ex1.

Задача 10. Сопоставление рабочего процесса со списком в SharePoint

1. Перейдите на сайт http://intranet.contoso.com.

2. Последовательно выберите пункты Действия сайта | Дополнительные параметры

3. Выберите Настраиваемый список в списке элементов.

4. Назовите этот список Customers и нажмите кнопку Создать.

5. Откройте параметры списка

Рисунок 107 - Параметры списка

6. В разделе Разрешения и управление щелкните Параметры рабочих процессов.

7. Настройте параметры рабочего процесса списка следующим образом:

Выберите шаблон рабочего процесса: SPDWorkflowFT

Page 95: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 95

Укажите уникальное имя для этого рабочего процесса: Создание библиотеки

документов для клиента

Выберите список задач: Задачи

Выберите список журналов: Журнал рабочего процесса

Параметры запуска: Начинать рабочий процесс при создании нового элемента

Рисунок 108 - Параметры рабочего процесса

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

Page 96: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 96

9. Перейдите в список Customers и последовательно выберите пункты Элементы |

Создать элемент.

Рисунок 109 - Создание нового элемента

10. Укажите Northwind в качестве имени нового клиента и при появлении диалогового окна

Клиенты — создание элемента нажмите кнопку «Сохранить».

Рисунок 110 - Диалоговое окно «Создание элемента»

Page 97: Share Point 2010 Developer Walk Through Guide

Пошаговые руководства для разработчиков SharePoint 2010

Страница 97

11. Подождите, пока автоматически создастся новая библиотека документов с тем же

именем.

Сводка по пошаговым руководствам

В этом документе с пошаговыми руководствами рассматривалось шесть сценариев разработки для SharePoint 2010. Практические занятия, на которых построены эти пошаговые примеры, можно получить на сайте http://msdn.microsoft.com/ru-ru/sharepoint/ee513148.aspx (Возможно, на английском языке).