Можно ли на Drupal реализовать "краткую энциклопедию" с импортом данных на сайт из Excel?

12 марта 2018 в 22:28
FAQ
Аватар пользователя kava-s kava-s 0 14

У меня вопрос по возможностям Drupal, с которым я совсем не знаком.
Подскажите, можно ли реализовать такое: хочу сделать краткую энциклопедию
по предметной области на 70’000-100’000 терминов (слов). Со временем
может дорасти до 150’000 терминов.

Данные содержаться в таблице Excel, примерно 20 текстовых полей. Есть в полях и ссылки на картинки,
которые я предполагаю хранить на сайте.
Важно и заливать на сайт данные из Excel, и редактировать данные в Excel,
а потом снова заливать на то же место на сайте. И из Excel заливать на сайт новые данные.
Текстовые поля у меня в Excel максимум 255 символов. И то таких полей всего 2-3.
Остальные поля значительно короче.

Важно, чтобы каждая строка из файла в Excel превращалась в отдельную
страницу html, условно: первое поле – название страницы, далее содержимое
страницы из следующих полей.

Очень важен поиск по сайту. Посетитель может набрать в поисковой строке
набор символов и в идеале получить на экране табличку, схожую с Excel,
где первое поле: его введенные символы, а далее несколько полей данных и картинка
по каждому слову, как в интернет-магазине.

У меня есть опыт создания интернет-магазина в CMS uCoz (uWeb). Я этот интернет-магазин
передал коллеге по работе, потому что перешел на другую работу в другую предметную область.
Там мне как раз и понравилась имеющееся возможность все делать в Excel и все исправления
на сайт заливать из Excel. Но мне не нужен интернет-магазин, мне не нужны «заказы», «корзины»,
«покупатели», «цены» и т.д. Мне нужна «энциклопедия» - со словами, краткими описаниями
и картинками. Мне даже никого на сайт из пользователей «впускать» не надо и править мои статьи.

Я бы и свою новую затею реализовал бы на uCoz, но там очень много ограничений по данным, по полям,
по категориям, по фильтрам, по длине статьи на странице. Я даже со своими 5 тыс позициями в
интернет-магазине вынужден был делать «правой рукой через левое ухо», чтобы сцепить воедино
ограничения по данным.

Кто из знатоков подскажет, возможно ли реализовать на Drupal мою затею? Особенно в части
ввода данных из Ecxel?
Ответ «Возможно всё!» мне не подойдёт. Мне нужна возможность «стандартных методов».
Что подправить в стандартных кодах под мою задачу, я со временем разберусь, как разобрался
в кодах на uCoz-е.

Комментарии

kava-s wrote:

можно ли реализовать такое: хочу сделать краткую энциклопедию
по предметной области на 70’000-100’000 терминов (слов). Со временем
может дорасти до 150’000 терминов.

Можно. Вполне доступно из "коробочного" функционала.

kava-s wrote:

Важно и заливать на сайт данные из Excel, и редактировать данные в Excel,

Здесь, вероятнее всего, только писать (программировать). Готовых решений по рандомным структурам Excel-файлов нет.

kava-s wrote:

мне не нужны «заказы», «корзины»,
«покупатели», «цены» и т.д. Мне нужна «энциклопедия» - со словами, краткими описаниями
и картинками.

Друпал - совсем не интернет-магазин. Это универсальный конструктор (фреймворк) для создания систем управления контентом. И да - на нем "можно все", если готовы вникать, в особенности в программную часть - у Вас все получится.

Успехов!

12 марта 2018 в 22:47

Через feeds можно много что импортироваь. Пусть с глюками, особенно для новичков. Пусть в CSV придеттся сохранять.
Но если вы умеете это сделать в другой системе - пожалуйста.

13 марта 2018 в 4:38

1 Можно, но гораздо проще эксель сохранять в csv, а уже потом делать импорт.

2 Импорт делается модулем Feeds. Разобраться как с ним работать, можно за пару часов. Там главное - настроить соответствие колонок Файла и полей ноды друпала.

