Блог Сергея Байдачного

Мой блог о технологиях

Archive for the ‘SharePoint’ Category

SharePoint 2010 и SilverLight: Встроенные Web-части

leave a comment »

Самый простой способ добавить Silverlight-приложение на страницу, это использовать уже встроенные Web-части. Для этого нужно выполнить два действия:

· Разместить существующий .xap-файл в один из списков SharePoint. Список или библиотека могут быть абсолютно произвольными. Я предпочитаю использовать библиотеки, определенные в шаблоне Global, например, галерею master-страниц. Загрузив .xap-файл в выбранный список, обязательно скопируйте полный путь к нему (например, http://sbaydach64/_catalogs/masterpage/SilverLight/DragAndDrop_Chapter0.xap);

· Перейдите на страницу, где Вы планируете разместить Silverlight-приложение, войдите в режим редактирования и выберите Silverlight Web-часть, указав Url на Ваш .xap-файл:

image

@2 Вставка Silverlight Web-части

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

Когда я говорю о SharePoint 2010, то обычно подразумеваю как бесплатную версию продукта – SharePoint Foundation 2010, так и платную – SharePoint Server 2010. Silverlight web-часть присутствует в обоих версиях продукта. А вот Web-часть, отображающая видео, присутствует только в платной версии.

Фактически, Silverlight Media Web-часть представляет собой готовый медиа плейер, позволяющий принимать имя видео файла в одном из списков SharePoint. Эта web-часть может быть использована пользователем, для размещения видео на любой из страниц. Кроме этого, она используется в библиотеках, предназначенных для хранения видео, изображений и другой информации.

Несмотря на то, что Silverlight Media Web-часть отсутствует в бесплатной версии, ее легко реализовать самостоятельно, но для этого Вам понадобиться Visual Studio 2010.

Продолжение следует.

Written by Sergiy Baydachnyy

05.02.2010 at 09:47

Опубликовано в SharePoint, SilverLight

Tagged with ,

SharePoint 2010 и SilverLight: Обзор возможностей

leave a comment »

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

Еще в своих постах о SilverLight 4, я говорил, что в Silverlight был сделан большой акцент не только на общедоступные приложения, работающие в Интернет, но и на корпоративные приложения. Между тем, SharePoint представляет собой продукт, который призван решить две задачи: реализовать механизм управления контентом на сайтах организации, обеспечить поддержку процессов документооборота. И если на рынке CMS систем, SharePoint 2010 имеет сильных конкурентов, большинство из которых Open Source (с открытым кодом, но никак не свободным – эта игра слов, для новичков), то в корпоративном секторе, среди систем документооборота, ему нет равных. Тут есть и тесная интеграция с Windows Workflow, и ASP.NET ориентированный интерфейс, а теперь еще и интеграция с Silverlight.

Давайте рассмотрим, какие возможности, связанные с Silverlight, представлены в SharePoint.

Тут можно сделать акцент на следующих возможностях:

· Поддержка специальной Web-части (Silverlight Web Part), которая позволяет отобразить Silverlight-приложение;

· Поддержка специального Silverlight элемента управления, который способен отображать видео на SharePoint сайтах;

· Тесная интеграция с Office Web Application – набором офисных пакетов, работающих в Web. Именно в Web, Microsoft теперь выпускает такие продукты, как Word, Excel, PowerPoint, работающие в браузере. С одной стороны, эти продукты можно использовать в Интернет, например, редактируя документы в Sky Drive. С другой стороны, эти продукты поставляются вместе с SharePoint Server 2010 – платной версией SharePoint. Office Web Application могут работать, используя только возможности HTML и JavaScript, но если на машине пользователя установлен Silverlight, то он сможет воспользоваться дополнительными преимуществами интерфейса;

· Поддержка специально разработанных библиотек (Client API), позволяющих взаимодействовать с SharePoint из Silverlight-приложения, скрывая детали от разработчика;

· Взаимодействие с данными из списков SharePoint с помощью REST служб, то есть служб, обмен данными с которыми происходит по HTTP, но с сохранением связей между объектами. Подобный механизм работает благодаря тому, что все списки в SharePoint, имеют точку доступа к соответствующей REST-службе. В свою очередь Silverlight обладает мощными механизмами взаимодействия со службами по HTTP;

· Поддержка развертывание Silverlight-приложений в режиме «песочницы». Подобный режим позволяет выполнять развертывание решений под SharePoint, используя только права администратора коллекции сайтов. Ранее, чтобы развернуть любое решение в SharePoint, необходимо было иметь права администратора всего сервера. Иными словами, чтобы добавить Silverlight-приложение на свой сайт, Вам не нужно быть администратором сервера. На самом деле, если Вы разворачиваете только .xap-файл, то можно обойтись и без прав владельца коллекции, но если Вы разворачиваете решение, содержащие набор фич (feature – вот так в SharePoint называется единица развертывания), то без прав владельца не обойтись;

· Тесная интеграция с существующим интерфейсом SharePoint 2010. Так, если у пользователя установлен Silverlight, то многие диалоговые окна и элементы навигации приобретают дополнительные интерфейсные возможности, делая интерфейс более «приятным». В качестве примера можно рассмотреть интерфейс окна, позволяющего создавать сайты внутри коллекции:

image

@1 Пример диалогового окна Create, реализованного в SharePoint на SilverLight

Итак, сделав обзор всех аспекты интеграции Silverlight и SharePoint 2010, перейдем к детальному изучению некоторых из них.

Продолжение следует.

Written by Sergiy Baydachnyy

05.02.2010 at 07:54

Опубликовано в SharePoint, SilverLight

Tagged with ,

SharePoint 2010: Что нового? (часть 5) – Использование LINQ

3 комментария

Если Вы разрабатывали хотя бы одну простую веб-часть для SharePoint, то наверняка сталкивались с проблемой доступа к данным в списках. Чтобы выбрать данные из списка, приходилось формировать запросы на специальном языке CAML, который, в свою очередь, был слабо документирован и плохо поддавался изучению. В свою очередь, в SharePoint 2010, возможности списков значительно расширены, а значит, усложнились CAML-запросы. Но не стоит пугаться, так как с расширением возможностей списков, разработчикам стал доступен и новый механизм по выбору данных из списков – LINQ (Language Integrated Query).

Если Вы еще не сталкивались с LINQ, то, в двух словах, можно сказать, что LINQ представляет собой специальный механизм доступа к данным в любом хранилище. Данный механизм позволяет создавать запросы на языке, более приемлемом для C# или VB.NET программистов (С# и VB.NET соответственно), чем «родной» язык хранилища.

Работа LINQ технологии обеспечивается специальными провайдерами, которые преобразуют запросы на C# или VB.NET, в запросы на «родном» языке. В теории, этих провайдеров может быть любое количество, но на практике, существовало только три провайдера: LINQ to SQL, LINQ to XML, LINQ to Entity. Эти провайдеры обеспечивали доступ к данным в реляционных хранилищах, XML документах и динамических наборах объектов соответственно. SharePoint 2010 представляет новый провайдер – LINQ to SharePoint.

LINQ to SharePoint позволяет транслировать LINQ запросы в CAML, скрывая все детали от разработчика.

Чтобы использовать LINQ to SharePoint провайдер, Вам необходимо выполнить три шага:

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

· использовать DataContext класс из пространства имен Microsoft.SharePoint.Linq для получения ссылки на список, с которым Вы планируете работать;

· непосредственное использование LINQ для выбора данных из списка.

Рассмотрим последовательность описанных действий более детально.

Итак, первым делом необходимо описать классы, которые будут использоваться для работы с данными из списка. Эти классы должны включать:

· свойства, соответствующие колонкам списка, с которыми Вы собираетесь работать. Тут доступно 9 атрибутов, так каких как Association, Column, Choice, ContentType и др.;

· в зависимости от сложности колонок, могут понадобиться дополнительные типы: перечислимые типы или классы, описывающие списки, с которыми есть связки;

· необходимо предусмотреть механизм обновления данных: поведение при конкурентной работе.

Разработка такого набора классов может стать сложной задачей, а сами классы могут содержать ошибки. Поэтому, чтобы облегчить жизнь программисту, SharePoint 2010 поставляется вместе со специальной утилитой SPMetal. Утилита содержится в директории, подобной этой: C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\BIN, и позволяет генерировать необходимые классы автоматически.

Вот пример использования утилиты:

spmetal /web:http://sbaydach64

    /namespace:sharePoint_Linq /code:SharePoint_Linq.cs

В данном случае, утилита выбирает информацию обо всех списках на сайте http://sbaydach64 и генерирует код на C#, куда включает все классы, необходимые для работы с этими списками.

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

На следующем этапе, Вам необходимо создать экземпляр класса DataContext и получить ссылку на один из списков:

DataContext data = new DataContext(“http://sbaydach64”);
 
EntityList<Contact> Contacts = data.GetList<Contact>("Contacts");
 

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

Наконец, остается выбрать данные, сформировав необходимый запрос:

var myContacts = from contact in Contacts
                      where contact.City == "Dnepropetrovsk"
                      select contact;

Я всегда считал LINQ абсолютно бесполезной технологией. В первую очередь это обосновывалось тем, что LINQ «приучал» разработчиков писать запросы в коде (ведь LINQ to SQL применяют наиболее часто). На мой взгляд, это неправильно, так как данный код сложно поддерживать и оптимизировать. Но, кажется, в данном случае, использование LINQ вполне оправдано.

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

Замечание. Использовать LINQ to SharePoint можно лишь на серверной стороне. Несмотря на то, что Silverlight уже поддерживает базовую реализацию LINQ, клиентских библиотек для SharePoint нет.

Written by Sergiy Baydachnyy

04.02.2010 at 09:19

Опубликовано в SharePoint

Tagged with

SharePoint 2010: еще немного о “песочнице”

with one comment

Если Вы разрабатываете решения для «песочницы» в Visual Studio 2010, то можете заметить, что редактор достаточно хорошо поддерживает систему IntelliSense, скрывая имена классов, которые не поддерживаются в «песочнице». Между тем, если Вы попытаетесь откомпилировать код, содержащий «запрещенные» классы, то код успешно откомпилируется. Это связано с тем, что проверка происходит не на этапе компиляции, а на этапе выполнения (ведь речь идет о Code Access Security, а CAS работает именно на этапе работы приложения).

Учитывая, что разработчик часто копирует уже готовые куски кода, на одну IntelliSense систему полагаться нельзя. Поэтому, чтобы застраховать разработчика от возможных ошибок на этапе кодирования, вместе с SharePoint 2010, поставляется специальная версия сборки Microsoft.SharePoint.dll, расположенная в директории C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\UserCode\assemblies. Отличие этой версии сборки от той, что располагается в папке ISAPI, состоит в том, что она содержит только классы, доступные в «песочнице». Поэтому, во время кодирования, Вы можете заменить ссылку на Microsoft.SharePoint.dll с обычной на специальную версию. Это обеспечит компиляцию кода, который будет гарантировано работать в «песочнице». Между тем, выполняя развертывание решения, ссылку нужно вернуть на обычный вариант сборки.

Written by Sergiy Baydachnyy

01.02.2010 at 12:05

Опубликовано в SharePoint

Tagged with

SharePoint 2010: Что нового? (часть 4) – Песочница

2 комментария

В одной из статей MSDN (http://msdn.microsoft.com/en-us/library/aa302436.aspx) описывается способ изолировать приложения с помощью установки различных уровней безопасности доступа кода (Code Access Security). Одна из областей применения CAS – хостинг веб приложений. Ведь с помощью атрибутов в конфигурационном файле или программно, хостер может разместить Веб-приложение, назначив ему определенные права доступа к различным ресурсам. При этом все приложения могут успешно работать под одним пользователем (ASPNET), а иметь абсолютно разный уровень доступа к ресурсам.

На практике мне не удавалось видеть много веб-приложений, использующих CAS. Большинство хостеров ограничивается отдельным пулом приложений для каждого веб-приложения (а некоторые не делают и этого). Но SharePoint 2010 использует именно CAS для реализации такого понятия как «песочница». Рассмотрим этот вопрос подробно.

Если Вы сталкивались с SharePoint 2007, то могли заметить, что развернуть решение под SharePoint мог только администратор сервера. Иными словами, если бы Вы задумали реализовать хостинг на базе SharePoint 2007, то Вам пришлось бы ограничить своих клиентов предопределенным набором фич, то есть предоставлять готовое веб-приложение, обладающее всей необходимой функциональностью. Как альтернативу, Вам пришлось бы принимать регулярные запросы от клиентов, с просьбой развернуть ту или иную фичу. При этом, механизмов проверки фичи на «профпригодность» не было, а развертывание некоторых сборок в GAC могло навредить всей системе. Именно поэтому, SharePoint 2010 позволяет разворачивать собственные решения не только под правами администратора сервера, но и под правами обычного владельца коллекции сайтов. При этом решения обладают всеми (практически) атрибутами, включая определение списков, веб-части, доступ к API и т. д.

Чтобы реализовать механизм развертывания решений под правами владельца коллекции, в SharePoint 2010 был реализован механизм песочница. Данный механизм позволяет развернуть решение, которое будет выполняться в изолированной рабочем процессе, с ограниченными правами, как раз и определяющимися с помощью Безопасности доступа кода (CAS). Эти права позволяют использовать API на уровне сайта (коллекции), но не веб-сервера или фермы серверов, запрещают развертывание в GAC и исключают влияние развернутых фич в песочнице на работу всего сервера.

Если Вы заинтересовались, какие права устанавливаются коду в песочнице, то можете обратиться к файлу wss_usercode.config, который находится в каталоге C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\CONFIG (или похожем).

С точки зрения пользователя, функционал песочницы реализован с помощью Галереи Решений, которая доступна через настройки сайта:

clip_image002

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

Подобный подход позволяет хостеру не думать о функциональности, а продавать лишь доступ к SharePoint, создавая веб-приложения по определенному шаблону. Все расширения будет проводить сам владелец коллекции. Естественно, что такой подход удобен для работы с «продвинутыми» клиентами.

Written by Sergiy Baydachnyy

28.01.2010 at 18:51

Опубликовано в SharePoint

Tagged with

SharePoint 2010: Что нового? (часть 3) – Интеграция с VS2010

with one comment

В SharePoint 2010 достаточно большой акцент был сделан на повышение производительности разработчика. Ведь не секрет, что в предыдущей версии продукта, разработчик был лишен любых мастеров и дизайнеров, позволяющих создавать компоненты для SharePoint. Расширения, которые поставлялись для Visual Studio 2008, были настолько не практичны, что получили лишь негативные отзывы от разработчиков.

Между тем, Visual Studio 2010 содержит достаточно большое количество разнообразных шаблонов, позволяющих моделировать создавать процессы, веб-части, шаблоны сайтов и др. Поэтому, рассматривая процесс создания любого из компонентов, мы попытаемся использовать Visual Studio 2010. Но забывать о «низкоуровневой» структуре решения и механизмах развертывания без Visual Studio также не стоит.

Следует также отметить, что кроме отсутствия хороших утилит для разработчика, в SharePoint 2007 отсутствовала и хорошая документация. Большинство классов не имели описания вовсе, а количество технических статей было настолько маленьким, что разработчики тратили большое количество времени на создание простого решения. Была очень большая надежда на то, что с выходом SharePoint 2010 ситуация поменяется. Но, скачав SDK для версии бета 2, я убедился, что надежда была ложная. По-прежнему SDK содержит минимум полезной информации, а большинство новой функциональности не имеют описания вовсе.

Но хватит о грустном, перейдем к работе с SharePoint 2010 и Visual Studio 2010.

Первое, с чего хотелось бы начать, это поддержка SharePoint 2010 в окне Server Explorer.

clip_image002

В Server Explorer достаточно удобно можно просмотреть полную иерархию приложения, включая идентификаторы фич, поля списков и доступные рабочие процессы.

Следующая возможность, доступная из Visual Studio 2010, это большое количество шаблонов проектов для SharePoint 2010.

clip_image004

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

Попробуем создать проект на основе Empty SharePoint Project шаблона. При этом обязательно обратите внимание на начальные параметры для развертывания проекта.

clip_image006

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

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

clip_image008

Как видно, данный шаблон, как и положено решению для SharePoint, содержит манифест, в виде файла Package.Template.xml, а также спаренного с ним файла Package.package. Созданные фичи, имеют аналогичное описание в виде XML файла и спаренного файла с расширением features. Созданные веб-части, имеют в своей структуре Elements.xml, служащий инструкциями для заполнения фичи, с последующей ее упаковкой в пакет. Разделение же файлов описывающих фичи и решение, не случайно. Данный подход позволяет программисту редактировать XML файл, в то время как Visual Studio, вносит изменения в спаренный файл. Это позволит обезопасить от ошибок визуального дизайнера, да и разработчик может контролировать процесс. Иными словами, если посмотреть на текущую структуру проекта, то все на поверхности и поддается модификации, чего нельзя было сказать о предыдущей версии утилит.

Хочу отдельно отметить дизайнер, возникающий при попытке открыть файлы с расширением feature или package.

clip_image010

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

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

clip_image012

Напоследок хочется отметить, что Visual Studio 2010 позволяет отлаживать SharePoint решения, уже привычным для разработчика способом – устанавливая точки останова. Последнее делает разработку приложений для SharePoint детской забавой.

Таким образом, если говорить об утилитах для SharePoint 2010, встроенных в Visual Studio 2010, то, кажется, разработчики получили то, о чем так долго мечтали.

Written by Sergiy Baydachnyy

21.01.2010 at 08:04

Опубликовано в SharePoint

Tagged with

SharePoint 2010: Что нового? (часть 2) – Master-страницы или гвоздь в голову

4 комментария

В SharePoint 2010 произошли небольшие изменения, связанные с обработкой эталонных (master) страниц. Первое изменение коснулось страниц приложения (общих страниц для всех сайтов). Теперь страницы приложения подключают ту же эталонную страницу, что и контентные страницы самого сайта. Таким образом, интерфейс, позволяющий настраивать параметры сайта, списков и других элементов, будет выглядить в едином стиле со всем сайтом. При этом, чтобы гарантировать бесперебойную работу некоторых важных страниц приложения, было принято решение выделить несколько страниц в отдельную группу и сохранить старую модель использования эталонных страниц. Так, следующие страницы, используют simple.master, которая находится в общей директории со страницами приложения и не зависит от сайта:

· AccessDenied.aspx

· MngSiteAdmin.aspx

· People.aspx

· RecycleBin.aspx

· ReGhost.aspx

· ReqAcc.aspx

· Settings.aspx

· UserDisp.aspx

· ViewLsts.aspx

Если говорить о страницах сайта (контентных страницах), то теперь они используют новую эталонную страницу v4.master, которая находится в шаблоне Global (об этом позже).

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

Как говорит мой коллега, Виктор Шатохин: «Этим разработчикам нужно забить гвоздь в голову». Действительно, в документации говорится, что все страницы теперь имеют общую эталонную страницу v4.master. Но если Вы посмотрите на код страниц сайта, то обнаружите следующую запись:

MasterPageFile="~masterurl/default.master"

Если смотреть на код страниц приложения, то запись немного другая (но не на много лучше):

DynamicMasterPageFile="~masterurl/default.master"

Таким образом, v4.master обнаружить не удалось.

Оказывается, чтобы реализовать механизм для страниц приложений, в SharePoint 2010 используют атрибут DynamicMasterPageFile, который не задает реальный адрес эталонной страницы, а использует один из двух динамических шаблонов:

· "~masterurl/default.master"

· "~masterurl/custom.master"

В первом случае выбирается страница, которая используется конкретным сайтом для страниц сайта. Данную страницу можно получить через свойство MasterUrl объекта, связанного с веб-приложением (SPWeb). Во втором случае, страница выбирается из свойства CustomMasterUrl, связанного с объектом веб-приложения. Очевидно, это было сделано для того, чтобы иметь возможность установить альтернативную эталонную страницу, отличающуюся от эталона для контент страниц. Пожалуй это можно простить и догадаться о подмене по DynamicMasterPageFile атрибуту.

Теперь обратимся к страницам сайта. Тут установлен MasterPageFile атрибут, поэтому говорить о какой-то динамической подстановке v4.master сложно. Но при загрузке страницы используется именно v4.master. Оказывается, что страница переопределяется в конфигурационном файле шаблона onet.xml:

<Configuration ID="0" Name="Default" 
MasterUrl="_catalogs/masterpage/v4.master">

Естественно, что описанием изменений в onet.xml и не пахнет.

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

Written by Sergiy Baydachnyy

19.01.2010 at 13:36

Опубликовано в SharePoint

Tagged with

SharePoint 2010: Что нового? (часть 1) – Интерфейс

3 комментария

О чем пойдет речь?

При работе с SharePoint 2007 выделяли две версии продукта: Windows SharePoint Service 3.0 (WSS 3.0) и Microsoft Office SharePoint Server 2007 (MOSS 2007). Продукт WSS 3.0 являлся бесплатным и предоставлял фундамент для развертывания собственных решений. В свою очередь MOSS 2007 представлял собой настройку над WSS 3.0 с большим количеством расширений, дополнений и возможностью масштабироваться. Обычно разработчикам все равно, какой из двух продуктов используется, хотя, в сложных решениях, это принципиально.

В новой версии SharePoint произошла небольшая смена названий. Теперь бесплатная версия продукта носит название Microsoft SharePoint Foundation 2010, а платная – Microsoft SharePoint Server 2010.

Хочу сразу отметить, что мы будем вести речь только о Microsoft SharePoint Foundation 2010. Хотя все сказанное применимо и к старшему брату этого продукта. Для простоты мы будем говорить просто – SharePoint, подразумевая Microsoft SharePoint Foundation 2010.

Прежде чем переходить к отдельным темам, посвященным разработке решений для Microsoft SharePoint Foundation 2010, хотелось бы остановиться на тех нововедениях, которые реализованы в этом продукте и могут быть интересны разработчикам. Мы начнем с изменений в интерфейсе, а закончим описанием возможностей Visual Studio 2010 и SharePoint Designer.

Новый интерфейс

Лента

Начнем с первого, что, вероятнее всего, сразу бросится в глаза – Лента (Ribbon). Элемент управления Лента впервые появился в приложениях Microsoft Office 2007 и теперь перекочевал и в SharePoint. Фактически везде, где требуется меню, управляющее контентом (как сайта, так и списками), возникает Лента.

clip_image002

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

Изменения в CSS

В SharePoint 2010 изменения коснулись core.css. Теперь это не один файл, а целый набор файлов, разбивающих старый мега-стиль на несколько стилей, сгрупированных по назначению. Кроме того, в стандартный набор предопределенных списков входит список под названием Style Library. Даный список (библиотека) может быть использован разработчиком для размещения картинок, стилей и других элементов, связанных с оформлением сайта, полагаясь на то, что список всегда присутствует.

Диалоговые окна

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

clip_image004

Естественно, разработчик имеет возможность разрабатывать собственные диалоговые окна.

Редактирование содержимого

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

clip_image006

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

Поддержка разных браузеров

Несмотря на довольно привлекательный интерфейс, выполненный в стиле Web 2.0 с использованием AJAX, SharePoint 2010 поддерживается сразу тремя браузерами. Так Microsoft гарантирует поддержку для Internet Explorer, FireFox и Safari браузеров. Пока ничего не сказано о Google Chrome, но с ним тоже не должно быть проблем. А вот Opera традиционно не поддерживается. Последняя, несмотря на свою скорость, имеет множество проблем с логикой работы того же JavaScript и с обеспечением безопасности (отсюда и скорость).

Работа с группой элементов

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

clip_image007

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

Локализация интерфейса

Еще одна возможность, удобная для пользователей, работающих в интернациональных компаниях, это локализация интерфейса управления порталами в зависимости от языковых предпочтений. Так, предыдущая версия SharePoint поддерживала только один язык для управления порталом (например, английский). Теперь, после установки языковых пакетов, пользователю будет отображаться тот язык, который установлен в его локальных настройках. Следовательно пользователей, работающий в США, получает англоязычный интерфейс управления, а пользователь, работающий в Украине – русскоязычный или украиноязычный интерфейсы.

XSLT веб-часть

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

Written by Sergiy Baydachnyy

19.01.2010 at 13:32

Опубликовано в SharePoint

Tagged with