Первый взгляд на живую демонстрацию редактора контента Gutenberg для Drupal 8
Опубликовано: 2018-08-08
Drupal Europe только что объявила свою программу предстоящего мероприятия в Дармштадте, Германия, 10-14 сентября. Конференция соберет более 1600 профессионалов и энтузиастов Drupal на 162 часа сессий и 9 углубленных семинаров.
Automattic спонсирует сетевое пространство Open Web Lounge, а Мэтт Малленвег присоединится к Дрису Байтаерту и Барб Палсер на панели, посвященной будущему открытой сети и открытого исходного кода.
Одна интересная сессия программы, связанная с WordPress, называется «Введение в редактор контента Gutenberg для Drupal 8». Этот новый модуль переносит редактор WordPress Gutenberg на Drupal. Он был создан Пером Андре Рнсеном и его командой Frontkom, агентством цифровых услуг, базирующимся в Норвегии.
Проект Drupal Gutenberg направлен на предоставление нового опыта публикации на основе редактора WordPress Gutenberg. Живая демонстрация на сайте в настоящее время представляет собой интерактивную интерфейсную реализацию Gutenberg внутри Drupal, аналогичную демонстрации WordPress «Frontenberg» на wordpress.org/gutenberg. Последняя реализация модуля появится там, но Рнсен сказал, что в настоящее время он перерабатывается, так как за последние несколько недель с Гутенбергом произошло много событий.

Как родился проект Drupal Gutenberg
Рнсен рассказал нам, что впервые увидел Гутенберга в 2017 году и решил использовать его для одного из медиа-клиентов Frontkom.
«Мысль о его разветвлении возникла в середине 2017 года, когда мы изучали использование Gutenberg в качестве библиотеки для создания конструктора главной страницы, спонсируемого Google Digital News Initiative», — сказал Рнсен. «В итоге мы использовали его, и модуль Drupal стал естественным побочным продуктом».
Frontkom адаптировал конструктор страниц на основе Гутенберга для медиаиндустрии. Он добавляет в Gutenberg дополнительную функциональность, которая позволяет пользователям размещать и настраивать статьи для первой страницы онлайн-газеты. Рнсен сказал, что проект прошел хорошо, и его команда планирует открыть его исходный код, но сейчас слишком рано что-либо рассказывать.
После этого успешного опыта использования Gutenberg для клиента Frontkom начал работу над проектом Drupal Gutenberg в начале января 2018 года.
«Основная часть работы заключалась в том, чтобы сделать Gutenberg более независимым от CMS», — сказал Рнсен. «Сначала мы сделали форк и поддерживали форк. Позже мы начали использовать Gutenberg в качестве зависимости, тестируя более удобный для сопровождения подход».
Рнсен открыл тикет на GitHub, попросив команду Гутенберга подумать о том, чтобы структурировать проект так, чтобы он был более независимым от CMS. Тикет довольно быстро закрыли с пояснением, что он «не имеет прямого отношения к работе над проектом и его целям».
«Пока что у нас очень мало коммитов, если они вообще есть, поскольку основной интерес WP до сих пор заключался в том, чтобы просто удовлетворить потребности WP», — сказал Рнсен. — Но это только что изменилось.
Gutenberg стремится упростить использование за пределами WordPress. Команда работает над публикацией всех модулей React в виде пакетов npm. Рнсен сказал, что он ожидает, что уменьшение количества глобальных переменных, необходимых для работы Gutenberg, будет огромным подспорьем для других CMS.
До сих пор проект Drupal Gutenberg не получил широкого распространения, но Рнсен сказал, что его команда заметила большой интерес со стороны технического сообщества Drupal.
«У нас есть сообщение в блоге на английском языке с более подробной информацией; мы как бы сохранили его после праздников», — сказал Рнсен. «Но потом это взорвалось, и разработчики продолжают связываться с нами, желая помочь».

Frontkom участвует в сообществе Drupal более 10 лет, а WordPress — последние три года. Рнсен и его команда считают, что Гутенберг заполняет пробел в пространстве Drupal.
«В Drupal нет всех этих причудливых конструкторов страниц WordPress», — сказал он. «Так что это действительно интереснее, чем просто новый пользовательский интерфейс для редактирования постов — нам нужен унифицированный способ создания сложных макетов».
У Drupal уже есть инициатива по обновлению пользовательского интерфейса администратора с использованием React, и Рнсен сказал, что, по его мнению, Гутенберг может внести свой вклад в то, как это может произойти в ядре Drupal. В идеальном мире многие проекты с открытым исходным кодом могли бы значительно выиграть от CMS-агностика Gutenberg, и все они вместе способствовали бы его улучшению.
«Нам как компании чрезвычайно интересно создавать интерфейсы, которые можно легко перемещать между CMS», — сказал Рнсен. «Что касается CMS с открытым исходным кодом в целом, я думаю, что в процессе внедрения можно будет многому научиться. Например, в D8 есть концепция «все является блоком». Это упростило нам доступ к базовым блокам Drupal в Gutenberg — нам просто нужно немного поколдовать, чтобы открыть настройки блоков».
Команда Frontkom не только увлечена интерфейсом Гутенберга, но и ценит то, как работает проект. Рнсен не следил за реакцией сообщества на последний раунд тестирования Gutenberg, но сказал, что, по его мнению, пользователям WordPress понравится это в долгосрочной перспективе, поскольку «у большинства конструкторов страниц есть проблемы».
«Drupal может многому научиться у WordPress, как они на самом деле построили проект Gutenberg — прозрачный процесс проектирования, много совместной работы и при этом высокая эффективность», — сказал Рнсен. «Итак, WordPress определенно опережает Drupal в том, что касается работы с интерфейсом администратора/JS. Поскольку в сообществе Drupal уже есть большой интерес к созданию чего-то подобного, очень приятно видеть, что кто-то прошел через это и преуспел (надеюсь)».
Стив Перш, ведущий защитник разработчиков в Pantheon, рассказал на DrupalCon в Нэшвилле в 2018 году о возможностях WordPress 5.0, а также провел сессию в Twin Cities Drupal Camp под названием «Все — это блок: как WordPress переписал WYSIWYG». В ответ на шумиху в Twitter о сеансе Drupal Gutenberg, Перш сказал, что Drupal нуждается в редакционном улучшении UX, чтобы оставаться конкурентоспособным, но не обязательно за счет внедрения Gutenberg.
«У нас есть инициативы в этом направлении», — сказал Перш. «Гутенберг сам по себе может отвлечь от этой работы. В обеих [презентациях] я также упомянул, что Paragraphs или Layout Builder могут быть лучшими отправными точками модели данных для функциональности, подобной Gutenberg. Предоставление точно такой же вещи, как WordPress, было бы обречено на провал. Структурированный контент — это сердце Drupal. Я вижу Гутенберг (или что-то подобное) как лучший пользовательский интерфейс для той части модели данных (часть абзацев), которая существует на сайтах Drupal в течение многих лет».
Будет интересно посмотреть, как различные сообщества открытого исходного кода подходят к Gutenberg и как более разнообразная обратная связь из-за пределов WordPress может повлиять на проект.
Модуль Drupal Gutenberg можно скачать со страницы проекта. В настоящее время он помечен как экспериментальный модуль и рекомендуется только для разработчиков. Живая демонстрация проекта скоро будет обновлена, чтобы отразить последние обновления Gutenberg. Вы также можете следить за развитием проекта на GitHub.
