Дела и заботы то и дело мешали мне продолжать выпуски новостей модулей 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
, но со следующими отличиями:
- Переменные хранятся в отдельной (от
{variables}
) таблице и загружаются только по необходимости. - Переменные могут создаваться отдельно для разных пользователей.
- Переменные могут зависеть от сессии.
- Переменные могут быть временными (удаляться через cron).
- Переменные могут быть глобальными.
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;
- ограничения по расширению;
- ограничения общего загруженного объема;
- ограничения размера загружаемого файла.
На этом обзор закончен. С наступающим Новым годом вас, дорогие читатели!