Студия разработки сайтов и приложений

Netspark.ru

Заметки и разработки

Drupal

Новости модулей Drupal 6.x

Дела и заботы то и дело мешали мне продолжать выпуски новостей модулей Drupal 6.x аж с самого октября. Времени все не было, а модули копились и копились в ожидании обзора. И вот перед самым Новым годом появилась возможность продолжить.

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

Joomla-to-Drupal converter
Модуль помогает осуществить весьма благое дело: перенести сайт на Joomla на Drupal. Фичи модуля:

  • поддерживает перенос всех пользователей, материалов, секций, категорий и комментариев (с поддержкой BBcode);
  • для пользователей и материалов - сохраняет те же id (nid, uid), что позволит мигрировать даже без изменения URL-ов страниц;
  • поддерживает mosimage (для Joomla! 1.0);
  • использует Batch API, так что работа даже с большими базами данных использует минимальный объем памяти;
  • поддерживает сложные структуры материалов, такие как SOBI2;
  • модуль создан для работы с новыми инсталляциями Друпала.

Джумловоды, в бой!

elFinder file manager
Интеграция симпатичного файлового менеджера elFinder.

Менеджер умеет:

  • интегрироваться с WYSIWYG-редакторами CKEditor, FCKeditor, TinyMCE, BUEditor, jWYSIWYG, YUI и WYMeditor;
  • подгружать несколько файлов за раз;
  • копировать и перемещать файлы с поддержкой Drag & Drop;
  • быстро переименовывать файлы и директории;
  • изменять размеры изображений;
  • работать с архивами;
  • и многое другое.

Google Docs integration
Модуль интегрирует в Друпал известный сервис Google Docs (пока только на уровне чтения/скачивания документов) и позволяет выводить список либо для всех документов сайта сразу, либо отдельно для каждой группы Organic groups.

OpenID Selector
Модуль заменяет стандартную форму OpenID на JS-плагин JavaScript OpenID Selector, позволяющий пользователю просто выбрать, через что он хотел бы зайти, вообще не задумываясь о значении загадочного термина OpenID. Имеется демонстрация: http://openid-selector.googlecode.com/svn/trunk/demo.html

Stickers
Создает новый тип содержимого "Стикеры", с помощью которого можно лепить в любом месте экрана картинки-стикеры (каждая новая нода - новый стикер). Можно управлять положением стикеров на экране, а размер, форма и эффекты, применяемые к ним настраиваются через imagecache (что весьма удобно).

Git Rules
Модуль Git Rules добавляет в Rules действия, события и условия, позволяющие Друпалу взаимодействовать с репозиториями Git.
К действиям относятся: создание, клонирование и обновление репозиториев, а также добавление удаленных репозиториев.
К событиям относятся изменения репозитория по git push и git commit. К условиям добавляется проверка того или иного репозитория на существование.

KTimetracker
Модуль предназначен для измерения и отслеживания времени, затрачиваемого пользователями сайта на те или иные задачи. Модуль предоставляет кнопку "Punch" для запуска/останова измерения и поле для комментирования измеряемой деятельности. Также предоставляется возможность группировки и сортировки проведенных измерений.
Таймтрекер, в общем.

Workflow extensions
Модуль расширяет Workflow двумя полезностями. Во-первых, радио-кнопки выбора нового состояния заменяются обычными submit-кнопками, нажатие на каждую из которых приводит к смене состояния на написанное на кнопке. Автор утверждает, что смена состояния по кнопке для пользователя удобнее, чем выбор радио-кнопок. В принципе, наверное он прав.
Во-вторых, модуль позволяет (с помощью Rules) задать действия по уведомлению пользователей в случае, если состояние той или иной ноды не менялось заданное время. Тоже полезно.

Drupal Variables
Модуль позволяет без затей взять и посмотреть все переменные из таблицы {variables}, а также добавить новые переменные.

Tipsy
Я люблю модули, позволяющие лепить на страницу всякие красивые облачка-подсказки. Модуль Tipsy - как раз такой, он интегрирует в Друпал jQuery-плагин Tipsy, показывающий облачка в стиле Facebook.

Watchdog More
Модуль предоставляет администратору кнопку для моментальной очистки таблицы логов {watchdog} (dblog). Бэкпорт аналогичной функции из Drupal 7.

Giga Menu
Гига-меню преобразует стандартные меню Друпала в Мега-меню (Mega Menu). Гигамегаменю - это такие меню, которые при наведении на них курсора мыши, отображают сразу все пункты и подпункты, к которым у пользователя есть доступ. Что, конечно, занимает много места, но снижает число необходимых кликов для доступа к тому или иному пункту.

Facebook Authentication
Модуль представляет собой легковесный вариант Facebook-аутентификации, в котором данные Фейсбука не используются для регистрации нового пользователя в системе, а всего лишь отображаются в комментариях.
Тем, кому нужна именно регистрация пользователей, автор рекомендует модуль Drupal for Facebook Дейва Когана.

The Sign-Up Problem (SUP)
Модуль SUP создан для борьбы с феноменом, известным как Проблема регистрации (The Sign-Up Problem), суть которого в том, что пользователи хотят размещать у вас на сайте материалы, но не хотят заполнять форму регистрации.
В качестве решения модуль позволяет анонимным пользователям размещать (при наличии соответствующих разрешений) материалы и комментарии, и отслеживает все размещенные анонимами материалы через сессии и куки. И как только аноним решит все же зарегистрироваться - все материалы, созданные им ранее, сменят авторство на вновь зарегистрированного пользователя. Естественно, если сессия будет удалена и пользователь почистит куки - отслеживание "испортится".

