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

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

У меня вопрос по возможностям 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-е.

0 Thanks

Комментарии

Аватар пользователя bumble bumble 12 марта 2018 в 22:47
kava-s wrote:

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

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

kava-s wrote:

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

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

kava-s wrote:

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

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

Успехов!

Аватар пользователя VasyOK VasyOK 13 марта 2018 в 4:38

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

Аватар пользователя superintendent superintendent 13 марта 2018 в 7:28

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

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

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

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

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

Аватар пользователя bsyomov bsyomov 15 марта 2018 в 21:57

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

Аватар пользователя gun_dose gun_dose 15 марта 2018 в 22:45

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

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

Аватар пользователя bsyomov bsyomov 17 марта 2018 в 21:26

Возможно, мои сведения о работе в Excel устарели - я действительно не пользовался MSO уже много лет.

Аватар пользователя gun_dose gun_dose 18 марта 2018 в 1:55

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

Аватар пользователя DivaDii DivaDii 13 марта 2018 в 14:37
1

Уточнение:

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

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

Аватар пользователя fairrandir fairrandir 13 марта 2018 в 15:16
DivaDii wrote:

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

Можно.

Аватар пользователя kava-s kava-s 15 марта 2018 в 0:47

Всем ответившим большое спасибо! Начинаю погружаться в Drupal. До встречи на просторах форума.

Аватар пользователя Phantom63rus Phantom63rus 6 апреля 2018 в 18:16

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

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

Аватар пользователя Orion76 Orion76 6 апреля 2018 в 21:16

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