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

Netspark.ru

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

Drupal

Модули за неделю, 19 — 25 апреля

С 19 по 25 апреля свет увидело целых 29 модулей для Drupal 6.x, из которых четыре входят в набор анализаторов, несколько выползло из-под крыла правительства США, а еще два - и вовсе сделаны в шутку.

Полный список новых модулей: PHP-Nuke to Drupal, Country Select, Content Analysis, Scribe SEO Analyzer, Readability Analyzer, W3C Analyzer, Scripts, FileField Meta Refresh, Video for Everybody!, Menu Wizard, Comment limit, Open Media Me, Open Media Navigation, Composite Layout Revisioning, EasyEdit, EasyLaunch, Hansel Breadcrumbs, Akamai, Context HTTP Headers, Domain Admin, CCK Required Single Select, GovDelivery Integration, Graphviz Styles, Node Embed, Limited Content View, Devel Queries Ajax, Who's your daddy, Bad judgement и Raphaël.

Далее описания.

PHP-Nuke to Drupal
Модуль для миграции в Друпал с PHP-Nuke. Умеет импортировать:

  • Конфигурацию сайта (название, слоган и язык и так далее).
  • Пользователей (включая админов).
  • Ноды (ноды story, ссылки, события, обзоры, секции и содержимое энциклопедии).
  • Таксономию: разделы, темы, категории нод типа story, ссылок и загружаемого содержимого.
  • Главы энциклопедий импортируются как термины таксономии.
  • Комментарии.

Дополнительно:

  • Умеет создавать роли, словари, типы содержимого и представления Views по требованию.
  • Умеет использовать Batch API Друпала.

Country Select
Дополнение для модуля addresses_cck_module. Добавляет поле с выпадающим списком для стран, использует данные модуля addresses для определения регионов выбранной страны.

Content Analysis
Content Analysis представляет собой API, разработанный для модулей, которым необходимо анализировать содержимое. Модуль позволяет набору анализаторов предложить вам несколько разных взглядов на содержимое сайта. В настоящее время список доступных анализаторов состоит из четырех модулей, последние три из которых тоже появились на этой неделе:

  • Quick SEO: простой и быстрый анализ содержимого, помогающий лучше продвигать сайт в поисковиках по заданному ключевому слову..
  • Scribe SEO Analyzer: продвинутый анализ содержимого, помогающий продвижению в поисковиках. Позволяет определять ключевые слова сайта.
  • Readability: Оценивает содержимое по пяти известным автоматизированным тестам читабельности.
  • W3C Analyzer: Проверяет содержимое валидатором W3C.

Scripts
Модуль Scripts позволит вам запускать команды консоли и/или php-скрипты разными способами. Можете указать скрипты, которые будут запускаться при загрузке каждой страницы, при запуске cron или при доступе к заданному для этого скрипта внутреннему адресу.

Скрипты вам пригодятся для автоматизированных бэкапов, обновлений систем контроля версий и всего остального автоматизированного. Также имеется API для использования другими модулями.

FileField Meta Refresh
Модуль появился потому что у его автора был хостинг, на котором разрешалось подгружать файлы весом не более чем 40 Мб. Чтобы обойти ограничение, автор подгружал через браузер небольшой файл с таким же именем, затем загружал настоящий файл по FTP, копировал его в директорию files/ Друпала поверх предыдущего небольшого, а затем вручную редактировал мета-данные в БД.
Созданный модуль призван решать проблему через изучение файлов в files/, генерирование свежих мета-данных, сравнение их с существующими в БД и предложение обновить устаревшие.

Video for Everybody!
Реализация проекта Видео для всех! в Друпале.

Видео для всех - небольшой кусочек HTML-кода, который вставляет в веб-страницу видео с помощью соответствующего элемента HTML5, обеспечивающего встроенное воспроизведение в Firefox 3.5+, Safari3 и 4, iPhone, iPad, Google Chrome и в постоянно растущем числе других браузеров. Если HTML5 не поддерживается, код перестраивается под вставку QuickTime-видео, если и этого сделать нельзя - вставляется flash-плеер. Наконец, если flash недоступен - отображается изображение со ссылкой на скачивание видео.

Таким образом, с одной стороны используются преимущества HTML5, а с другой - сохраняется обратная совместимость.

Menu Wizard
Модуль Menu Wizard позволит вам редактировать элементы меню, заданные другими модулями, так же, как с помощью hook_menu_alter(), только без разработки собственного модуля.
Модуль позволяет изменить для любой созданной через hook_menu() страницы тип элемента, файл с функцией генерации страницы, а также названия и аргументы для access-, page- и title-коллбэков.

Comment limit
Ограничивает количество комментариев, которые пользователь может оставить к отдельно взятой ноде. Число можно регулировать отдельно для каждого типа содержимого.

Open Media Me
Модуль добавляет юзеро-центричный интерфейс для инструментов Open Media.

Open Media Navigation
Создает наборы "фальшивых" вкладок, аналогичных обычным MENU_LOCAL_TASK Друпала, вводит хук для генерации таких вкладок. Из описания модуля неочевидно, зачем они нужны, но, тем не менее, они используются в проекте Open Media.

Composite Layout Revisioning
Модуль связывает два других модуля: Revisioning и Composite Layout.
В принципе, Composite Layout уже "в курсе ревизий", но нужно несколько пунктов меню для редактирования соответствующих данных ревизии.

EasyEdit
Модуль для облегчения администрирования. Показывает ссылки для быстрого редактирования элементов содержимого при наведении курсора мыши на них. Например:

  • для блоков - ссылку на редактирование блока;
  • для меню - ссылку на редактирование самого меню;
  • для нод - ссылки на редактирование ноды, на снятие ее с публикации и на редактирование типа содержимого;
  • для комментариев - ссылки на редактирование и снятие с публикации.

