Комментарии 32
Интересно и познавательно, жаль что мало конкретики… Про скорость загрузки сайта хотелось бы знать не только быстро/медленно, а увидеть количественные характеристики (время формирования страницы в секундах, количество запросов к БД для формирования страницы), повторный вызов данной страницы. Не совсем понятен вопрос Кеширования, есть ли он в движке или нужно реализовывать это самому через сторонние модули (Nginx, Apache, PageSpeed etc...). Хотелось бы немного больше про API, не просто наличие, а какие способы аутентификации поддерживает...
Скорость на 101% зависит от настроек и модулей, не получится сказать наперед. Если есть сложная логика и большое число полей в материалах + сложные выводы через views то одно, а лента заголовков и фильтр по тегу — совсем другое.
Кэш из коробки только для анонимов + есть сжатие и агрегирование js и css.
Как-то ч поставил drupal 8.8
Сделал несколько страниц, включил пару стандартных расширений в настройках.
Потом отключил.
Что делать с 500-тыми ошибками, которые начали появлятся в админке с ооочень пространными php бэктрейсами так и не понял.
Я бы добавил про поля (fields) отдельный раздел, т.к. это одна из самых сильных частей друпала. То что в любой тип материала можно добавить почти что угодно, доступны мультизначения (даже мультиюзер значения, если брать модуль flag как поле) и дальше через views можно фильтровать/сортировать по этим fields как угодно. Без этого считаю что не совсем полный обзор.
Ну и справедливости ради:
1) в вордпрессе можно добавлять поля, не на каждой чих нужен модуль)
2) в друпале многие модули тоже пишут не те же люди, что и ядро (и очень часто я попадаю на косяки в плане стабильности и логичности кода)
3) ну а про одностраничники вообще жесть написана — прям вспомнил как на заре писал в notepad++ код всей страницы. Но нет, сам под одностраничниками уже все понимают реактивные (раект/вью/ангуляр) приложения, которое и в шаблоны умеет (и как компоненты, или через nunjuks) и данные из api вытащить может и вообще много всего ещё.
Ну и в свете этого считаю что очень зря ещё не написано что друпал 9 из коробки умеет с такими реактивными приложухами дружить и быть для них сервером данных, а не только как генератор HTML когда выступать. Тут можно гуглить headless Drupal, например.
На мой взгляд, киллер фича Drupal — это деплой с конфигурациями.
Кто с D7 перешёл на D8, по возвращению испытывают колосальную боль без них и ООП )))
Но у Друпала какая-то очень мудрёная процедура обновления, когда нужно скачивать файлы новой версии руками, удалять на хостинге папки со старыми версиями, распаковывать новые версии, предварительно ещё что-то отключать на сайте, потом запускать в админке скрипт апдейта, потом включать то, что отключал перед апдейтом.
Да, это можно делать скриптами (мало кто умеет), но даже с ними, насколько я понимаю, процедура больно сложная, вот инструкция по обновлению из мануала.
В отличие от других движков, где обновление делается нажатием кнопки «обновить» в админке. Т.е. с точки зрения обновлений — движок очень «не для всех».
Хотя система хорошая, я на ней много чего забавного делал, от СЭД и фотобанка до игры.
Но у Друпала какая-то очень мудрёная процедура обновления, когда нужно скачивать файлы новой версии руками, удалять на хостинге папки со старыми версиями, распаковывать новые версии, предварительно ещё что-то отключать на сайте, потом запускать в админке скрипт апдейта, потом включать то, что отключал перед апдейтом.
Согласен, по сравнению с тем же самым WP процесс обновления ядра сложнее. Хотя если все таки разобраться с Drush, то ситуация с обновлением сразу становиться проще.
Кхм. Вот прям ща накатываю апдейт:
cp -R /folder/from /folder/gde/tam/vash/www
Команда копирования сама обновляет только те файлы, которые надо обновить (upd: точнее не надо ничего перед этим удалять, так будет вернее)
Драш удобней, но, конечно, на проде мне его никто не даст поставить, да и уж тем более проду доступ в сеть не видать как своих ушей)
Скрипт апдейта нужен не всегда, но да, тогда лучше сайт приостановить на время (включается одной галочкой, страница заглушки настраивается).
В общем не повод уходить с друпала, вот честно. Есть ещё тысяча причин почему он местами кривой, но апдейт в последних рядах среди прочих )))
А вот с Друпалом эта девочка будет вынуждена постоянно обращаться к знающему мальчику. А мальчику это надоело, а значит скорей всего он поставит девочке WP, чтобы его реже беспокоили. Хотя мальчик прекрасно понимает, что на Друпале можно поднять гораздо более крутой магазин, хоть и придется самому разрабатывать плагины для СДЭКа, приема платежей и т.д. А под WP оно уже есть, пусть и платное, но всяко дешевле стоимости работы этого мальчика.
Так что Друпал больше всё-таки для серьезных проектов, где нет сложностей запилить свой плагин, обновлять движок через консоль и всё такое.
Ну в целом скорее согласен про девочку с мальчиком (хотя иногда мальчик специально делает сложнее, что б ему дольше платили, но это отдельная история).
Хотя лично я вот сильно стремаюсь давать сайту самому что-то качать внутрь себя и заменять исполняемые файлы. А история версий в гите? А тестирование и проверка вообще где?
Думаю для аудитории хабра это не критичный недостаток. Но в сценарии "новичку надо сделать апдейт" да, явно друпал уступает.
А чего мудрёного? Composer давно стандарт в php мире.
Drush использовался для скачивания во времена Drupal7 (примерно 9 лет назад)
А значит, например, например фрилансер, который сайты делает, кучу раз подумает стоит ли на этом всём делать сайт для заказчика, ведь потом ещё заказчику нужно будет всю эту кухню объяснять. Ну разве что фрилансер продолжит тянуть с заказчика ежемесячно денежку за обслуживание всего этого хозяйства.
В статье автор считает эту CMS одной из лучших и рекомендует её своим клиентам.
Но эти клиенты потом не смогут самостоятельно обновить движок.
Те кто не переходит с D7 значит D8 им для их проекта не нужен.
Ещё раз: Drupal 8/9 это система для более сложных проектов. Делать на ней мелкие бложики как раньше на D7 — это тоже самое, что пушкой по воробьям. А вот относительно крупные проекты, например СМИ, ЛК, Коммерция — где нужна предсказуемость и расширяемость — самое оно.
А Symfony под капотом позволяет сделать всё, что должен уметь фреймворк. Я встречал проекты, которые сделаны на друпал, но люди не знали инструментарий друпала, но в, видимо, совершенстве владели Simfony. Результат был достигнут, но немного не тем путём ))
Обзор CMS DRUPAL 9