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

Netspark.ru

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

Drupal

Новости модулей за 28 июня — 11 июля

За прошлые две недели для Drupal 6.x появилось 49 новых модулей.

Среди них хочется отметить:
- новый модуль скрытой капчи Hidden CAPTCHA;
- интеграцию плагина загрузки нескольких файлов за раз Plupload;
- модуль Section Order для удобного изменения порядка отображения частей $node->content;
- новый серьезный и сложный модуль для работы с хлебными крошками Crumbs;
- модуль Twitter Backtweets для отслеживания и добавления в комментарии твитов со ссылками на страницы сайта;
- интеграцию заметок из известного сервиса Evernote.

Подробности далее.

Feeds XPath Parser
Плагин для модуля Feeds, позволяющий запускать XPath-запросы по HTML- и XML-документам. Поддерживает XPath, регулярные выражения и QueryPath (если установлен соответствующий модуль).

Ad Lightbox
Дополнение для модуля Advertisment, позволяющее выводить выводить URL-ы рекламных изображений во фреймах lightbox.

Hidden CAPTCHA
Наконец-то в официальном пуле модулей Друпала появился модуль для сокрытия капчи. Правда, это не разработанная Neochief'ом "Скрытая капча", а совсем другой модуль. Он тоже позволяет скрывать форму капчи от пользователей, но с помощью CSS-класса, который просто прячет форму {display:none;}. Суть в том, что спам-роботы стараются заполнить все поля формы на странице, но модуль Hidden CAPTCHA требует от своего поля капчи оставаться пустым. Таким образом пользователи не будут заполнять капчу, так как не увидят ее, а роботы - заполнят и через это их проклятые комменты будут блокированы.

Впрочем, также стоит сказать, что модуль Neochief-а (в нем форму капчи автоматически заполняет и скрывает JavaScript) представляется мне более удобным. Единственным (и весьма существенным) его недостатком по сравнению с Hidden CAPTCHA является несовместимость с актуальной версией базового модуля CAPTCHA, от которого они оба зависят.

Ubercart Novalnet Gateway
Интеграция немецкой платежной системы Novalnet.

GeoBlocker
Модуль позволяет администрации ограничить доступ к сайту для тех или иных стран. Таблицы IP-адресов стран взяты с http://www.php.net/source.php?url=/include/ip-to-country.inc.
Возможности модуля:

  • создание черных или белых списков стран;
  • ограничение доступа ко всему сайту или к набору нод;
  • белые списки по диапазонам IPv4;
  • модуль беспрепятственно пропускает на сайт поисковых роботов;
  • позволяет пользователям с заданной ролью игнорировать ограничения;
  • не мешает работать админу, даже если он из нехорошей страны.

Soundcloud Field
CCK-поле для вставки трека или плейлиста с сервиса Soundcloud. Автор обещал вскоре описать модуль более подробно, но пока не описал.

Syndicate User Blog
Из несколько сумбурного описания модуля понятно, что он позволяет пользователям добавлять блоги в свои профили на сайте. После чего администраторы сайта получают возможность добавить эти блоги в синдицируемое модулем Feed содержимое. Таким образом пользователи могут добавлять блоги в синдикацию через модерируемый канал.

Bespin Embedded
Модуль позволяет заменить любое текстовое поле web-редактором кода Bespin.

Plupload Integration
Интеграция в Друпал виджета Plupload для загрузки нескольких файлов за раз. В зависимости от возможностей браузера пользователя, виджет может быть на Flash, Gears, HTML 5, Silverlight, BrowserPlus, and HTML4.

Deskgod - ad ROI analytics & website backoffice
Интеграция системы аналитики Deskgod - как платной, так и бесплатной версии.

GameQuery
Модуль интегрирует в Друпал новый движок для разработки игр на jQuery под названием gameQuery. Движок вводит в оборот несколько классов для упрощения разработки игр и в данный момент сам еще активно разрабатывается.

Userping
Интеграция еще одного инструмента аналитики - системы анализа трафика в реальном времени Userping.

Book Block
Модуль создает отдельные блоки навигации для каждой существующей на сайте подшивки (book). Блоками можно оперировать как обычно, то есть задавать правила их показа на разных страницах и разным ролям. То есть теперь есть возможность показывать блок навигации по заданной подшивке не только на страницах этой подшивки, но и вообще - где угодно.

Node Option Premium
Модуль добавляет для каждого типа содержимого разрешение 'view premium content', что позволяет ограничивать доступ пользователей к "премиальному" содержимому по ролям. Пользователи без разрешения на просмотр такого содержимого будут иметь доступ только к тизерам. Также им будет показано предупреждение о необходимости отсыпать денег за премиальный доступ.

CQL
Интеграция в Друпал языка контекстуального поиска CQL. В описании не сказано, что конкретно делает этот модуль, но сказано, что он связан с двумя следующими (SWORD, SRU). Более подробно почитать про CQL можно здесь: http://zing.z3950.org/cql/intro.html.

