этот пост - копипаст с моего блога sidashin.ru (там этот текст нормально отформатирован и оформлен)
Модули для шестерки, которые упрощают жизнь разработчика и модератора. Рассмотрены модули: Administration menu, Block edit, Masquerade, Devel, Module_filter, Drush, Fasttoggle, Admin links, Delete all, Views Bulk Operations (VBO).
Разработка, настройки
Administration menu - ну это must-have для 99% сайтов. Для админа в шапке страницы показывается горизонтальное меню, с выпадающими ссылками для быстрого администрирования. До любой части админки можно очень быстро доползти, без лишних обновлений страницы в браузере. Еще очень быстро можно обновить кеш или запустить крон, наведясь на иконку сайта там же в меню. Sun, разработчик модуля, давно ведет неравный бой с глубокими багами в ядре Друпала, из-за которых 3ая версия модуля иногда глючит и ломает целиком админку незадачливым пользователям. Пока - не очень успешно, обсуждения на сотни постов (ссылки на которые есть на странице модуля) очень познавательно почитать вечером за чашечкой крепкого чаю. Читая такие вещи, понимаешь что Друпал - уже не та молодая свежая системка, где можно по-быстрому чего-нибудь пофиксить и закоммитить, пока никто не заметил. Вылазят зависимости с другими модулями, связанные проблемы, случаи-исключения, - миллионы инсталляций это вам не шутки.
Block edit - наводишься мышкой на блок, и на нем появляется ссылка "configure". Кликнув, можно быстро поменять настройки этого блока. Просто, быстро, удобно, доступно для пользователей. В свежих релизах удобнейший функционал доступен уже и для нод - удаление, редактирование, и другие действия. Надо сказать, что в Друпал7 этот функционал уже встроен в ядро, как "contextual links".
Masquerade - больше трех ролей на сайте - это явно достаточный повод устроить маскарад. Модуль создает блок для быстрого переключения между пользователями. Создаем на каждую роль пользователя, и на лету переключаемся между юзерами, не теряя админской сессии, к которой легко вернуться, кликнув switch back. Для тестирования проектов с сотнями и тысячами галочек на странице прав доступа - совершенно незаменимая вещь.
Devel - аптечка для Друпал-разработчика. Нормальные бектрейсы, статистика sql запросов, время выполнения страницы, быстрый доступ до таблицы variables из админки - это далеко не полный список фич. Например, очень легко можно подключить великолепный FirePHP - аддон для Firebug'а, для вывода дебаг сообщений не прямо в браузер, а в консоль. Детали (англ.) -
http://www.balancedscale.com/blog/200903/installing-firephp-drupal
Module_filter - когда установлена сотня-полторы модулей, на странице с их списком можно потеряться. Чтобы такого не случилось, юзаем этот модуль - он создает на странице модулей текстовое поле, вводя в которое несколько букв вы быстро отфильтруете модули по названию на лету. Простите за тавтологию
Фильтрация, как вы могли догадаться, работает на яваскрипте. Идея модуля настолько хороша, что я написал аналог (quick_filter), не зная о существовании оригинала (и безуспешно погуглив перед этим). В свою защиту могу сказать, что мой jQuery код получился посимпатичнее, поэтому я поделился своим вариантом кода с разработчиком module_finder -
http://drupal.org/node/527518
Drush - оправдан на больших проектах, где работа идет не одну неделю. Позволяет делать рутинные операции типа скачивания модулей, их включения, быстрых тестовых sql запросов, бекапа бд - через консоль. Например, чтобы установить views, надо в putty набрать
cd
/var/www
/drupal_dir
drush
dl views
drush enable views
Content copy - помогает быстро скопировать CCK поля из одного типа нод в другой. Поставляется с CCK.
Views export - похожая штука, но для Views. Очень удобно на больших и сложных сайтах создать вьюшку через Views UI, экспортировать, сохранить в свой модуль - и положить в систему контроля версий. А можно экспортировать, и перенести на другой сайт - только удостоверьтесь что зависимые модули на сайте-получаете стоят аналогичные сайту-донору. Поставляется, как вы могли догадаться, с Views.
Работа с контентом
Fasttoggle - помогает быстро снять с публикации какую-то страницу, или сделать ноду sticky. Очень удобно, например для упрощенной пост-модерации - ссылки работают на аяксе, без перезагрузки страницы.
Admin links - если вдруг мой друг block_edit вам не угодил - удаление и редактирование ноды прямо из тизера. Не надо сначала переходить на страницу ноды, потом искать таб edit, ...
Delete all - быстрое массовое удаление нод и пользователей.
Views Bulk Operations (VBO) - отличная вещь, способная с помощью всей мощи views легко заменить все административные страницы типа списка нод (admin/content/node) и списка пользователей на гораздо более мощные views-powered списки с расширенным функционалом. Скажем, если вы на странице списка пользователей хотели бы фильтрацию по имени, или по дате последнего захода на сайт, или хотели бы быстро отыскать и удалить все ноды с каким-то cck полем, выставленным в определенное значение, или еще что-то в этом духа - vbo очень помогут. Установив дополнительные модули, можно делать совсем уж
космические вещи, например управлять через views блоками сайта - заменив страницу admin/build/blocks -
http://drupal.org/project/views_block
Вывод:
PHP программисты могут вздыхать огорченно, на каждый чих уже по три модуля есть. Повторяю для себя, и для других, как заклинание: сначала гуглим, потом спрашиваем других, потом пишем свое. Для новичков еще раз - СНАЧАЛА ГУГЛИМ!
Если у вас есть предложения, что еще добавить в этот список модулей, увеличивающих эффективность работы, пишите в комментах.
upd 11.03.2010: добавлены views_export и content_copy, подсказано Oleksa@drupal.org
Комментарии
- очень близкий для меня подход... Обычно свойственен аналитикам, а не программистам.
За всеми интересными модулями не уследишь, а в списке есть пару мне не известных. Спасибо.
Суперский модуль для разработчиков http://drupal.org/project/context .
[module=features] Вэтом плане ещё удобнее - он все эти действия автоматизирует. Советую освоить.
Никогда не понимал увлечение Administration menu
Поверь это просто удобно. Гораздо быстрее, чем по обычной навигации
Сколько вам нужно сделать кликов что бы добраться до настроек кого нибудь поля в типе материала? Мне с admin_menu нужен один клик
Мне тоже admin_menu не пришёлся по душе сначала. Теперь уже в каждый проект вставляю