Google Developer Day 2009

Побывал во вторник на конференции Google Developer Day 2009. Очень понравилось мероприятие, было много интересных докладов, но самое важное на таких конференциях — это общение в кулуарах. В этот раз, кроме того что встретился со старыми друзьями и познакомился с новыми ребятами, удалось немного пообщаться с самим Ларсом Расмуссеном, разработчиком Google Maps и Google Wave. Ларс очень обаятельный дядька, рассказал несколько слов о дальнейших планах развития Гугловолн, а также похвастался тем, что работа в Гугле для него — это настоящее удовольствие. Завидую. По доброму :)

DSC_0922.jpg

DSC_0922.jpg

А вот и отчеты о мероприятии моих друзей друпальщиков. Здесь впечатления Саши “GogA” Гоголева, а здесь Андрея “AndyCEO” Андреева.

Швабрашвабр2

Разработал и выложил в открытый доступ вторую версию своей “социальной” сборки CMS DrupalШвабрашвабр. В новой версии пользователям доступны:

  • персональные и общие фотогалереи,
  • система статусов (в стиле Фейсбука и Твиттера),
  • персональные гостевые книги (в стиле стены во вКонтакте),
  • списки друзей и посетителей,

а также от старой версии сборки остались доступны:

  • система блогов и коллективных блогов,
  • система рейтингования материалов, комментариев и “карма” (репутация) пользователей,
  • система распределения прав доступа к ресурсам сайта на основе кармы.

Дистрибутив сборки, подробная инструкция и скринкасты для самостоятельной настройки сайта с аналогичным функционалом доступны на Швабрешвабр.

В Политехническом музее

Был сегодня в Политехническом музее, в Москве, там, в одном из залов, у экспонатов вместо табличек с описаниями были вот такие надписи: DSC00819.jpg

DSC00819.jpg

Цена эсэмэски 50 центов, в ответ обещают выслать описание указанного экспоната.

Статья в PC Magazine/RE. Drupal: разработка модуля

2009-09-small.png В сентябрьском номере журнала PC Magazine/RE опубликовали мою статью на тему “Drupal: разработка модуля”. В статье рассмотрены базовые принципы разработки модулей для CMS Drupal и детально разобран пример разработки модуля “Курсы валют”, при реализации которого решены самые часто возникающие перед разработчиком задачи: создание форм (Forms API), работа с базой данных, распределение прав доступа, темизация.

В ближайшем номере будет размещена статья о темизации Друпала.

Поездка в Киев

В этом году, по мало зависящим от меня причинам, я пролетел с летним отпуском, по этому в качестве отдыха вырвался на 4 дня в Киев на проходящий там Drupal Camp 2009. Готовился выступить там с одним докладом, а остальное время отдохнуть и изучить достопримечательности города, но в результате получилось, что выступал три раза, причем все три доклада делал экспромтом, даже тот который подготовил заранее пришлось на ходу разбавить дополнительными подробностями.

Мероприятие получилось очень интересным и продуктивным. Я познакомился с большим количеством людей, с которыми раньше был знаком только заочно или не был знаком вовсе, а также в ночь с пятницы на субботу, вместо того чтобы отдыхать со всеми друпаллерами на афтерпати, сидел и делал новую демонстрационную сборку социальной сети на Друпале, о которой рассказывал в своем третьем докладе во второй день кэмпа. Сборка далась с боем, так как интернет в съемной квартире был просто ужасен, он периодически, раз в 20-30 минут, вырубался на полчаса-час (позже удалось связать эти события с включением/выключением холодильника :) по этому приходилось в недолгие минуты наличия сети, как в старые времена повременного диалапа, скачивать все потенциально необходимые файлы и открывать про запас страницы с документацией. В итоге получилась, на мой взгляд, интересная сборка, которую я рассчитываю допилить и выложить в общий доступ в течении 2-3 недель.

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

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

Пример разработки плагина для модуля CCK

