Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Одним файлом.docx
Скачиваний:
44
Добавлен:
31.05.2015
Размер:
2.71 Mб
Скачать

4.1 Выбор среды разработки, языка программирования и инструментальных средств разработки

Система будет реализовываться с использованием платформы MicrosoftSharePoint2010, где базой для разработки пользовательских модулей является технологияASP.NET. В качестве языка программирования был выбранC#. Данная технология является частью .NET Framework, что позволяет вести разработкуWeb-приложений с использованием всех возможностей, предоставляемых этой платформой. В качестве инструментария выбрана среда MS Visual Studio 2010, обеспечивающая мощную инструментальную и функциональную поддержку выбранных технологий реализации программного обеспечения. А так же, для облегчения разработки под платформуSharePoint, были использованы следующие программные продукты:

  • SharePointDesigner2010 – программа, позволяющая без написания кода изменить внешний вид сайтов, разработанных под платформуSharePoint;

  • SharePointManager– программа, позволяющая отслеживать иерархию семейства сайтов и их каталогов;

  • FeatureManager– программа, облегчающая работу с пользовательскими модулями;

  • CAMLBuilder– программа, облегчающая построениеCAMLзапросов к спискамSharePoint.

  • Firebug– программа, позволяющая отлаживатьJavaScript, а так же облегчает работу сHTMLиCSS.

В качестве базы данных была выбрана СУБД MicrosoftSQLServerверсии 2008R2.

Microsoft SQL Server – это законченное предложение в области баз данных для быстрого создания масштабируемых решений электронной коммерции, бизнес-приложений и хранилищ данных. Оно позволяет значительно сократить время выхода этих решений на рынок, одновременно обеспечивая масштабируемость, отвечающую самым высоким требованиям. В сервер включена поддержка языка XML и протокола HTTP, средства повышения быстродействия и доступности, позволяющие распределить нагрузку и обеспечить бесперебойную работу, функции для улучшения управления и настройки. Также СУБД предоставляет удобный доступ к базе данных через Webпо протоколуHTTP, быстродействующий встроенный полнотекстовый поиск в данных, хранящихся в БД и в документах. Кроме того, SQL Server полностью использует все возможности операционной системы Windows.

4.2 Физическая модель данных

4.2.1 Списки для хранения данных

В системе SharePointглавной структурой хранения является список. Списки могут быть связаны с другими списками, на основеlookupколонок. Все остальные принципы целостности данных, присущие базе данных необходимо реализовывать в пользовательском коде. В конечном итоге хранение данных сводится к базе данныхMSSQL, но напрямую разработчики под платформуMicrosoftSharePointс базой дынных не работают, поскольку, как было описано выше, единицей хранения данных вSharePointявляетсяSharePointList.

Несмотря на такую специфику SharePoint, как лист, вSharePointприсутствует возможность работы с базами данных, но на прямую, а через технологиюBCS(businessconnectivityservices), поскольку база данных является внешним источником данных дляSharePoint, и необходимо привести его кSharePointList.

Создать SharePointсписок можно тремя путями:

  • Используя объектную модель SharePoint, описать список на языке программирования;

  • Используя декларативный подход на языке CAML;

  • Через интерфейс уже созданного сайта.

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

В данном проекте был выбран декларативный подход описания списков. На рисунках 4.1 – 4.3 приведён код описания создаваемых списков.

<?xml version="1.0" encoding="utf-8"?>

<List xmlns:ows="Microsoft SharePoint" Title="Departments" FolderCreation="FALSE" Direction="$Resources:Direction;" Url="Lists/SaMLayout-Departments" BaseType="0" xmlns="http://schemas.microsoft.com/sharepoint/">

<MetaData>

<ContentTypes>

<ContentTypeRef ID="0x01008731EE1EB0C6407EA7FCFC9E61A75D6B"/>

<ContentTypeRef ID="0x0120" />

<!--Это тип контента для создания папки, без него нелюзя будет создавать папки в листе-->

<ContentTypeRef ID="0x01"/>

</ContentTypes>

<Fields>

<Field Type="URL"

DisplayName="Картинка отдела"

Group="SaM"

Required="FALSE"

EnforceUniqueValues="FALSE"

Indexed="FALSE"

Format="Image"

ID="{99ADF259-F5CA-4D4B-975F-836170B8F6A4}"

StaticName="Картинка-отдела"

Name="Картинка-отдела"

/>

</Fields>

<Views>

<View BaseViewID="0" Type="HTML" MobileView="TRUE" TabularView="FALSE">

<Toolbar Type="Standard" />

<XslLink Default="TRUE">main.xsl</XslLink>

<RowLimit Paged="TRUE">30</RowLimit>

<ViewFields>

<FieldRef Name="LinkTitleNoMenu"></FieldRef>

</ViewFields>

<Query>

<OrderBy>

<FieldRef Name="Modified" Ascending="FALSE"></FieldRef>

</OrderBy>

</Query>

<ParameterBindings>

<ParameterBinding Name="AddNewAnnouncement" Location="Resource(wss,addnewitem)" />