SWORD
В описании сказано: SWORD (Simple Web service Offering Repository Deposit, Простой веб-сервис размещения репозиториев). Легковесный протокол перемещения контента из одного места в другое.
Для подробного изучения, что это и зачем, можно пройти сюда: http://www.ariadne.ac.uk/issue54/allinson-et-al/

SRU
Стандартный протокол XML-ориентированного поиска с применением CQL. Подробная информация о протоколе тут: http://www.loc.gov/standards/sru/index.html.

Page manager redirect
Этот незамысловатый модуль добавляет в Page Manager (часть пакета Ctools) возможность редиректа. С ее помощью можно вручную задавать пути редиректа без необходимости писать код. Например, можно редиректить ноды профиля на страницы user/%uid или изображения в галерее на ноду галереи. Мутное описание, да.

Last Changed
Модуль отслеживает дату последнего изменения того или иного контента. По умолчанию поддерживается отслеживание нод, комментариев и профилей пользователя, но с помощью hook_last_changed() можно добавить что угодно (!). Также имеется интеграция во Views.

Context Plugin Extras
Содержит под-модули, добавляющие дополнительные условия и реакции для модуля context.

Page Syndication
Модуль Page Syndication совместно с Panels и CTools создает контент, который может быть интегрирован на другие сайты одной строчкой JavaScript. Контент может принимать любую форму, которую можно вставить в панель - опросы, анкеты, формы, календари...

Menu Force
Позволяет для тех или иных типов содержимого делать обязательной к заполнению группу полей "Настройки меню". Может пригодиться, если ноды какого-то типа должны обязательно попадать в меню при создании. Например, если название элемента меню используется настройками модуля pathauto.

Input Formats Updater
Модуль позволяет массово обновлять формат ввода нод. Может помочь, если админ, например, взял и запретил пользователям пользоваться одним из форматов, после чего у них вдруг пропала вкладка редактирования нод.
Обновление происходит непосредственно через изменение столбца формата в базе данных.

Taxonomy Link Mover
Модуль переносит термины таксономии из переменной шаблона $links в переменную шаблона $content, благодаря чему администратор может управлять их отображением с помощью CCK или нового модуля Section Order. Перенос происходит аккуратно, так что все модули, применяющие hook_link_alter(), успевают отработать. Можно выбирать, термины каких словарей переносятся, а каких - нет.

Section Order
Модуль Section Order друпалистка NancyDru разработала потому что "устала писать хуки для сортировки секций контента через CCK и добавлять формы в админку для регулировки веса". В общем, с помощью этого модуля у администратора появляется возможность изменять порядок отображения секций $node->content[] (или переменной шаблона $content[]) с помощью простого drag'n'drop-а. Звучит очень даже удобно.

Rate
Модуль Rate позволяет создавать гибкие виджеты для оценки нод и комментариев. Добавлять можно несколько разных виджетов, с разным количеством кнопок. Хранение оценок и работа с ними происходит через известный модуль Voting API.

Drupal Chat
Позволяет пользователям общаться в чате тет-а-тет, то есть один на один. Для этого на странице появляется список пользователей онлайн (примерно как на Facebook), из которого можно выбрать, с кем начать чат. Чат выглядит вот так:

Модуль поддерживает смайлики, сохраняет историю переговоров и умеет интегрироваться с User Relationships. Поиграть в демо-версию чата можно здесь: http://drupalchat.botskool.co.in/.

Seonet - links exchange
Модуль изготовлен известным друпалистом Рунета andypost и предназначен для интеграции в Друпал бирж ссылок Sape, TrustLink и LinkFeed.

UBB.threads integration
Интеграция Друпала с системой форумов UBB.threads. Поддерживает импорт и экспорт пользователей, единый логин/логаут пользователей, синхронизацию имени, электрической почты и паролей пользователей между аккаунтами Друпала и UBB.

Indexing HTML Attributes
Модуль позволяет индексировать информацию из атрибутов HTML-тэгов. Можно задавать тэги и их атрибуты, которые следует индексировать. Также модуль дружит с поиском Apache Solr.

Openx Video Ads
Модуль интегрирует в Друпал рекламные видео-ролики из сервиса OpenX Ad Server. Видео проигрывается плеером из модуля Video Module.

Crumbs
Модуль Crumbs, говорит разработчик, - новый подход удобной и гибкой работе с хлебными крошками. Еще разработчик говорит, что модуль нацелен на разработчиков, которые не стесняются определять правила создания хлебных крошек собственным кодом в модуле. Благодаря Crumbs этот код станет коротким, аккуратным и простым.
В принципе, Crumbs создаст кучу крошек сразу при установке - как для публичных страниц, так и для всей админки, включая CCK, Views и т.д. По умолчанию модуль умеет генерировать хлебные крошки по:

  • иерархии меню;
  • таксономии (включая каталоги Ubercart);
  • фрагментам синонимов;
  • будущим фрагментам синонимов;
  • фрагментам системных путей.

