четверг, 22 января 2009 г.

Об импорте XML данных в Drupal

Постом ранее была описана проблема: Drupal и XML.

Потратив немного времени в поисках решения задачи импорта XML данных в Drupal остановился на отличном, замечательном классном супер-пупер модуле под названием FeedAPI.

Модуль действительно может решить любые поставленные задачи по импорту XML фидов, да и не только их. В стандартной поставке он уже умеет импортировать наиболее популярные форматы, Atom, RSS различных версий.

Но радует сама реализация модуля. Есть ядро модуля, т.е. API и есть 2 типа обработчиков: парсеры (parser) и процессоры (processor).

Парсеры отвечают за... понятное дело, парсинг данных, не важно, каких и преобразуют их в "нормализованный" XML.

Процессоры отвечают за последующую обработку данных и передачу, публикацию или что угодно в Drupal.

Сейчас уже существует целый набор модулей, которые работают с общепринятыми данными, CSV, iCal, KML (географические XML данные), а так же есть модуль, который может импортировать (scraping) комментарии и также может обрастать парсерами (уже умеет тянуть комментарии из flickr, youtube, vimeo).

Есть готовые процессоры. Во-первых, собственный процессор модуля FeedAPI, который создаёт, обновляет и удаляет ноды. Есть RDF процессор, работающий совместно с модулем RDF, ну и наконец тот же FeedAPI comments, который умеет создавать комментарии.

Ко всему вышесказанному, надо добавить, что существует бонусная бочка мёда в виде модуля Feed Element Mapper, который является мостиком дружбы между FeedAPI и всеми любимого CCK. Модуль позволяет сохранять элементы импортированных данных в нужные CCK поля. Что ещё нужно для счастья? :)


Бля, осталось только написать свой парсер и процессор! :( Счастье не за горами!

вторник, 13 января 2009 г.

Drupal и XML

Уже не в первый раз сталкиваюсь с задачей импорта данных в формате XML. Учитывая тот факт, что я не программист, каждый раз для меня это проблема.
Недавно один из своих старых мёртвых сайтов решил реанимировать и перевёл его на Drupal. Подключил партнёрскую программу, которая кроме всего прочего даёт хороший дополнительный контент в формате XML.
Поискал модули в библиотеке Drupal'а, но похоже готового универсального решения до сих пор нет. Странно это, ведь с задачей вебмастера сталкиваются достаточно часто! Или подобное универсальное решение реализовать в принципе нельзя?

Но ведь сделали такую красоту, как CCK! С нормальным интерфейсом, как раз для таких чайников, как я. Сделали View! И тоже с интерфейсом! Теперь контент может содержать всё, что угодно и выглядеть как угодно! Что же мешает обрабатывать XML, который имеет чёткую структуру, — те же поля?! Создал тип контента, описал соответствие полей Drupal — XML и всё! :)

Жду с нетерпением, когда появится на свет подобное чудо!