Object Oriented eXperience
Модуль предоставляет разработчикам модулей базовую ООП-библиотеку и по-видимому будет интересен тем, кому не нравится текущий подход к разработке в Drupal 6.
Вдобавок, в библиотеке реализован паттерн проектирования Реестр (Registry), расширяемый через хуки.
Подробного описания API пока нет, но автор обещает, что скоро будет.

Imagecache External
Imagecache External позволяет использовать всю мощь Imagecache с картинками, загружаемыми с внешних серверов. Поддерживается создание "белого" и "черного" списка серверов, с которых можно принимать или не принимать изображения для обработки.
Интересно будет попробовать подключить это добро для использования, к примеру, вместе с Gravatar для кэширования микроаватарок.

Masked Input
Вводит в систему форм Друпала возможность настраивать маскированный ввод с помощью плагина Masked Input Plugin. Плагин позволяет настроить текстовые поля на прием только заданного набора символов только в установленном формате (дата, телефонный номер и тому подобное).

User variable
Модуль предоставляет альтернативу системным переменным из таблицы {variables} и функции, аналогичные variable_set/variable_get, но со следующими отличиями:

  1. Переменные хранятся в отдельной (от {variables}) таблице и загружаются только по необходимости.
  2. Переменные могут создаваться отдельно для разных пользователей.
  3. Переменные могут зависеть от сессии.
  4. Переменные могут быть временными (удаляться через cron).
  5. Переменные могут быть глобальными.

Views data export
Позволяет экспортировать вывод представлений Views в форматы CSV, XLS, DOC, TXT и XML. Кроме того, модуль создает соответствующую команду drush для запуска экспорта из командной строки.

Page Preview
Модуль Page Preview позволяет при создании ноды посмотреть, как она будет выглядеть на странице с точки зрения анонимного пользователя. Страница с создаваемой нодой загружается в iframe целиком, вместе со всеми блоками и т.п. Может быть удобно.

BOTCHA Spam Prevention
BOTCHA (не путать с одноименной игрой боча) - альтернатива капче. Но в отличие от капчи, боча не показывает пользователям дополнительных полей, а вместо этого создает скрытые поля в надежде, что спам-робот при сабмите формы попытается их заполнить (а он попытается). И как только заполнит - Боча сразу поймает робота и заблокирует для него возможность дальнейших сабмитов формы.
Помимо отлова ботов, модуль также ведет лог своей активности, который всегда можно посмотреть.

Production check & Production monitor
Модуль предоставляет небольшой чеклист, автоматически проверяющий, все ли сделано для перевода сайта в режим production. Проверяется, в частности, включено ли кэширование, установлен ли Boost, Google Analitycs, Nodewords и т.п.
Также в модуль входит монитор, отслеживающий состояние сайта, с поддержкой Nagios.

Comment Registration
Модуль добавляет в форму комментирования возможность по-быстренькому зарегистрироваться одновременно с сохранением комментария.

Очень неплохо, особенно если добавить немножко темизации и OpenID.

jQuery jstree
Интеграция jQuery-плагина для построения симпатичных деревьев jsTree.

Most Popular
Модуль выводит красивые блоки самого популярного и самого комментируемого содержимого, используя данные встроенной статистики (модуль statistics), данные Google Analytics и собственные запросы к БД. Блоки обладают симпатичными табами для переключения между режимами отображения статистики (см. демонстрацию). Все можно настраивать и темизировать.

Improved Admin
Расширяет возможности по администрированию содержимого. На картинке видно, во что модуль превращает страницу списка материалов:

Дополнительно, если включены Pathauto и Node Export, будут добавлены действия по массовому обновлению синонимов и экспорту нод соответственно.
Чтобы модуль работал, необходимо включить Views Bulk Operations.

Node Class
Модуль просто-напросто позволяет добавлять к создаваемым нодам файлы CSS прямо в форме создания ноды.

Object cache
Модуль предоставляет API для кэширования и извлечения из кэша объектов (нод, аккаунтов, комментариев). Также можно включать автокэширование всего что загружается через *_load().
Поскольку в модуле используется стандартное API кэширования Друпала, объекты могут храниться в memcache и т.д.

Eclipse IDE
Собственно, это не модуль, а набор шаблонов для популярной среды разработки Eclipse. А точнее - набор шаблонов всех основных хуков Друпала, позволяющий в два счета вставлять в код заготовки под хуки. Заготовки подробные, включают все аргументы, комментарии в стиле Doxygen и даже популярные варианты реализации (вроде drupal_install_schema в hook_install). Очень рекомендую всем, кому, как и мне, лень зубрить интерфейсы всех хуков, особенно длинные, как hook_user.
К слову, сам я обычно пользуюсь Zend Studio, но поскольку это по сути - тоже Eclipse, шаблоны пришлись весьма кстати.

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

  • генерация пиктограмм для подгруженных изображений;
  • интеграция с Imagecache;
  • ограничения по расширению;
  • ограничения общего загруженного объема;
  • ограничения размера загружаемого файла.

На этом обзор закончен. С наступающим Новым годом вас, дорогие читатели!

Комментарии