Drupal 8 Что хорошо, а на что нужно обратить внимание

Аватар пользователя Studio VIZA
2

Всем добра и спокойствия!

Уже несколько лет, эпизодически мучаю Восьмёрку, сначала это было заявлено как трэнд, потом переросло в вялотекущую конфронтацию.
Кто помнит, я её хвалил в своих публикациях, и потом ругался на сырость и прочее.

На сегодняшний день 2,260 модулей, 144 темы и 46 Distributions. Это уже не 200 и не 500 модулей, и работа вполне себе очень даже.

Сначала об очевидных плюсах - админка фантастична, для недалёких контент-менеджеров куча нямок.
Конечно самый большой плюс - в скорости сайта, сравнивал Семёрку и Восьмёрку, при аналогичном заполнении сайта, Восьмёрка вырывает 20, а то и 30% у Семёрки.

Из очевидных минусов, к сожалению где попало она не станет. Желателен Php 7.0, оператива от 256 до 512мб (Привет Шестёрке с трёх-тысячным суточным посещалкой на 32мб оперативы)
Хм, на 5.6 тоже работает чудесно, но если вы хоть раз попробуете 7.0, то поймёте... .

Обкатывал творение старого-доброго www.weebpal.com Блог на 8.x-1.0-beta4 Free если что.

Опишу подробнее инсталл, и несколько коварных подводных камней, с которыми столкнулся, и себе для памяти и вдруг кому интересно, и вдруг пригодится.

Вот не знаю как у вас, а у меня, для успешного инсталла я должен был с www домена убрать всё, оставив только Апач.

http://www.img.studioviza.ru/Shot1m8yq.png

1.Закачиваем на сервер архив с корнем blog_theme_d8-demo-8.1.1, распаковываем.

2. Создаём базу, переходим в неё и импортируем с корня, из папки database, sample_data.sql. Всё, база на месте.

3. Создаём в папке default, файл settings.php, копируем всё с файла default.settings.php и там прописываем имя базы,имя пользователя баз, и пароль.
Это, опять таки, не как в Семёрке а в самом низу

<?php$databases['default']['default'] = array (
  'database' => 'имябазы',
  'username' => 'имяпользователябаз',
  'password' => 'парольпользователябаз',
  'prefix' => '',
  'host' => 'localhost',
  'port' => '3306',
  'namespace' => 'Drupal\\Core\\Database\\Driver\\mysql',
  'driver' => 'mysql',
);
$settings['install_profile'] = 'standard';
$config_directories['sync'] = эти данные я скрыл?>

.

4.Запускаем сайт.

5. Прибавляем к доменному имени /user и вводим в открывшейся странице Логин admin Пароль admin

Вы в админке, сейчас важно удалить арабский язык, ибо сайт будет непринуждённо скатываться на непривычное написание, несвойственное нашим северным широтам. это делаем здесь /admin/config/regional/language

Русский язык пока не добавляем, ибо он может кое где нам помешать.

Далее, важно.на сервере заходим /sites/default/files и видим внизу файл .htaccess Если он имеет права 644, заходите, если 444, правьте на 777.
Вторую строку - закомментируйте. # Options -Indexes -ExecCGI -Includes -MultiViews Просто поставьте знак решётки перед Options -Indexes.

Если этого не сделать, можно потерять кучу времени на работу с бубном звонкам другу, и бессмысленной войной со стилями картинок. Картинки по сайту будут все, или почти все - битые.
Возвращаем права .htaccess 444, если было 644, всё равно ставим 444.

Дальше... С Восьмёркой не стоит спорить и навязывать ей Семёрочные навыки и привычки. Если она в /admin/config/media/file-system прописала (САМА!!!) /var/www/имяпользователя/data/mod-tmp, значит так и надо, не нужно ставить /tmp, потом героически удалять слэш и прочее.

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

Добавляем русский язык и идём в содержимое. Можно перевести все вручную, около 20 статей рыбы на русский, можно просто в каждой статье переключить с анг на рус.

http://www.img.studioviza.ru/Shotdpi1d.png

Так как, если сайт поймёт что он на русском, контент останется на английской версии сайта (исчезнут вьюшки, блоки, карусельки и прочее), ну это кто работал с многоязычием, мне ли объяснять.

На сервере цепляю к www домену CGI прыгаю с 5.6 на 7.0 и иду любоваться пахнущим свежей типографской краской, сайтом.

http://www.img.studioviza.ru/Shotya2r6.png

Из чудеснейших плюшек, привычным с Семёрки, там стоит модуль Admin Toolbar