На прошедшем в Киеве Друпал Кемпе я делал доклад, в котором приводил пример разработки плагина для Drupal-модуля CCK. В этой заметке я приведу краткий конспект своего доклада.

Любой создаваемый средствами CMS Drupal тип контента по умолчанию состоит из двух полей — “Тема” и “Тело сообщения”, а также из нескольких полей служебной информации (автор, дата публикации и т.п.). Модуль Content Construction Kit (CCK) представляет из себя графический интерфейс, позволяющий добавить к любому типу контента (в том числе и созданному сторонними модулями) любое количество дополнительных полей, например, поля для размещения картинок, аудио- и видеофайлов и т.п. Каждое из таких полей является плагином для CCK.

Далее в этом тексте пойдет речь о разработке подобного плагина. Материал ориентирован на людей, умеющих программировать на PHP, имеющих представление о модульной системе Друпала и опыт разработки модулей для него. Если вы интересуетесь основами программирования под Друпал, то прочитайте мою статью на эту тему, которая будет опубликована в ближайшем номере журанала PC Magazine/RE.

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

Swftools и модуль Pdf2SWfField для Друпала

Заказчику захотелось просматривать на сайте PDF-документы через flash-проигрыватель. Adobe Reader есть не у всех, да и выглядит он скучно, а к флешовому проигрывателю можно, при желании, прикрутить множество красивых эффектов. Ну и, разумеется, руками конвертировать файлы из формата PDF в SWF заказчик не захотел. Поиски готового решения ничего не дали, по этому я написал свой модуль для Друпала, который, используя бесплатный набор утилит swftools, конвертирует закачанный PDF в SWF и выводит его в самописном вьюере.

Модуль представляет из себя плагин к CCK, зависит от FileField и использует для вывода просмотрщика возможности модуля SWFTools (он не имеет никакого отношения к проекту swftools.org). Иными словами, для работы моего модуля нужны все три перечисленных выше модуля. Кроме того, на сервере должна быть установлена последняя версия swftools, я тестировал модуль с swftools 0.9 и глюков с конвертированием данных не обнаружил, за другие версии не ручаюсь. Последнее ограничение означает, что модуль не будет работать на 99,99% виртуальных хостингов. Установка swftools не должна вызвать проблем, особенно если воспользоваться вот этой инструкцией.

Демонстрация работы модуля доступна здесь: http://romka.eu/article/testovyy-dokument-demonstriruyushchiy-vozmozhnosti-modulya-pdf2swf.

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

Кнопки Home, End и Page Up, Page Down в Mac OS

На работе на прошлой неделе закупили всем сотрудникам Макинтоши. Это мой первый опыт полноценной работы за компьютером с Mac OS (пару раз до этого сидел в нете с маков, но это не считается). Классный компьютер: быстрый, мощный (хотя и относительно дорогой), в комплекте идет большое количество нужного софта, кроме того есть несколько очень удобных редакторов, полнофункциональных аналогов которых под виндой не встречал.

Но есть в этой системе для меня ооогромный минус (к слову, маководы со стажем это поведение минусом не считают): кнопки Home и End в текстовом редакторе возвращают курсор к началу и концу документа соответственно, вместо привычных по работе с Windows переходов к началу и концу строки. Кнопки Page Up и Page Down тоже ведут себя непривычно для пользователя винды. Аналог же виндового поведения кнопок Home и End — это комбинации Ctrl + влево и Ctrl + вправо. Да и то аналог это не полноценный — курсор возвращается именно к началу строки, а не к началу текста в строке, а весь программный код, обычно, начинается как минимум с одного-двух символов табуляции.

В общем, неделю провел в попытках привыкнуть к такому поведению, чтобы стать настоящим тру-маководом, но не вышло. Нашел и поставил себе замечательную программу KeyFixer (и ее версию для Firefox), которая возвращает назначает кнопкам Home, End, PgUp, PgDown классическое для винды поведение. Теперь я доволен.

P.S. Остался еще ряд неудобностей, к которым со временем надеюсь привыкнуть или побороть.

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