Описание у модуля длинное, похоже, он сложный, умный и полезный, то есть достойный внимания. Да и вообще, в последнее время вышло немало модулей для работы с хлебными крошками, надо что ли обзор какой-нибудь придумать.

Drag and Drop files
Автоматически преобразует формы создания нод на предмет поддержки HTML5 API drag'n'drop файлов. Пока что работает только со стандартным прикреплением файлов и модулем upload, а также с полем CCK Filefield. Настройка не требуется, работает из коробки.

opengrid_ui
Модуль вводит динамический jQuery-интерфейс для настройки тем, сделанных на основе темы Opengrid.

Phone Number
Еще один модуль с полем CCK для ввода номера телефона. Основные отличия от обычного cck_phone:

  • единый виджет вместо списка виджетов для разных стран;
  • поддержимает все или несколько стран одним полем;
  • поддерживает коды почти всех стран (сейчас 239) и валидацию номера в зависимости от страны;
  • улучшенная поддержка ссылки "Позвонить" для мобильников.

Menu Sync
Модуль предназначен для раскрытия родительских меню на дочерней странице, аналогично модулю Menu Trails. Но в отличие от Menu Trails меню для раскрытия определяются по адресу страницы. Также модуль позволяет (если нужно) раскрывать несколько разных связанных меню на одной странице.

Meetings
Модуль Meetings (что в переводе означает "Встречи") создан чтобы пользователи могли создавать встречи и управлять ими, включая запись повестки дня, заметки о встрече, время, местоположение и так далее. В принципе, можно использовать его на любом Друпал-сайте, но вообще сделан для систем управления проектами, типа Open Atrium.

Feeds Node Multisource
Модуль позволяет агрегатору Feeds сохранять данные из разных источников в одни и те же ноды. Сохранение строится на родительских отношениях: фид-родитель создает ноды, а дочерние фиды - заполняют их данными.

CCK Signup
Модуль подписок CCK Signup аналогичен модулю Signup, только в данном случае сами подписки также являются нодами и подключаются к нодам, на которые идет подписка, примерно как модуль Node Reference.

Taxonomy Autocomplete Settings
Модуль добавляет настройки автодополнения терминов таксономии в нодах. Теперь можно для каждого словаря выбрать, должно ли автодополнение искать совпадения только с началом, или же с любым фрагментом названия термина.

Crumbdown
Модуль дополняет систему хлебных крошек выпадающим списком подменю для быстрого перехода страниц, родственных данной. Под родственными подразумеваются страницы с одинаковый в целом адресом, за исключением одной секции. Например, 'node/add/story' и 'node/add/page'.

Модуль зависит от другого нового модуля, Crumbs.

Chaos Blocks
Модуль позволяет управлять блоками с помощью плагинов CTools.

Views Slideshow: Galleria
Модуль налаживает связь между Views Slideshow и jQuery-плагин Galleria, в результате чего представление Views превращается вот в такую штуку:

Flat Book
Модуль Flat Book позволяет выводить на одной странице все ноды дерева подшивки (книги) ниже заданного в настройках уровня. Вверху верхней страницы будет выведено содержание данной части книги со ссылками на каждую ноду для быстрого перехоа. Ноды будут выведены ниже содержания в соответствии с иерархией и со ссылками для перехода обратно к содержанию.
Очевидно, выводить кусок книги на одной странице - удобно для чтения.

Views Argument Sort
Модуль расширяет функционал Views новым способом сортировки представления - в порядке задания аргументов. Например, для представления нод по адресу example.com/my-view/9,1,4 ноды будут выведены в порядке nid=9, nid=1, nid=4.
В настоящий момент рассматривается вопрос о судьбе модуля, так как похоже он дублирует функционал Views Arguments Extras.

Twitter Backtweets
Модуль интегрирует в Друпал сервис Backtweets, с помощью которого легко найти ссылки на свой сайт в Твиттере (естественно, включая разбор укороченных УРЛов). Найденные твиты со ссылками будут добавлены как комментарии к странице, на которую они ссылаются. Красота.

AJAX Poll
Модуль аяксифицирует все опросы на сайте, созданные стандартным модулем Poll. Так что теперь пользователи могут голосовать без обновления страницы. Работает для всех форм опросов - в тизерах, в полном выводе ноды и в блоках.

Menu translation (Node)
Описание несколько неясное. Насколько я понял, модуль позволяет одному пункту меню указывать на разные (переведенные) ноды в зависимости от языка.

Evernote
Интеграция в Друпал заметок из известного сервиса Evernote. Модуль умеет автоматически скачивать с Evernote и публиковать на сайте заметки с заданным тегом по запуску cron.

Комментарии