https://www.drupal.org/files/admin_toolbar_0.gif

Чтобы не выбешивало его "вздрагивание", рекомендую "Успокоитель" https://www.drupal.org/project/toolbar_anti_flicker

Единственно, ещё не залил новое ядро, но так понимаю там проблем не будет.

Если кому понравится, на Вебпале есть ещё Zircon - Responsive Drupal 8 Theme. Инсталл абсолютно аналогичен описанному здесь Блогу. Вид и функционал - имхо, поскромнее и аляписто несколько.
Темы, Восьмёрочная и Семёрочная лежат на https://www.drupal.org/project/zircon

http://www.img.studioviza.ru/Shotas2j8.png

В этом мире всё взаимосвязано и переплетено волшебным образом ))

http://www.reactiongifs.com/r/mgc.gif

Сам сайт.

Тип материала:
Версия Drupal:

Комментарии

Аватар пользователя Valeratal
Valeratal 1 год назад
1

Далее, важно.на сервере заходим /sites/default/files и видим внизу файл .htaccess Если он имеет права 644, заходите, если 444, правьте на 777.
Вторую строку - закомментируйте. # Options -Indexes -ExecCGI -Includes -MultiViews Просто поставьте знак решётки перед Options -Indexes.

Ептель, я 2 часа пытался укротить. А оказалось вот оно чё

Спасибо

Аватар пользователя itcrowd72
itcrowd72 1 год назад
3

>правьте на 777
1000 и 1 совет как добавить уязвимостей своему сайту?

Аватар пользователя gun_dose
gun_dose 1 год назад
1

Там в конце следующего абзаца написано "возвращаем 444". Но вообще, мне кажется, что автор ставит друпал через какое-то не то место.

Аватар пользователя multpix
multpix 1 год назад
2
ivnish написал:
>правьте на 777

1000 и 1 совет как добавить уязвимостей своему сайту?

Нет, это всего-лишь ваше невнимательное прочтение и глупая готовность постебаться вместо обычного общения))

Костян далее указывает на то, что права необходимо вернуть в исходное,
а "запись для всех" может быть полезна тем, у кого системный пользователь не является владельцем и не входит в группу.

Studio VIZA написал:

Единственное, что может смутить в статье:
"магия" начинается там, где заканчиваются "знания",
но от этого сам объект не становиться менее познаваемым или более магичным,
и вся байда происходит на стороне субъекта )))

Аватар пользователя Studio VIZA
Studio VIZA 1 год назад
1

Просто выяснил, что многие не знают как поставить сайт. У коробки обычно несколько способов инсталла. Как минимум три. И если способ хоть немного отличается от обычного, люди тупят и "Ой фсё, шаблоны кривые". Если по Семёрке инфы море, то по Восьмёрке - увы...
Ещё в топике я рассказываю, что Восьмёрка наконец то, перестала быль уделом прогеров, любой мышкокликер может успешно установить и использовать сайт.

Вырос график потребления процессоров, виновником вижу только Восьмёрку, жрёт как десять Семёрок (навскидку).
Ещё пару недель повозиться и можно "Х*уяк, х*уяк и в продакшн" )))

Аватар пользователя Studio VIZA
Studio VIZA 1 год назад
1
sergeybelya написал:

В моём дурацком слэнге, "коробка" - готовый сайт, с инсталл-профайлом или без, имеющим базу для импорта перед установкой.

Аватар пользователя multpix
multpix 1 год назад
1
Studio VIZA написал:
Просто выяснил, что многие не знают как поставить сайт

drush si  --db-url=sqlite://sites/default/files/.ht.sqlite
или указать другую базу - все опции в доках расписаны)

Аватар пользователя Studio VIZA
Studio VIZA 1 год назад
1
multpix написал:
или указать другую базу

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

Аватар пользователя multpix
multpix 1 год назад
1

просто drush в консоли без ключей - выведет доступные команды
drush help имя_команды и читать
все в одном месте:
https://drushcommands.com/

Аватар пользователя gun_dose
gun_dose 1 год назад
1

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

Аватар пользователя deadie
deadie 1 год назад
1

Да уж... Эпичный трактат.

Аватар пользователя multpix
multpix 1 год назад
1
gun_dose написал:
но некоторые команды драша весьма посредственно задокументированы
devel@comp ~/projects/тута_друпал $  drush help field-create
Create fields and instances. Returns urls for field editing.

Examples:
 drush field-create article                Define new article fields via interactive prompts.                      
 open `drush field-create article`         Define new article fields and then open field edit form for refinement.
 drush field-create article                Create two new fields.                                                  
 city,text,text_textfield                                                                                          
 subtitle,text,text_textfield