<ParameterBinding Name="NoAnnouncements" Location="Resource(wss,noXinviewofY_LIST)" />

<ParameterBinding Name="NoAnnouncementsHowTo" Location="Resource(wss,noXinviewofY_ONET_HOME)" />

</ParameterBindings>

</View>

<View BaseViewID="1" Type="HTML" WebPartZoneID="Main" DisplayName="$Resources:core,objectiv_schema_mwsidcamlidC24;" DefaultView="TRUE" MobileView="TRUE" MobileDefaultView="TRUE" SetupPath="pages\viewpage.aspx" ImageUrl="/_layouts/images/generic.png" Url="AllItems.aspx">

<Toolbar Type="Standard" />

<XslLink Default="TRUE">main.xsl</XslLink>

<RowLimit Paged="TRUE">30</RowLimit>

<ViewFields>

<FieldRef Name="Title"></FieldRef>

<FieldRef Name="Картинка-отдела"></FieldRef>

</ViewFields>

<Query>

<OrderBy>

<FieldRef Name="ID"></FieldRef>

</OrderBy>

</Query>

<ParameterBindings>

<ParameterBinding Name="NoAnnouncements" Location="Resource(wss,noXinviewofY_LIST)" />

<ParameterBinding Name="NoAnnouncementsHowTo" Location="Resource(wss,noXinviewofY_DEFAULT)" />

</ParameterBindings>

</View>

</Views>

<Forms>

<Form Type="DisplayForm" Url="DispForm.aspx" SetupPath="pages\form.aspx" WebPartZoneID="Main" />

<Form Type="EditForm" Url="EditForm.aspx" SetupPath="pages\form.aspx" WebPartZoneID="Main" />

<Form Type="NewForm" Url="NewForm.aspx" SetupPath="pages\form.aspx" WebPartZoneID="Main" />

</Forms>

</MetaData>

</List>

Рисунок 4.1 – Описание списка отделов

<?xmlversion="1.0"encoding="utf-8"?>

<List xmlns:ows="Microsoft SharePoint" Title="SaMAppsListDefinition" EnableContentTypes="TRUE" FolderCreation="FALSE" Direction="$Resources:Direction;" Url="Lists/SaMAppsListDefinition" BaseType="0" xmlns="http://schemas.microsoft.com/sharepoint/">

<MetaData>

<ContentTypes>

<ContentTypeRef ID="0x010065931B4DC4B243FEABEE0F4B0F107CF2"/>

<ContentTypeRef ID="0x0120" /> <!--Это тип контента для создания папки, без него нелюзя будет создавать папки в листе-->

<ContentTypeRef ID="0x01"/>

</ContentTypes>

<Fields>

<Field DisplayName="Категория"

Required="TRUE"

Type="Choice"

Format="Dropdown"

ID="{54699A56-D920-4C11-B643-1AF6D994BABE}"

Name="Категория"

StaticName="Категория"

Group="SaM"

EnforceUniqueValues="FALSE"

Indexed="FALSE"

FillInChoice="FALSE" >

<CHOICES>

<CHOICE>Общие</CHOICE>

<CHOICE>Коммуникации</CHOICE>

<CHOICE>Проектные</CHOICE>

<CHOICE>Маркетинг</CHOICE>

<CHOICE>Сайты</CHOICE>

<CHOICE>Отчетность</CHOICE>

<CHOICE>Финансы</CHOICE>

</CHOICES>

</Field>

<Field Type="URL"

DisplayName="Ссылка"

Required="TRUE"

Format="Hyperlink"

ID="{564ABB5E-7643-4458-ACC5-380E89175532}"

Name="Ссылка"

StaticName="Ссылка"

Group="SaM"

EnforceUniqueValues="FALSE"

Indexed="FALSE"/>

<Field Type="Text"

DisplayName="Описание"

Required="TRUE"

ID="{E36EABFE-AA01-47D5-9B4B-23A15F6B3BD6}"

Name="Описание"

StaticName="Описание"

Group="SaM"

EnforceUniqueValues="FALSE"

Indexed="FALSE"

FillInChoice="FALSE"/>

</Fields>

<Views>

<View BaseViewID="0" Type="HTML" MobileView="TRUE" TabularView="FALSE">

<Toolbar Type="Standard" />

<XslLink Default="TRUE">main.xsl</XslLink>

<RowLimit Paged="TRUE">30</RowLimit>

<ViewFields>

<FieldRef Name="LinkTitleNoMenu"></FieldRef>

</ViewFields>

<Query>

<OrderBy>

<FieldRef Name="Modified" Ascending="FALSE"></FieldRef>

</OrderBy>

</Query>

<ParameterBindings>

<ParameterBinding Name="AddNewAnnouncement" Location="Resource(wss,addnewitem)" />

<ParameterBinding Name="NoAnnouncements" Location="Resource(wss,noXinviewofY_LIST)" />

<ParameterBinding Name="NoAnnouncementsHowTo" Location="Resource(wss,noXinviewofY_ONET_HOME)" />

</ParameterBindings>

</View>

