Приємно бачити, як Drupal 8 виконує свою обіцянку бути зручнішим у всьому! Ми вже обговорювали, як він поважає стандарти веб-доступності, як полегшує адміністрування товарів за допомогою модуля Inline Entity Form, як використовує магічну силу модуля BigPipe для швидшого завантаження сторінок, і багато іншого. Великі покращення торкнулися також керування конфігураціями. І саме про це сьогодні поговоримо.
Конфігурації: коротко про те, що вони собою являють
Конфігурації включають у себе фактично всі елементи сайту, які можна налаштовувати, за винятком контенту. Серед них: налаштування модулів і тем, способи відображення даних, розташування віджетів та блоків, меню навігації, типи контенту, словники таксономії та багато інших. Наскільки “багато інших”, особливо відчувається в деякі моменти :) Наприклад, коли потрібно переносити зміни конфігурації між різними середовищами сайту (dev, test і live).
Нова і зручна система керування конфігураціями в Drupal 8
В Drupal 7 процес обміну конфігураціями між різними версіями сайту був нелегким. Тож однією з основних ініціатив з покращення Drupal 8 було створення зручної системи керування конфігураціями.
Сказано, зроблено! Ініціатива CMI (Configuration Management Initiative) успішно втілена в життя. Вітаємо! Зараз ми маємо функціональну систему керування конфігураціями, яка дозволяє нам зберігати, змінювати і перености дані конфігурації швидко та просто.
Тепер керуйте конфігураціями у файлах
За замовчуванням конфігурації зберігаються в базі даних. Проте, Drupal 8 пропонує можливість конвертувати ці дані в код і зберігати у файлах.
Все просто: експортуєте конфігурації з бази даних у файли, а потім, після розгортання, імпортуєте їх у базу даних нового середовища. Наприклад, можете зробити певні зміни на дев-сайті, експортувати їх у файли, розгорнути на тест-сайті та імпортувати в базу даних тест-сайту. І так далі.
У справі керування конфігураціями за допомогою файлів, вам можуть дуже стати в нагоді модуль Configuration Manager або інтерфейс командного рядка Drush.
Використання файлів для керування конфігураціями дійсно заощаджує час. Вам більше не потрібно пам’ятати, що саме змінилося, скажімо, на дев-сайті, та повторювати всі ці зміни на тест-сайті та лайв-сайті. Більше того, процес можна автоматизувати. Чудовою ідеєю буде також застосовувати контроль версій.
Робота з одним сайтом або з різними
Нова система керування конфігураціями має на меті полегшувати перенесення конфігурацій з одного середовища сайту на інше, але не між різними сайтами. Значення UUID версій сайту повинні збігатися. Лише в цьому випадку система працює.
Але, як ми знаємо, в Drupal’і немає нічого неможливого, тож якщо потрібно мігрувати конфігурації з одного сайту на інший, можете спробувати модуль Features для Drupal 8, який, до речі, пропонує більше гнучкості в процесі керування конфігураціями, аніж CMI.
До речі, великий блог на тему конфігурації в Drupal 8 з безліччю цінних технічних деталей був написаний нашим девелопером приблизно рік тому. Можете переглянути.
Є питання, потрібна допомога або цікавить створення нового сайту? Завжди раді отримати від вас повідомлення... та “конфігурувати” наші зусилля під ваші потреби ;)