Показаны сообщения с ярлыком webpart. Показать все сообщения
Показаны сообщения с ярлыком webpart. Показать все сообщения

четверг, 3 мая 2012 г.

Программное создание страниц веб-частей

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

Решать её необходимо с помощью ProcessBatchData:

/// <summary>
/// Create new webpart page
/// </summary>
/// <param name="list">List to keep page</param>
/// <param name="pageTitle">Page title</param>
/// <param name="layoutTemplate">Layout template id</param>
/// <returns></returns>
private static string CreateWebPartPage(SPList list, string pageTitle, int layoutTemplate)
{
    const string newItemTemplate = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
                                    "<Method ID=\"0,NewWebPage\">" +
                                    "<SetList Scope=\"Request\">{0}</SetList>" +
                                    "<SetVar Name=\"Cmd\">NewWebPage</SetVar>" +
                                    "<SetVar Name=\"ID\">New</SetVar>" +
                                    "<SetVar Name=\"Type\">WebPartPage</SetVar>" +
                                    "<SetVar Name=\"WebPartPageTemplate\">{2}</SetVar>" +
                                    "<SetVar Name=\"Overwrite\">true</SetVar>" +
                                    "<SetVar Name=\"Title\">{1}</SetVar>" +
                                    "</Method>";
    var newItemXml = string.Format(newItemTemplate, list.ID, pageTitle, layoutTemplate);

    return list.ParentWeb.ProcessBatchData(newItemXml);
}

 

Применение:

var web = SPContext.Current.Web;
var pagesLibrary = web.GetList("Pages");
CreateWebPartPage(pagesLibrary, "MyPage", 2);

Номера шаблонов для LayoutTemplate:

  1. Целая страница, по вертикали
  2. Верхний колонтитул, нижний колонтитул, 3 столбца
  3. Верхний колонтитул, левый столбец, текстовая область
  4. Верхний колонтитул, правый столбец, текстовая область
  5. Верхний колонтитул, нижний колонтитул, 2 столбца, 4 строки
  6. Верхний колонтитул, нижний колонтитул, 4 столбца, верхняя строка
  7. Левый столбец, верхний колонтитул, нижний колонтитул, верхняя строка, 3 столбца
  8. Правый столбец, верхний колонтитул, нижний колонтитул, верхняя строка, 3 столбца

или тут.

пятница, 2 марта 2012 г.

Обзор средств разработки для SharePoint в Visual Studio 11 Beta


Visual Studio 11 Beta включает набор новых и улучшенных существующих средств SharePoint Developer Tools для разработки для SharePoint 2010, позволяющих увеличить вашу продуктивность.
Рассмотрим их по порядку.

SharePoint List Designer для списков SharePoint и типов содержимого
Теперь у вас есть возможность создавать ваши списки SharePoint и типы содержимого в визуальном редакторе.

Шаблон для создания Site Column
Создание столбцов сайта стало проще. Для этого создан специальный шаблон, который генерирует GUID для вашего столбца и позволяет вам установить для него наиболее используемые атрибуты.
(P.S. Я не знаю ни одного человека, который бы использовал столбцы сайта :))

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

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

Возможность публикации решений SharePoint на удалённые сервер SharePoint
Теперь вы можете публиковать решения на удалённые сервера SharePoint с помощью Visual Studio! Также у вас есть возможность выкачивать пакеты SharePoint из удалённой системы.

Утилиты профилирования для тестирования производительности решений SharePoint
Вам будет проще узнать узкие места в производительности ваших решений SharePoint.

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

Улучшенная поддержка отладки JavaScript и IntelliSense для JavaScript
Вы сможете писать код JavaScript в ваших решениях SharePoint с полной поддержкой IntelliSense, а также пользоваться отладкой JavaScript кода в Visual Studio. Вы даже сможете ссылаться на JavaScript-файлы, расположенные в базе данных содержимого SharePoint.

Реорганизация шаблонов проектов и элементов SharePoint
Last but not least (последнее по списку, но не по значению): шаблоны проектов и элементов SharePoint теперь организованы более логично, так что теперь вы сможете без труда найти то что вам нужно.

Шаблоны проектов для SharePoint 2007 (для рабочих процессов) теперь удалены из списка проектов Visual Studio 11. Если вы захотите продолжить использование данных проектов, то вам необходимо мигрировать их в SharePoint 2010.

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



Ссылка на пошаговые руководства по описанным нововведениям Visual Studio 11.

Нововведения в Visual Studio 11 Beta.

Наслаждайтесь!

вторник, 12 июля 2011 г.

Использование ObjectDataSource в SharePoint 2010 Visual Web Part

Создаём простейшую визуальную веб-часть.

В контрол добавляем ObjectDataSource (ODS) и что-нибудь его отображающее, допустим DataGrid:

Создаём необходимые для ODS классы — для поиска и для объекта поиска. Неважно, что они делают и возвращают.
Делаем встраивание веб-части и пробуем добавить её на страницу.

Неожиданно получаем следующую ошибку:

«Не удается найти тип объекта данных, указанный в свойстве TypeName ObjectDataSource 'SearchResultsDataSource'.»
или
«The data object type specified in the DataObjectTypeName property of ObjectDataSource ' SearchResultsDataSource' could not be found»

В чём же дело??

А дело в том, что ODS не находит нашу сборку DLL. Соответственно и необходимый тип в ней.

Решения данной проблемы может быть два: 
1. Положить сборку веб-части в папку BIN необходимого сайта (по умолчанию, «C:\inetpub\wwwroot\wss\VirtualDirectories\80\bin\»). Способ не совсем удобный. Но подходит для тех кто изначально добавляет библиотеки в BIN, а не GAC.
2. Поправить файл конфигурации сайта, web.config:
  <configuration>
  <system.web>
    <
compilation>
      <
assemblies>
        <
add assembly="YourAssembly, Version=1.0.0.0, Culture=neutral, PublicKeyToken=fed062df71e7ef1c" />
      </
assemblies>
    </
compilation>
  </
system.web>
</
configuration>