[Модуль] Feeds Editor - облегчаем работу над CSV файлами для Feeds

Аватар пользователя volocuga@drupal.org volocuga@drupal.org 2 декабря 2012 в 13:12

** Данная приблуда ускоряет в разы создание редактирование CSV файла импорта для Feeds **

Идея модуля в том, чтобы вмуровать интерфейс наподобии таблицы MS Exel прямо в интерфейс админки нашего друпалиного сайта.

Дано:

1. 10 типов нод, в каждом - 10 полей, среди которых таксономия и картинки
2. Девочка/мальчик контент-менеджер, слабо знакомый с техническими тонкостями

Даже нет, сгустим краски: это будет интернет магазин на базе Drupal Commerce, т.е дисплей и собственно продукты. Нужно первоначально залить и затем ежедневно обновлять прим 1000 товаров Smile Так случилось, что ничего кроме Feeds у нас нет

Традиционный путь создания CSV:
Открываем Exel или ОpenOffice и начинаем вдумчиво, строка за строкой набивать базу. С простыми текстовыми полями нет проблем, а если у нас списки, таксономия или картинки?

Например поле с несколькими картинками. Классический путь: закачиваем через ФТП клиент картинки, собираем их Урлы и вставляем через запятую в требуемую клеточку таблицы. Повторим для 1000 товаров Smile Попробуйте, увлекательно

Или, поле таксономии. Множественные термины. Терминов в словаре скажем 50. Мы открываем страницу со списками термина (кстати, не факт, что у контент менеджера должен быть доступ к подобным спискам), выбираем нужные и вставляем в клеточи таблицы.
При этом нужно понимать, что название термина не является уникальным, нам бы желательно указывать числовой ID, который нигде в интерфейсея явно не указан

Та же история с обычными текстовыми полями-списками.

Вообщем понятно - нужно автоматизировать.

Feeds Editor

Качать отсюда http://drupalcode.org/sandbox/ymakux/1856080.git. Берём самый последний (тот что выше) snapshot

Для каждого существующего Feeds импортера можно создать его визуальное отображение через Feeds Editor - worksheet. UI реализовано через обалденный плагин таблицы - JQgrid
При создании worksheet одновременно создаётся соответствующая табличка в БД (можно использовать сторонние БД, в том числе удалённые - это нужно прописать в settings.php).
В дальнейшем все внесённые/изменённые записи будут сохраняться в этой таблице.

Что можно делать на данном этапе после того, как мы заполнили нашу worksheet

1) Экспортировать в обычный CSV файл
2) Сохранить в CSV и немедленно запустить соостветствующий импорт

На данный момент процентов на 80 сделана версия модуля, которая не привязана к Feeds, а заточена сугубо под Drupal Commerce

Комментарии

Аватар пользователя alexsaab alexsaab 2 декабря 2012 в 22:56

Ай молодца. Реально порадовал!
Полезная штука - Feeds правда не пользую ни разу но идея с JQgrid шикарна.

С ув., Алексей

Аватар пользователя volocuga@drupal.org volocuga@drupal.org 3 декабря 2012 в 0:20

"Artu" wrote:
Хороший способ монетизации. Интересно и полезно на 80%. notreadyware

Типа не готов? Где, в чем? Любой софт никогда не готов на 100%

Аватар пользователя volocuga@drupal.org volocuga@drupal.org 3 декабря 2012 в 0:24

"Artu" wrote:
Кто тестил на Commerce?

Я не тестировал серьёзно на продакшн, собственно поэтому и выложил - чтобы ловили баги, не мне же всё одному Smile
Однако результаты утешительные - ноды создаются/обновляются, картинки массово закачиваются, CSV генерится корректно

Опасаться модуля не стоит - используется АПИ Друпал, для подстраховка для worksheet используйте сторонние датабазы - можно на удалённом сервере (это кстати открывает широкие возможности для коллективной работы контент менеджеров)

Аватар пользователя erbe erbe 3 января 2013 в 18:31

Можно ли как то автоматом заполнить worksheet полями всех уже созданных нод? Или напримиер загрузить данные из существующего cvs файла?
Таблица сейчас не заполняется - пишет ошибку - error Status: 'Service unavailable (with message)'. Error code: 500.

Аватар пользователя volocuga@drupal.org volocuga@drupal.org 3 января 2013 в 19:27

"erbe" wrote:
Можно ли как то автоматом заполнить worksheet полями всех уже созданных нод? Или напримиер загрузить данные из существующего cvs файла?

Я думал об этом. Пока не на первом месте в моём TODO списке

"erbe" wrote:
Таблица сейчас не заполняется - пишет ошибку - error Status: 'Service unavailable (with message)'. Error code: 500.

Можно подробнее, после какого действия такое?

Аватар пользователя erbe erbe 3 января 2013 в 20:01

"<a href="mailto:volocuga@drupal.org">volocuga@drupal.org</a>" wrote:

"erbe" wrote:
Таблица сейчас не заполняется - пишет ошибку - error Status: 'Service unavailable (with message)'. Error code: 500.

Можно подробнее, после какого действия такое?

При выборе worksheet в самой таблице при добавлении строки(Add new row - в нижнем левом углу.)

Аватар пользователя erbe erbe 3 января 2013 в 20:08

И в настройках Feeds importers в mapping вылезает ошибка - Notice: Trying to get property of non-object в функции feeds_editor_form_feeds_ui_mapping_form_alter() (строка 260 в файле Z:\home\new\www\sites\all\modules\1856080-cf7023a\feeds_editor.module).

Аватар пользователя volocuga@drupal.org volocuga@drupal.org 3 января 2013 в 20:16

ок, спасибо за багрепорт.

"erbe" wrote:
Notice: Trying to get property of non-object в функции feeds_editor_form_feeds_ui_mapping_form_alter() (строка 260 в файле Z:\home\new\www\sites\all\modules\1856080-cf7023a\feeds_editor.module).

Если отключить Feeds Editor, ошибка исчезает?

Не могу обещать сроки фикса, данный модуль делался под конкретный проджект, который обещает быть завершён в течении месяца. Стало быть это ориентировочно время устранение бага

Аватар пользователя erbe erbe 3 января 2013 в 20:38

<a href="mailto:volocuga@drupal.org">volocuga@drupal.org</a> wrote:

Если отключить Feeds Editor, ошибка исчезает?

Если отключить модуль - да. То есть она появляется не зависимо от того, создан worksheet или нет.