3 Для обратной операции есть модуль, кажется Views Csv называется - найти не сложно.

4. Если есть необходимость часто туда-сюда делать импорт-экспорт, сделай ( в п 2 ) в своем файле дополнительное поле ID ( NID) - чтобы строка записывалась именно в ноду, с этим NID.

5. Чтобы сделать импорт картинок, их надо сначала по ФТП залить на хостинг, и в твоем файле прописать пути или урлы до файлов на хостинге, что-то вроде http://site.ru/sites/default/files/import/0001.jpg - главное не ошибиться с путем, но это несложно сделать, если не спешить.

13 марта 2018 в 7:28

Лучше всё же csv, т.к. большие объёмы данных + импорт из xls = огромное потребление памяти и проблемы, а сохранить из excel csv дело пары кликов...

15 марта 2018 в 21:57

Для больших объёмов да. Но если объёмы небольшие, а контентщик неизвестно кто, то xls надёжнее. Но ещё у csv есть существенный недостаток - если файл по каким-то причинам скачался не полностью и оказался повреждён, то есть вероятность не узнать об этом до тех пор, пока не выяснится, что половина данных куда-то пропала. И как раз для больших объёмов это критично. В то же время у xls при обработке через phpexcel на среднестатистическом сервере потолок обрабатываемого объёма не превысит 3-5 тысяч строк, и даже батч тут не поможет, т.к. на старте чтения файла или на финише его записи весь файл доожен оказаться в памяти.

ПС. При использовании libre office преобразование csv -xls и обратно действительно происходит легко и без потерь, но при использовании Майкрософт офис даже у продвинутого пользователя ПК может увеличиться количество седых волос.

15 марта 2018 в 22:45

И не надо)) у меня на работе мак, был установлен Майкрософт офис ещё до меня, специально для работы csv пришлось поставить libre office, многие проблемы решились сами собой

18 марта 2018 в 1:55

Уточнение:

superintendent wrote:

3 Для обратной операции есть модуль, кажется Views Csv называется - найти не сложно.

Для обратной операции модуль называется Views data export
Из коробки умеет экспортировать в csv, а эти файлы умеют открывать табличные редакторы на основе ОпенОфис. Мне больше всего нравится LibreOffice.
А с дополнительными примочками - в Excel.

superintendent wrote:

5. Чтобы сделать импорт картинок, их надо сначала по ФТП залить на хостинг, и в твоем файле прописать пути или урлы до файлов на хостинге, что-то вроде http://site.ru/sites/default/files/import/0001.jpg - главное не ошибиться с путем, но это несложно сделать, если не спешить.

Можно залить картинки в папку с публичными файлами.
Как правило, это папка ../sites/default/files

И тогда конструкция для импорта картинок будет выглядеть так:

public://super-image001.jpg

Хотя... подозреваю, что можно сделать вот такую конструкцию:

public://import/super-image001.jpg

Но я её не проверяла.

13 марта 2018 в 14:37

DivaDii wrote:

Хотя... подозреваю, что можно сделать вот такую конструкцию:
public://import/super-image001.jpg
Но я её не проверяла.

Можно.

13 марта 2018 в 15:16

Как выше уже написали feeds+csv+libreoffice. Нормального экспорта в xls нет, это надо руками писать (имеющиеся модули дают экселевский файл внутри таковым не являющийся).

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

6 апреля 2018 в 18:16

Хранить данные в Excel - даже не прошлый, позапрошлый век..
Drupal почти из коробки может предоставить функционал, на пару порядков проще и удобнее чем Excel.
Импортировать некий готовый набор данных из Excel - ничего сложного..
Далее про Excel лучше забыть, т.к. это лишняя "прослойка" при обработке-хранении информации, плюс, как писал выше, Drupal под эти функции заточен лучше..
Это почти как щи хлебать лопатой: тоже можно, но ложкой проще и удобнее..

6 апреля 2018 в 21:16