Arguments:
 bundle                                    Content type (for nodes). Name of bundle to attach fields to. Required.              
 field_spec                                Comma delimited triple in the form: field_name,field_type,widget_name. If widget_name
                                           is omitted, the default widget will be used. Separate multiple fields by space. If    
                                           omitted, a wizard will prompt you.

Options:
 --entity_type                             Type of entity (e.g. node, user, comment). Defaults to node.

https://drushcommands.com/drush-8x/field/field-create/

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

Аватар пользователя gun_dose
gun_dose 1 год назад
1

Я же писал русским по белому, что это делать я умею, но потом ещё нужно заходить в настройки поля и менять лэйбл, т.к. в него записывается машинное имя. И тут ещё рассмотрено поле со стандартным форматтером, а если поле entityreference или, упаси господь, geofield, перекодированный из addressfield? Ну или опустим эти дебри, вспомним старую добрую таксономию - непонятно как указать целевой словарь, не говоря уже о том, что непонятно, что туда писать, если надо shs с форсированной глубиной. Или тупо картинкам указать, в какой каталог литься. Или указать, применять ли текстовые фильтры к текстовому полю.

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

Аватар пользователя multpix
multpix 1 год назад
1
gun_dose написал:
Я же писал русским по белому

Ну так дело за малым - осталось научиться читать)))

Ищущий, да обрящет!

Аватар пользователя Studio VIZA
Studio VIZA 1 год назад
1

Драш придуман для троллинга новичков на форуме. Главное - тонко и работает. А вообще я рад что многие не видят смысла в Драше. При работе с клиентами на сервере, согласен, он полезен. Упрощает, ускоряет. Если обычно юзер валит сайт за час, Драшем это удаётся сделать за несколько секунд.

Аватар пользователя gun_dose
gun_dose 1 год назад
1

Не знаю, кто там кого троллит, но ставить модули или создавать темы без драша - это мазохизм. Я вот задаю неудобные вопросы только лишь потому, что хочу с помощью драша делать ещё больше вещей. Странно такое читать от человека со словом Studio в нике. Не удивлюсь, если вы ещё и верстаете без препроцессоров.

Аватар пользователя multpix
multpix 1 год назад
1

drush более для админ задач,
если для своих тем и модулей, то drupal console более функционален - кто попробовал - про drush забыл))

https://drupalconsole.com/docs/english

Аватар пользователя negociant
negociant 1 год назад
1

Как же быть с drupal console в плане замены таких команд, которые умеет только drush: drush up, drush ard(drush arr)?
drush up конечно можно компенсировать с помощью composer, а так в плане разработки под восьмерку console конечно незаменим и сокращает уйму времени.

Аватар пользователя multpix
multpix 1 год назад
2

Костян)
а каких дел можно натворить с bash-ем...
ух!

Аватар пользователя Studio VIZA
Studio VIZA 1 год назад
1
gun_dose написал:
если вы ещё и верстаете без препроцессоров.

Главное - не верстать кэш. А студию я сам родил, и придушить могу сам, идеи фонтанируют.

multpix написал:
а каких дел можно натворить с bash-ем...

ух!

Прогеры, это неудавшиеся мышкокликеры ))

Аватар пользователя multpix
multpix 1 год назад
2
До чего же электромонтеры
В электрическом деле матеры!
Невозможно понять головой,
Как возможно без всякой страховки,
Чудеса проявляя сноровки,
Лезть отверткою в щит силовой.

С чувством страха они незнакомы,
Окрыленны заветами Ома
Для неполной и полной цепей,
Сжав зубами зачищенный провод,
Забывают про жажду и голод.
Есть ли в мире работа святей?!

Нету в мире святее работы!
Во всемирную книгу Почета
Я б занес ее, будь моя власть.
Слава тем, кто в пределах оклада
Усмиряет стихию заряда,
Чтобы людям во тьме не пропасть!

Слава им, незаметным героям,
Энергичным в оценках порою,
Что поделаешь, служба не мед...
В некрасивых штанах из сатина
Электрический строгий мужчина
По огромной планете идет.

Игорь Иртеньев
Электромонтерам
1985

Аватар пользователя Studio VIZA
Studio VIZA 4 месяца назад