Дополнительное удобство заключается в том, что при переходе по ссылке такого рода и осуществлении соответствующих действий нас вернет на страницу, с которой был произведен переход. Также имеется интеграция с Views.
Поставил - прикольно.

EasyLaunch
Еще один модуль для облегчения администрирования от того же разработчика. На этот раз - в части навигации по страницам меню. Нажимаем на любой странице Ctrl+Z - появляется форма быстрой навигации с клавиатуры (аналогичная Alt+F2 в KDE). Вводим часть названия пункта меню - получаем быстрое автодополнение для перехода на нужную страницу. В автодополнение для удобства также встроены пункты быстрого запуска крона, очистки кэша, и запуска update.php. Имеется интеграция с модулем Devel: в форме навигации доступен список для переключения пользователей.

EasyLaunch

Тоже поставил, попробовал - очень удобно.

Hansel Breadcrumbs
Хлебные крошки Гансика - так назван модуль в честь сказки братьев Гримм "Гансик и Греточка" (известна также под переведенным надмозгами названием "Гензель и Гретель"). Модуль замещает существующую систему хлебных крошек своей, строящейся на основе правил, определяемых пользователем. Данные правила независимы от системы меню и по сути представляют собой условные операторы, добавляющие в хлебные крошки те или иные ссылки. Упрощенный пример конфигурации:
проверяем первый аргумент URL
- если это 'node', переходим к правилу 'node';
- если это 'user', переходим к правилу 'user';
правило 'node' - проверяем тип содержимого:
- если это 'новости', переходим к правилу 'новости';
- для остальных типов добавим ссылку на ноду;
'новости': добавим ссылку на раздел новостей и перейдем к правилу 'ссылка на ноду';
'ссылка на ноду': добавим ссылку на ноду (на текущей странице);
'user': добавим ссылку на /user.

Еще в модуле есть:

  • возможность организовывать правила в иерархии;
  • возможность оставлять дефолтные крошки для заданных разделов;
  • API для взаимодействия с другими модулями;
  • импорт и экспорт настроек;
  • интеграция с модулем Domain.

Важно понимать: модуль заменяет всю систему хлебных крошек новыми ссылками. Это означает, что другие модули хлебных крошек работать совместно с Гансиком не будут!

Akamai
Модуль осуществляет интеграцию Друпала с веб-сервисом Akamai Cache Control Utility (PDF). Позволяет удалять кэшированные УРЛы из глобальной сети Akamai в ответ на разные действия пользователей сайта.

Context HTTP Headers
Модуль позволяет задавать заголовки ответов HTTP для разных контекстов сайта, определяемых модулем Context.

Domain Admin
Модуль Domain Admin добавляет дополнительные разрешения к модулю Domain Access. Например, добавляется разрешение "администрировать собственные домены", ограничивающее административный доступ к заданным доменам. Также добавляются некоторые разрешения для подмодулей Domain Access.

CCK Required Single Select
Этот простой модуль работает с обязательными к заполнению выпадающими списками CCK, в которых можно выбирать только один вариант. Обычно, когда такой выпадающий список CCK обязателен к заполнению, при генерации автоматически выбирается первый вариант в списке. А данный модуль:
1. Добавляет дополнительный вариант "-Выберите что-нибудь-" (или с иным текстом) к этому списку и
2. Генерирует ошибку валидации, если пользователь не выбирает элемент списка, отличный от "-Выберите что-нибудь-".
Доступен доходчивый скрин-каст, объясняющий, о чем речь: http://www.screencast.com/t/MGFiOTFj

GovDelivery Integration
Модуль интеграции с американской службой GovDelivery On-Demand (PDF).

Graphviz Styles
Модуль дополняет Graphviz Filter возможностью управлять внешним видом графов, которые строятся с помощью оного модуля. Можно настроить шрифты, цвета, форму и так далее.

Node Embed
Данный модуль вводит фильтр, позволяющий вставить в тело одной ноды - другую ноду. Причем, для этого достаточно лишь указать в теле ноды nid вставляемой ноды вот так: [[nid:123]]. При этом есть возможность повлиять на отображение вставляемой ноды с помощью ее hook_view(), (для каждой вставляемой ноды $node->node_embedded будет равно TRUE). Также можно управлять видом вставляемых нод через дополнительные темплейты.

Limited Content View
Модуль позволяет ограничивать доступ к нодам за единицу времени. Например, можно разрешить анонимным пользователям читать только три статьи в месяц.

Devel Queries Ajax
Обычно модуль Devel дает пользователям 2 варианта относительно лога запросов к БД:
1) Показывать лог всегда и везде.
2) Не показывать его вообще.
Первый вариант удобен, но имеет последствия: добавляемый HTML может получиться очень большим, долго загружаться и занимать много места.
Второй вариант, очевидно, не так удобен, поскольку все время приходится переключаться на первый.

Данный модуль позволяет кэшировать лог запросов на небольшое время и показывать его пользователю только по нажатии на специальную ссылку. При этом HTML лога будет подгружаться из кэша AJAX-запросом.

Who's your daddy?
Модуль под названием "Кто папочка?" дает вам (со слов разработчика) совершенно безумную возможность - выбирать для темы базовую тему вручную. Также разработчик сообщает: это может пригодиться, но скорее всего - не пригодится.

Bad judgement
Данный модуль (название которого можно перевести, например, как "Плохое решение") делает зависимыми от себя модули, установка которых по мнению разработчика - плохое решение. В настоящий момент такими модулями разработчик считает:
- предыдущий модуль Who's your daddy;
- стандартный модуль PHP Filter.

Raphaël
Модуль представляет собой API для встраивания в Друпал небольшой JS-библиотеки векторной графики под названием Raphaël.

Комментарии