<View BaseViewID="1" Type="HTML" WebPartZoneID="Main" DisplayName="$Resources:core,objectiv_schema_mwsidcamlidC24;" DefaultView="TRUE" MobileView="TRUE" MobileDefaultView="TRUE" SetupPath="pages\viewpage.aspx" ImageUrl="/_layouts/images/generic.png" Url="AllItems.aspx">

<Toolbar Type="Standard" />

<XslLink Default="TRUE">main.xsl</XslLink>

<RowLimit Paged="TRUE">30</RowLimit>

<ViewFields>

<FieldRef Name="Ссылка"></FieldRef>

<FieldRef Name="Категория"></FieldRef>

<FieldRef Name="Описание"></FieldRef>

</ViewFields>

<Query>

<OrderBy>

<FieldRef Name="ID"></FieldRef>

</OrderBy>

</Query>

<ParameterBindings>

<ParameterBinding Name="NoAnnouncements" Location="Resource(wss,noXinviewofY_LIST)" />

<ParameterBinding Name="NoAnnouncementsHowTo" Location="Resource(wss,noXinviewofY_DEFAULT)" />

</ParameterBindings>

</View>

</Views>

<Forms>

<Form Type="DisplayForm" Url="DispForm.aspx" SetupPath="pages\form.aspx" WebPartZoneID="Main" />

<Form Type="EditForm" Url="EditForm.aspx" SetupPath="pages\form.aspx" WebPartZoneID="Main" />

<Form Type="NewForm" Url="NewForm.aspx" SetupPath="pages\form.aspx" WebPartZoneID="Main" />

</Forms>

</MetaData>

</List>

Рисунок 4.2 – Описание списка приложений

<?xml version="1.0" encoding="utf-8"?>

<List xmlns:ows="Microsoft SharePoint" Title="SaMSurvey" FolderCreation="FALSE" Direction="$Resources:Direction;" Url="Lists/SaMLayout-SaMSurvey" BaseType="0" xmlns="http://schemas.microsoft.com/sharepoint/">

<MetaData>

<ContentTypes>

<ContentTypeRef ID="0x01" />

<ContentTypeRef ID="0x0120" />

<ContentTypeRef ID="0x010060395999C47F4AB4A96D79655EAD48BA" />

</ContentTypes>

<Fields>

</Fields>

<Views>

<View BaseViewID="0" Type="HTML" MobileView="TRUE" TabularView="FALSE">

<Toolbar Type="Standard" />

<XslLink Default="TRUE">main.xsl</XslLink>

<RowLimit Paged="TRUE">30</RowLimit>

<ViewFields>

<FieldRef Name="LinkTitleNoMenu"></FieldRef>

</ViewFields>

<Query>

<OrderBy>

<FieldRef Name="Modified" Ascending="FALSE"></FieldRef>

</OrderBy>

</Query>

<ParameterBindings>

<ParameterBinding Name="AddNewAnnouncement" Location="Resource(wss,addnewitem)" />

<ParameterBinding Name="NoAnnouncements" Location="Resource(wss,noXinviewofY_LIST)" />

<ParameterBinding Name="NoAnnouncementsHowTo" Location="Resource(wss,noXinviewofY_ONET_HOME)" />

</ParameterBindings>

</View>

<View BaseViewID="1" Type="HTML" WebPartZoneID="Main" DisplayName="$Resources:core,objectiv_schema_mwsidcamlidC24;" DefaultView="TRUE" MobileView="TRUE" MobileDefaultView="TRUE" SetupPath="pages\viewpage.aspx" ImageUrl="/_layouts/images/generic.png" Url="AllItems.aspx">

<Toolbar Type="Standard" />

<XslLink Default="TRUE">main.xsl</XslLink>

<RowLimit Paged="TRUE">30</RowLimit>

<ViewFields>

<FieldRef Name="Attachments"></FieldRef>

<FieldRef Name="LinkTitle"></FieldRef>

</ViewFields>

<Query>

<OrderBy>

<FieldRef Name="ID"></FieldRef>

</OrderBy>

</Query>

<ParameterBindings>

<ParameterBinding Name="NoAnnouncements" Location="Resource(wss,noXinviewofY_LIST)" />

<ParameterBinding Name="NoAnnouncementsHowTo" Location="Resource(wss,noXinviewofY_DEFAULT)" />

</ParameterBindings>

</View>

</Views>

<Forms>

<Form Type="DisplayForm" Url="DispForm.aspx" SetupPath="pages\form.aspx" WebPartZoneID="Main" />

<Form Type="EditForm" Url="EditForm.aspx" SetupPath="pages\form.aspx" WebPartZoneID="Main" />

<Form Type="NewForm" Url="NewForm.aspx" SetupPath="pages\form.aspx" WebPartZoneID="Main" />

</Forms>

</MetaData>

<List>

Рисунок 4.3 – Описание списка опросов

Каждый список, подобно таблице базы данных, состоит из полей, SharePoint Field.

Набор полей каждого из созданных списков представлен на рисунках 4.4 – 4.6.

Рисунок 4.4 – Поля списка опросов

Рисунок 4.5 – Поля списка отделов

Рисунок 4.6 – Поля списка приложений

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