Архив за 2012 год

SharePoint Ribbon. Создание многоуровневого меню

SharePoint Ribbon. Создание многоуровневого меню

Еще один сценарий применения QASPRibbon - создание многоуровневого меню. В SharePoint меню на рибоне может быть использовано в следующих элементах: FlyoutAnchor, SplitButton, MRUSplitButon, DropDown и ComboBox. Каждое меню состоит из секций (MenuSection), которые могут содержать либо кнопки (

Читать дальше
SharePoint Ribbon. Использование ColorPicker'а

SharePoint Ribbon. Использование ColorPicker'а

Небольшой сценарий использования ColorPicker'а, встроенного в рибон, с помощью SharePoint Ribbon API. Я опишу процесс создания веб-части, которая будет регистрировать новую вкладку на рибоне с элементами управления. Сама веб-часть будет содержать два div'а, параметры отображения которых мы и будем

Читать дальше
SharePoint 2010/2013 Ribbon API

SharePoint 2010/2013 Ribbon API

На codeplex опубликована бета-версия QASPRibbon - API для SharePoint Ribbon. Есть версии как для SharePoint 2010, так и для SharePoint 2013. К сожалению нет родного API от Microsoft для удобного построения своих элементов на рибоне. Все элементы рибона должны быть описаны в виде XML. Что крайне не

Читать дальше
Office 365. Миграция на платформу Office 2013

Office 365. Миграция на платформу Office 2013

Выяснил некоторые подробности по поводу перевода Office 365 на платформу SharePoint 2013.

Читать дальше
Разработка для SharePoint. Как это было и как это будет

Разработка для SharePoint. Как это было и как это будет

Как изменялся подход к разработке решений на базе Microsoft SharePoint, начиная с SharePoint 2003, и, оканчивая SharePoint 2013. Изначально я хотел описать, что такое FEATURE в SharePoint разработке, рассказав о разработке под SharePoint 2003, когда этого понятия даже не было.

Читать дальше
SPListViewFilter 1.7

SPListViewFilter 1.7

На CodePlex опубликована очередная версия фильтра для списков SharePoint 2010. В новой версии появился новый контрол для фильтрации - слайдер.

Читать дальше
SharePoint. История социализма за 10 лет

SharePoint. История социализма за 10 лет

Выход новой версии SharePoint всегда сопровождается значительным расширением функционала связанного с внутрикорпоративным взаимодействием, основанным на личных сайтах пользователей (он же "Личный узел пользователя" и "Мой узел"). Чего нельзя сказать о работе с данными в списках/библиотеках. Я хоте

Читать дальше
SharePoint 2013. Еще немного о новых контролах

SharePoint 2013. Еще немного о новых контролах

Еще один небольшой пост о новых контролах SharePoint 2013. Сегодня три небольших контрола: FoldHyperLink, предназначенный для отображения/сокрытия информация, AuthenticatedUserDiv для управления стилями в зависимости от того, авторизован ли пользователь и WebPartError, который поможет привести к е

Читать дальше
SharePoint 2013. Контрол ClientPeoplePicker

SharePoint 2013. Контрол ClientPeoplePicker

Продолжая тему предыдущего поста о контроле ImageCrop, сегодня о ещё одном новом контроле - ClientPeoplePicker. Предназначен он, как видно из названия, для выбора пользователей. В отличии от классического PeoplePicker'а новый контрол обладает автокомплитом!

Читать дальше
SharePoint 2013. Контрол ImageCrop

SharePoint 2013. Контрол ImageCrop

Обзор нового конторла ImageCrop , появившегося в SharePoint 2013.

Читать дальше
SharePoint 2013. Тип поля Geolocation

SharePoint 2013. Тип поля Geolocation

В SharePoint 2013 появился новый тип поля, предназначенный для работы с географическими данными. Называется он Geolocation (Geographic location that represents a point on a map). Также появился новый тип представления, предназначенный для отображения данных списка на карте.

Читать дальше
SharePoint 2013. Включаем анонимный доступ

SharePoint 2013. Включаем анонимный доступ

Небольшая инструкция для включения анонимного доступа на портале под управлением SharePoint 2013.

Читать дальше
SPListViewFilter 1.6

SPListViewFilter 1.6

На CodePlex опубликована новая версия фильтра для списков SharePoint. В новой версии появилась возможность выбора разметки для отображения контролов:

Читать дальше
Создание типа поля в SharePoint

Создание типа поля в SharePoint

Создание типа поля, унаследованного от типа Пользователь (User) с реализацией кастомного пикера (EntityPicker).

Читать дальше
SharePoint 2013 Preview

SharePoint 2013 Preview

Beta-версия Microsoft SharePoint 2013 доступна для скачивания: http://www.microsoft.com/en-us/download/details.aspx?id=30345. Пока только Foundation.

Читать дальше
Report Builder. Отображаем данные на карте России

Report Builder. Отображаем данные на карте России

При построении отчетов с помощью MS Report Builder'а можно использовать контрол Map для отображения данных с привязкой к географической карте.

Читать дальше
Report Builder. This method explicitly uses CAS policy

Report Builder. This method explicitly uses CAS policy

Ошибка "This method explicitly uses CAS policy, which has been obsoleted by the .NET Framework" при просмотре отчета в построителе отчетов (Report Builder).

Читать дальше
SPListViewFilter 1.5

SPListViewFilter 1.5

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

Читать дальше
SSRS. Уникальные значения из списка SharePoint

SSRS. Уникальные значения из списка SharePoint

При создании отчетов с помощью Report Builder'а или BI DevStudio (читай "Visual Studio") в качестве источника данных можно использовать списки и/или библиотеки документов, расположенные на сайте SharePoint. Для извлечения данных в этом случае используются CAML-запросы, что означает отсутствие стан

Читать дальше
SharePoint 2010. Длительные операции с обновляемым статусом

SharePoint 2010. Длительные операции с обновляемым статусом

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

Читать дальше
Linq to SharePoint. Создаем ContentIterator

Linq to SharePoint. Создаем ContentIterator

В SharePoint 2010 для работы с большими списками есть класс Microsoft.Office.Server.Utilities.ContentIterator (Microsoft.Office.Server.dll), который позволяет итеративно обрабатывать элементы списка. Сегодня я покажу как можно реализовать аналогичный итератор при использовании Linq to SharePoint.

Читать дальше
Использование штрихкодов в SharePoint 2010

Использование штрихкодов в SharePoint 2010

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

Читать дальше
Опубликован SPListViewFilter 1.2

Опубликован SPListViewFilter 1.2

Вчера я опубликовал очередную версию SPListViewFilter. Так как предыдущие версии я не описывал, в этом посте я опишу на что способен SPListViewFilter и как он работает.

Читать дальше
Unable to locate the xml-definition for FieldName

Unable to locate the xml-definition for FieldName

При развертывании решения в SharePoint 2010 иногда возникает ошибка "Unable to locate the xml-definition for FieldName with FieldId 'GUID'"

Читать дальше
Linq to SharePoint. Получение данных из другой коллекции сайтов

Linq to SharePoint. Получение данных из другой коллекции сайтов

Сегодня я покажу как выполнять Cross-SiteCollection запросы с использованием Linq to SharePoint.

Читать дальше
Linq to SharePoint. Версионность

Linq to SharePoint. Версионность

В SharePoint 2010 есть поддержка версионности. Сегодня я покажу как можно использовать эту возможность при реализации доступа к данным списков/библиотек документов посредсвам Linq to SharePoint.

Читать дальше
SharePoint 2010. Апрельский накопительный пакет обновлений

SharePoint 2010. Апрельский накопительный пакет обновлений

Вышел апрельский накопительный пакет обновлений для SharePoint 2010 SP1. Владельцам SharePoint Server 2010 с Project Server нет необходимости устанавливать отдельно пакет обновлений для SharePoint Server 2010 и SharePoint Foundation, т.к. они в него включены. Аналогично с SharePoint Server 2010

Читать дальше
SharePoint. Получение URL-адреса иконки для документа

SharePoint. Получение URL-адреса иконки для документа

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

Читать дальше
SharePoint 2010. Отчеты MS SSRS без сервера отчетов

SharePoint 2010. Отчеты MS SSRS без сервера отчетов

Сегодняшний пост будет посвящен использованию отчетов, созданных с помощью Microsoft SQL Server Reporting Services (MS SSSRS), в портальных решениях под управлением MS SharePoint 2010. Более подробно я расскажу о вариантах работы с отчетами без сервера отчетов.

Читать дальше
Не удалось найти XML-файл в указанном расположении

Не удалось найти XML-файл в указанном расположении

Поиск и удаление "битых" решений (solutions) в SharePoint 2010, из-за которых возникают примерно вот такие ошибки: Не удалось найти XML-файл в указанном расположении: "14\Template\Features\FetureFolder\feature.xml"

Читать дальше
SharePoint 2010. PostBack для Fluent Ribbon API

SharePoint 2010. PostBack для Fluent Ribbon API

Пост о том как добавить серверную обработку нажатия на кнопку на рибоне, созданном с помощью SharePoint 2010 Fluent Ribbon API.

Читать дальше
Служба синхронизации профилей пользователей. Ошибки

Служба синхронизации профилей пользователей. Ошибки

Небольшой пост про ошибки, возникающие в SharePoint 2010 при работе со службой синхронизации профилей пользователей.

Читать дальше
Linq to SharePoint. Блокировка документов

Linq to SharePoint. Блокировка документов

Иногда при работе с документами необходимо на некоторое время запретить другим пользователями его изменение. В Microsoft SharePoint 2010 для реализации данного требования есть две возможности: извлечение файла и блокировка файла.

Читать дальше
Linq to SharePoint. Паттерн Repository

Linq to SharePoint. Паттерн Repository

Linq to SharePoint - это провайдер от Microsoft, который позволяет транслировать LINQ-выражения в CAML-запросы для работы с данными списков и библиотек документов SharePoint. Сегодня я покажу, как можно реализовать паттерн репозитория для работы с данными SharePoint 2010.

Читать дальше
Делаем сайт на SharePoint 2010. Построение иерархии страниц

Делаем сайт на SharePoint 2010. Построение иерархии страниц

Сегодня я покажу как можно построить иерархическую зависимость страниц интернет-сайта, созданного на базе MS SharePoint 2010.

Читать дальше
Linq to SharePoint. Получение мета-данных списка

Linq to SharePoint. Получение мета-данных списка

Одним из недостатков Linq to SharePoint является то, что метаданные списков (поля, типы содержимого и прочее) нельзя получить. При этом сами данные присутствуют, но только как internal. И в случае, когда необходимо проверить какие-нибудь свойства списка, приходится инициализировать объекты SPWeb и

Читать дальше
Делаем сайт на SharePoint 2010. Брендинг Wiki-страниц

Делаем сайт на SharePoint 2010. Брендинг Wiki-страниц

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

Читать дальше
Делаем сайт на SharePoint 2010. Оптимизация

Делаем сайт на SharePoint 2010. Оптимизация

Сегодня я расскажу про оптимизацию интернет-сайтов на базе MS SharePoint 2010 для достижения максимальной производительности. Этот пост будет продолжением предыдущего, посвященного брендингу SharePoint, т.е. оптимизация по большей части будет касаться интерфейса посетителей, а не редакторов/модера

Читать дальше
Делаем сайт на SharePoint 2010. Брендинг

Делаем сайт на SharePoint 2010. Брендинг

Этим постом я начну описывать процесс создания интернет сайта на основе SharePoint 2010. Первый посты будут посвящены использованию для этого бесплатной версии MS SharePoint Foundation 2010

Читать дальше
Обработка большого количества элементов в SharePoint

Обработка большого количества элементов в SharePoint

В сегодняшнем посте я продолжу писать о производительности при работе со списками/библиотеками документов в SharePoint. На этот раз массовое создание/изменение/удаление элементов. И все это в трех вариантах: Стандартный функционал SharePoint (SPListItem.Update(), SPListItem.Delete()); М

Читать дальше
Linq to SharePoint. Мапинг полей

Linq to SharePoint. Мапинг полей

Сегодня я покажу как можно описать поля списка SharePoint для использования их в запросах. А именно, как добиться построение правильного CAML-запроса и в каких случаях этого сделать нельзя.

Читать дальше
Linq to SharePoint. Формирование данных для ProcessBatchData

Linq to SharePoint. Формирование данных для ProcessBatchData

Небольшой пост о том как формировать данные для пакетной обработки данных в SharePoint (использующей метод SPWeb.ProcessBatchData()), используя модель данных Linq to SharePoint.

Читать дальше
Получение уникальных значений поля списка

Получение уникальных значений поля списка

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

Читать дальше
DeskWork 5. Функциональность (продолжение)

DeskWork 5. Функциональность (продолжение)

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

Читать дальше
Linq to SharePoint. Сравнение производительности с Camlex.NET

Linq to SharePoint. Сравнение производительности с Camlex.NET

Еще один пост, посвященный работе с Linq to SharePoint. На этот раз я решил измерить скорость работы с данными и сравнить производительность Linq to SharePoint и Camlex.NET.

Читать дальше
Linq to SharePoint. Часть 5. Поля Choice и MultiChoice

Linq to SharePoint. Часть 5. Поля Choice и MultiChoice

Велик и могуч Linq to SharePoint. Посему очередной пост будет посвящен работе с ним. На этот раз я покажу как работать с полями типа Choice и MultiChoice.

Читать дальше
Сокрытие информации о пользователе создавшем/изменившем элемент

Сокрытие информации о пользователе создавшем/изменившем элемент

Небольшая заметка об интересной возможности SharePoint: сокрытие информации о пользователе создавшем/изменившем элемент списка.

Читать дальше
Linq to SharePoint. Часть 4. Dynamic LINQ

Linq to SharePoint. Часть 4. Dynamic LINQ

В четвертом посте, посвященном работе с Linq to SharePoint я покажу примеры использования динамических запросов и опишу механизм приведения объектов SPListItem к объектам, используемым в Linq to SharePoint.

Читать дальше
Linq to SharePoint. Особенности. Часть 3

Linq to SharePoint. Особенности. Часть 3

Сегодня еще один небольшой пост, посвященный работе с Linq To SharePoint. На этот раз я расскажу о том, как использовать Linq to SharePoint в случае анонимного доступа, как получать списки по их URL'у, а не по названию.

Читать дальше
Error : Code blocks are not allowed in this file

Error : Code blocks are not allowed in this file

В SharePoint по умолчанию запрещено использовать блоки кода на страницах сайта (SitePage).

Читать дальше
SharePoint Client Object Model. Управляемый код

SharePoint Client Object Model. Управляемый код

С этого поста я начну рассказывать о клиентской объектной модели (Client Object Model) SharePoint, о том как она работает и как можно её использовать. Сегодня я покажу как работает клиентская модель в управляемом коде на примере создания веб-части, отображающей последние новости с сайта www.eon-ru

Читать дальше
Использование контрола HtmlEditor. Часть 3

Использование контрола HtmlEditor. Часть 3

В завершении описания HtmlEditor я покажу несколько примеров его использования: как запросить данные у пользователя, вызвав модальное окно с редактором и что делать, если версия интерфейса вдруг окажется равной 3 (такое часто бывает в результате миграции с SharePoint 2007 на SharePoint 2010).

Читать дальше
SharePoint 15 SDK

SharePoint 15 SDK

На горизонте замаячила новая версия SharePoint! На сайте Microsoft появилась SharePoint 15 Technical Preview Managed Object Model Software Development Kit.

Читать дальше
Linq to SharePoint. Особенности. Часть 2

Linq to SharePoint. Особенности. Часть 2

Сегодня я опишу ещё несколько особенностей при работе с LinqToSharePoint (предыдущую статью, посвященную LinqToSharePoint читаем здесь). Расскажу про построение JOIN'ов в списках, ускорении работы с данными и прочее.

Читать дальше
PeopleEditor и Internet Explorer 9

PeopleEditor и Internet Explorer 9

В этом посте я покажу, что происходит с контролом выбора пользователя (PeopleEditor) в случае работы IE9 в режиме именно Internet Explorer 9. Происходит с PeopleEditor следующая неприятность: ОН НЕ РАБОТАЕТ. Целый день я потратил на поиски решения, т.к. заказчику не верится, что Micros

Читать дальше
Использование контрола HtmlEditor. Часть 2

Использование контрола HtmlEditor. Часть 2

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

Читать дальше
Использование контрола HtmlEditor. Часть 1

Использование контрола HtmlEditor. Часть 1

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

Читать дальше
Пропадающий контрол выбора представления списка

Пропадающий контрол выбора представления списка

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

Читать дальше
Развертывание библиотеки документов с файлами

Развертывание библиотеки документов с файлами

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

Читать дальше
Отключенные учетные записи и PeoplePicker

Отключенные учетные записи и PeoplePicker

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

Читать дальше
Пропадающий TextBox в Telerik Reporting

Пропадающий TextBox в Telerik Reporting

Небольшой пост о решении проблемы с пропадающими TextBox'ами в отчетах, построенных на Telerik.

Читать дальше
Длительные операции в SharePoint. Request timed out

Длительные операции в SharePoint. Request timed out

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

Читать дальше
Длительные операции в SharePoint. Изнутри

Длительные операции в SharePoint. Изнутри

В продолжении поста об использовании SPLongOperation сегодня я постараюсь описать его внутреннее устройство:

Читать дальше
Длительные операции в SharePoint. Снаружи

Длительные операции в SharePoint. Снаружи

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

Читать дальше