Модуль Яндекс.Погода для Drupal 6 и 7

Предыстория создания модуля.

В октябре 2011 года, когда я искал работу, в одной фирме мне предложили сделать тестовое задание – разработать модуль для Drupal 6.

Вот формулировка тестового задания:

Необходимо написать модуль для Drupal 6, который при подключении будет предоставлять блок, показывающий погоду для выбранного города (с любого сайта погоды на Ваше усмотрение).

Сам блок должен иметь select или autocomplete, в котором можно выбрать-ввести город, и при помощи AJAX запроса погода должна отобразиться в блоке для этого города.

Важно, что модуль должен быть самостоятельно написан.

За пару дней я выполнил это тестовое задание. После собеседования меня пригласили на работу, но, в итоге, я выбрал другую фирму. Созданный модуль нигде не опубликовал.

На прошлой неделе на сайте drupal.ru я увидел активное обсуждение топиков «Яндекс сервисы в одном проекте» и «Встреча по поддержке и продвижению Яндекс-сервисов в Drupal». В представленном списке существующих модулей для интеграции с сервисами Яндекса я не обнаружил модуля про погоду. Я доработал свой модуль, исправил ошибки, дописал дополнительный функционал и решил выложить на сайт для обсуждения сообществом.

Вот так выглядит блок с информером погоды от Яндекса в дефолтной теме.

В настройках блока можно:

— указать город по умолчанию;

— разрешить/запретить отображать форму выбора города в блоке;

— выбирать размер информера.

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

Если данный модуль вызовет интерес, то можно переписать его и для Drupal 7. Буду благодарен за любые конструктивные комментарии.

UPD 21.02.2012: Обновил модуль. На прошлой неделе Яндекс обновил свой сервис погоды, поэтому поломалась часть функциональности моего модуля. Сейчас исправил. А также сделал версию модуля под Drupal 7.

UPD 06.11.2012: Загрузил код в GIT репозиторий на BitBucket.org

 

Репозиторий модуля на BitBucket:

https://bitbucket.org/pachkov/yandex_weather

Переход от публичной к приватной файловой системе на Drupal 6

Как известно, Drupal поддерживает два метода загрузки:

— Публичный (Public) — файлы доступны напрямую по протоколу HTTP;

— Приватный (Private) — файлы передаются через Drupal.

    При установке Drupal можно выбрать какой метод загрузки использовать, при этом проблем возникнуть не должно. Гораздо опаснее переходить к другому методу загрузки на работающем сайте. Поэтому решил поделиться своим опытом.

    Continue reading «Переход от публичной к приватной файловой системе на Drupal 6»

    Распаковка в Unix ZIP-архива созданного в Windows

    Задача: Осуществлять пакетную загрузку файлов на сайт в виде ZIP-архива. После закачки архив распаковать и обработать вложенные файлы. Имена файлов в архиве могут быть содержать русские буквы.

    Проблема: При распаковке ZIP-архивов содержащих файлы с русскими именами в Unix-подобных системах получаются файлы с нечитабельными (и не пригодными для дальнейшего использования) именами. Причем это относится к архивам, созданным в ОС Windows.

    скриншот нарушения кодировка

    Рисунок 1 – Имена распакованных файлов: правильный и искаженный.

    Одно из возможных решений данной проблемы: устанавливаем программу convmv. Находим для своей операционной системы пакет и устанавливаем его:

    rpm -Uvh /home/user1/convmv-1.10-1.el5.noarch.rpm

    Теперь команды распаковки архивов будут следующими:

    unzip example.zip
    convmv --notest -r -f cp-1252 -t cp-850 ./example &> /dev/null
    convmv --notest -r -f cp-866 -t utf-8 ./example &> /dev/null

    Данная инструкция проверялась на CentOS 5 в модуле Acidfree (осуществляется массовый импорт фотографий в альбом из ZIP-архива).

    Полезные ссылки о CMS Drupal

    По работе пришлось освоить систему управления контентом Drupal. В результате сформировалась подборка ссылок с полезными материалами:

    http://drupal.org/ — официальный сайт Drupal (англ.)
    http://drupal.ru/ — сайт русского сообщества Drupal (рус.)
    http://api.drupal.ru/ — частично переведенная документация API Друпала
    http://drupaler.ru/ — русская группа перевода (делают перевод модулей и самого Drupal)
    http://setegnom.com/ — Самоучитель по CMF Drupal (очень много полезной информации)
    http://drupalcookbook.ru/ — Простые рецепты для сайта на Drupal
    http://habrahabr.ru/blogs/drupal/page1/ — Блог про Drupal
    http://andyceo.ruware.com/drupal-prosto-i-yasno — переводы документации по модулям
    http://drupaldance.com/ — танцы около Друпала