В личке Гиттера получил сообщение, пишет известный разработчик, он зная мою упёртость, просто приводит нужные цифры:
----------------
<<поделюсь небольшим инсайдом, зырь:
я законтрибил модулек на орге (для приличия).
версия для d7.
за неделю+ существования его скачали аж 17 раз
недавно, добавил версию для d8.
и на следующий день стата говорила о 68 скачиваниях.
сегодня (спустя 2 дня после релиза версии d8) - 178 скачиваний.>>
----------------

Какова мораль? Нужно прекращать мне, и тем кого я всё же убедил, сидеть как упыри на Семёрке. Хорошая, годная система, но время не стои́т на месте, и поезд имеет тенденцию уходить. Чего нам сто́ит бояться.
Пора начинать относиться к Семёрке с уважением, как к Шестёрке. Но пилить проекты только на Восьмёрке.
Касаемо этого форума, сейчас по Семёрке инфы в избытке, по Восьмёрке крайне мало, и именно этот пробел нужно удалять. Кто как может.
Пока же мы имеем вопросы, и тенденция по количеству неотвеченных увеличивается.

Цель сообщества в популяризации продукта. Аминь.

Аватар пользователя Studio VIZA
Studio VIZA 4 месяца назад
Van'Denis написал:
Статистика :)

Что имеется в виду под "Еженедельное использование проекта" ? Количество скачек, установок, или сайтов?
Думаешь много ума надо скрыть все ядра на орге, кроме 8-ки, и потом показывать график? Или же нам пытаются сказать что миллионы восьмёрок свеже-инсталленных обогнали шестёрку?
Няня если пытаешься донести мысль - неси а не делай вид что обладаешь инфой, важно надувая щёки.

Аватар пользователя Van&#039;Denis
Van'Denis 4 месяца назад
1

Элементарно, дорогой ниндзяго!
Я просто показал статистику производителя и не более. :)

Аватар пользователя Valeratal
Valeratal 4 месяца назад
1

Недавно пробовал апнуть мелкий сайтик на 8-ку

Хм, по ощущениям, корректно переносятся только ядерные модули. Даже вьюхи не переносятся. Панели тоже.

Остальные модули я даже особо не смотрел (а я юзаю модуль Insert, ютубфилд) так как они еще не релизнулись

Собственно 8-ка честно показывает, что будет перенесено, а что не будет.

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

Аватар пользователя VasyOK
VasyOK 4 месяца назад
1

dev-ку insert один товарищ юзает
панели - в топку.
мететеги - тут модули импорта и экспорта пригодятся.
вообще зачем грязную БД-у иметь?

Аватар пользователя Valeratal
Valeratal 4 месяца назад
1

Какие модули "импорта-экспорта"? для метатегов я не знаю таких. Может и есть. Если у Вас есть опыт миграции метатегов, сделайте людям пользу - опишите.

Панели, кому-то нужны, кому-то нет. Кричать "в топку" про популярный модуль могут только юнцы-максималисты

Аватар пользователя gun_dose
gun_dose 4 месяца назад
1
Valeratal написал:
переносятся только ядерные модули

Как могут переноситься модули?

Миграция - это в первую очередь миграция контента. Потому всякие вьюсы и панели не мигрируют.

Хотя соглашусь, что с контентом есть проблемы с нестандартными типами полей.

Valeratal написал:
Какие модули "импорта-экспорта"? для метатегов я не знаю таких.

Только  Custom

Аватар пользователя Valeratal
Valeratal 4 месяца назад
1

Как могут переноситься модули?
Я возможно некорректно выражаюсь, ибо уже не помню как оно там пишется на буржуйском. При апгрейде открывается отдельная страница, где показывается, что 8-ка захавает, а что похерит

если есть модуль ютубфилд, значит при переносе должны перенестись нужные поля и их значения. Не будете же Вы опять вручную 100500 полей забивать

Если переносим метатеги, то соответственно должны переносится значения вбитые в "метатеги"

Все как обычно апгрейде. Мы же когда обновляем модули с версии на версию не теряем (как правило!) все, что эти модули успели сделать

Резюмируя. Для себя я еще не могу юзать 8-ку, по причине отсутствия модуль-миграции нужных мне модулей

Аватар пользователя VasyOK
VasyOK 4 месяца назад
1

"Какие модули "импорта-экспорта"? для метатегов я не знаю таких. Может и есть. Если у Вас есть опыт миграции метатегов, сделайте людям пользу - опишите."

Опыт есть. Метатеги экспортируются через https://www.drupal.org/project/node_export
Т.е. таблицу в которой Название статьи и метатеги (и много разной ерунды, которую приходится разгребать) - получаем.

А вот чем импортировать в D8 - не знаю. feeds пока в dev.