module

БлогVkontakte CrossPoster 2. Воскрешение.

VK Crossposter

Сегодня произошла очередное возвращение кросспостинга во VK. Инициатива по допиливанию модуля была поднята разработчиком по имени Дмитрий, за что ему большое человеческое спасибо. Однако давайте обо всём по порядку.

Разработчики Вконтакта так и не дали возможность публиковать веб-сайтам сообщения на стену. Но теперь мы будем маскироваться под Desktop приложение, чтобы всё работало как хочется. Из-за этого при получении токена из вконтакте нам придётся столкнуться с одним маленьким костылём. Однако, согласитесь - это намного лучше, чем неработающий кросспостинг :)

БлогVkontakte CrossPoster 2. Возвращение.

Vkontakte CrossPoster

Сегодня знаменательный день, друзья - мой Vkontakte CrossPoster отмечает возвращение в строй. Чтобы пояснить, где же он был раньше и что с ним происходило, я расскажу небольшую историю.

История

В сентябре 2011 года я написал модуль, который позволяет автоматически отправлять материал вконтакт (пруфлинк). Он отправлял данные автоматически куда надо (использовалась авторизация через протокол OAuth 2.0), и пользователь мог даже не подозревать, что они отправляются. Однако через 4-5 месяцев разработчики вконтакте (ни слова не сказав, даже в документации) закрыли возможность отправлять данные с сайтов во вконтакте (через OAuth 2.0). Немного поковырявшись в имеющейся на тот момент документации, я нашёл другой метод кросспостинга - Open API. Это очень глобально затронуло модуль, т.к. теперь пользователю приходилось подтверждать кросспост в всплывающем окне (Open API работает на js). Это повлекло за собой массу неудобств, начиная от конфликта с некоторыми модулями (например, Overlay) и заканчивая абсолютной невозможностью кросспостить данные любому пользователю, отличному от авторизованного создателю и администратору группы. После этого я на модуле поставил крест, т.к. он потерял свою фишку и удобство в работе, хоть и кросспостить можно было продолжать.

БлогРешение проблем с хлебными крошками в Drupal 7 раз и навсегда

Предисловие

То, что меня раньше всегда раздражало при построении хлебных крошек - это то, что модули есть только для отдельных частей сайта. Есть для материалов - Custom Breadcrumbs (хотя вроде во второй версии там сделан ряд доработок, но всё равно сомнительно), для панелей - Panel Breadcrumbs (кстати, работают не всегда корректно), Hansel - вообще сложно сказать для чего. Для хлебных крошек на статичных страницах модуля вообще не было до появления первой версии моего Path Breadcrumbs. И вот такой набор модулей кое-как справлялся с созданием навигационной линейки для сайта. Однако даже это работало для большинства страниц, но не для всех. Я уже молчу о разнице в интерфейсе и возможностях модулей (не всегда даже есть возможность сделать крошку текстом, а не ссылкой). В общем, мне это порядком надоело и я решил написать модуль, который будет справляться с любыми хлебными крошками для любых страниц. И надо сказать - это у меня получилось.

Описание

Я рад представить вам своё новое творение - Path Breadcrumbs 2. Это модуль, который умеет строить хлебные крошки для абсолютно любых страниц (как статичных, так и динамичных). Удобный интерфейс (частично слизан с page manager'a) позволяет быстро и красиво строить навигационную линейку по крошкам. В результате кропотливого труда создан модуль, который позволяет заменить все остальные для построения хлебных крошек.

БлогЛогин, регистрация и восстановление пароля с помощью AJAX

Есть такой модуль замечательный - называется он Ajax Register. Раньше он работал довольно странно (к тому же для 6го Друпала), и никогда моих потребностей в ajax логине не удовлетворял. Потом я проскочил в ко-разработчики модуля и сделал релиз для Drupal 7. Однако этот релиз был больше заточен под тот проект, для которого я этот модуль писал на самом деле. Поэтому подходил он явно не всем, хотя всё же лучше, чем ничего.

Сегодня я наконец собрался с мыслями и выпустил в свет адекватный релиз Ajax Register 7.x-4.x. Вот его фичи:

БлогСобираем складчину на разработку нового модуля

В этой статье речь пойдет о применении краудфандинга для совместной разработки модулей для Drupal.

Наверное, нужно небольшое вступление, что же это за зверь такой, краудфандинг.

Вообще слово «краудфандинг» происходит от слов crowd — «толпа» и funding — «финансирование», то есть, crowdfunding — это коллективное финансирование благотворительных и коммерческих проектов.

БлогМодуль по созданию хлебных крошек к статичным страницам

Сегодня меня наконец прорвало и захотелось написать новую статью. Темой были выбраны хлебные крошки (breadcrumbs). Однако, всё пошло не так, как задумывалось изначально, и я написал полноценный модуль, который позволяет быстро и удобно создавать хлебные крошки для статичных страниц.

Поясню на примере. Например, с помощью модуля Views вы создали страницу с новостями. Однако, к сожалению, Views не даёт возможности указывать хлебные крошки для таких страниц (из-за чего эта темы и была поднята мной). А писать каждый раз кастомный код, когда попадётся такое задание, не очень хочется. Поэтому из простой статьи это вырасло в полноценный модуль.

Пользоваться им достаточно просто - после установки перейдите на страницу /admin/structute/path_breadcrumbs и добавьте новый путь с хлебными крошками. Пример заполнения можно посмотреть на скриншоте:

БлогМодуль jSlider Form API

Только что я закончил работу над портированием модуля jSlider Form API на D7. Модуль позволяет посредством Forms API Друпала добавить два числовых поля, между которыми появится слайдер из jQuery UI.

Ветка 6.х модуля зависит от модуля jQuery UI. Седьмая ветка, ввиду того, что jQuery UI вошло в ядро Друпала, ни от чего не зависит.

Работать с модулем предельно просто - достаточно включить его, и написать такой элемент формы:

УрокОсновы функционального тестирования модулей на Simpletest

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

Страницы