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

Был сегодня в Политехническом музее, в Москве, там, в одном из залов, у экспонатов вместо табличек с описаниями были вот такие надписи: 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. Остался еще ряд неудобностей, к которым со временем надеюсь привыкнуть или побороть.

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

Доставка

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

  1. Доставка диска, в данном случае из Бристоля, стоила 1,21 английского фунта (60 рублей). До этого посылку получал из США, её доставка стоила около 7 долларов. Для сравнения, я живу на окраине Москвы, курьеры сюда или вообще отказываются ехать, или берут за свою работу 200-300 рублей.
  2. При оплате через пайпалку в форме, в которой задается адрес доставки, в выпадающем списке стран нет России. Я обычно выбираю в таком случае Финляндию, а в комментарии большими буквами указываю, что слать заказ надо в Россию. Разумеется, кроме страны доставки указывается индекс, город и точный адрес. На этот раз конверт шел две недели и, судя по надписям на нем, аж два раза прошел через Финляндию:

letter-1.jpg

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

Эксперименты с вКонтакте API

Никогда не был зарегистрирован ни в каких социальных сетях, а тут по работе пришлось написать и интегрировать во вКонтакте небольшую программку>. Следствием этой работы стало то, что я, после недолгих экспериментов с API, интегрировал во вКонтакте также и свою старую игрушку “Сталкер” (кроме того я прикрутил к геймплею игры пару интересных фич). Приглашаю всех желающих присоединиться к игре и попробовать свои силы.

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