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

SPConf.Russia впечатления


Вчера прошла большая и очень интересная конференция SPConf.Russia 2011. И мне посчастливилось посетить это событие. Впервые в живую увидел людей, которых активно читал в интернетах. Мой маршрут был таким: В. Колесников (веб-сайты на SP) -> А. Романов (SharePoint online, sandbox) -> М. Хлупнов (duet enterprise) -> А. Маркеев (ribbon) -> А. Матюшенко (visio).

воскресенье, 19 июня 2011 г.

Использование капчи в формах SharePoint

Любой интернет сайт нуждается в защите от спам-ботов. Простая и эффективная защита от роботов - это капча. Задача этот статья - рассказать как использовать капчу в SharePoint. Для этого мы сделаем три шага - рассмотрим предмет разработки, подберем средства для разработки и разработаем веб-часть с капчей.


суббота, 16 апреля 2011 г.

Сдача 70-573 TS: Microsoft SharePoint 2010, Application Development

Сегодня я сдал Exam 70-573: TS: Microsoft SharePoint 2010, Application Development.



Процедура сдачи экзамена весьма понятна и прозрачна - при мне менеджер купил мне ваучер на два экзамена (скоро ещё 70-667 сдавать буду) с помощью visa classic(стоит это удовольствие $85), после чего выбрал названный мной экзамен, уведомил, что есть только версия на английском языке(иного мне и не нужно было) и время сдачи 105 минут.

понедельник, 7 марта 2011 г.

Unlocking the Mysteries of the SharePoint Data View Web Part XSL Tags

Приступая к прочтению этой книги я имел лишь поверхностные знания о XSL трансформации и совсем не знал особенностей её использования в DVWP. Сама трансформация в принципе совсем не сложна. Достаточно мельком просмотреть все главы книжки, чтобы понять как XSLT работает. Внимание стоит останавливать на черном человечке с пальцем, указывающем на текст. Под ним автор делится своим опытом и best practice. Ещё очень интересно как используется рекурсия в XSL. Думаю, чтобы догадаться самому как заменить все разделители в поле типа пользователь на читаемый текст или как выбрать из html разметки поля типа многострочный текст первые n слов без форматирования нужно было бы потратить совсем не мало времени.
Помимо этого, книжка сохраняет голову программиста от кучи шишок набиваемых в поисках того, как выполнить простейшие функции, вроде выборки подстроки из строки, округления числа, выявления столбца, по которому произведена сортировка, форматирования вывода числа и многих других.

Спасибо Антону за пинок в правильном направлении.

воскресенье, 20 февраля 2011 г.

ЗАМЕТКА: книга "Professional SharePoint 2010 Branding and User Interface Design (Wrox Programmer to Programmer)"

Материал в книге разжеван очень подробно. Расписаны даже самые мелкие детали. Взять её в руки и понять основы интеграции дизайна в sharepoint сможет даже человек, ни разу его не видевший, поэтому на мой взгляд она относится скорее к серии "For dummies", чем к "Programmer to Programmer".

вторник, 11 января 2011 г.

Camlex.NET - очень удобное средство для построения CAML запросов

Сегодня коллега показал мне очень удобное средство для построения CAML запросов - Camlex.NET. Это средство позволяет очень удобно при помощи лямбда выражений строить запросы, причем даже динамические. Приведу один пример запроса(на странице по ссылке много примеров).
Так выглядит CAML запрос:


<Where>
  <IsNotNull>
    <FieldRef Name="Status" />
  </IsNotNull>
</Where><GroupBy>
  <FieldRef Name="Author" />
</GroupBy>

А так его можно сделать с помощью Camlex:
var caml =
    Camlex.Query()
        .Where(x => x["Status"] != null)
        .GroupBy(x => x["Author"]).ToString();

Гораздо короче и быстрее читается.

Неудобно в случае, когда название полей не английские вместо x["Поле"] писать x[List.Fields["Поле"].Id]. На codeplex ребята быстро отвечали на мои вопросы, это тоже очень приятно.

четверг, 6 января 2011 г.

ЗАМЕТКА: книга "Jorg Krause. SharePoint 2010 as a Development Platform". Chapter 5. External Data Access

Что я для себя отметил из этой главы:

  1. Получать данные с помощью WCF сервисов можно получать через различные, так называемые, RESTfull протоколы. Среди них: HTTP, FTP, SMTP
  2. Данные можно отправить и получать в виде AtomPub или JSON и сериализовывать в объекты. Для указания в каком формате получать и отправлять данные, необходимо указать соответствующий параметр в HTTP Header
  3. Адрес сервисадля получания данных из списков:  http://[servername]/_vti_bin/listdata.svc
  4. Параметры фильтрации. сортировки, выборки указываются GET параметрами запроса.
  5. Для работы из приложения, удобно подключать WCF Service как Service Reference. В этом случае можно делать запросы используя привычный синтаксис LINQ или при помощи лямба выражений.