Це нетривіальна проблема, на яку майже кожен має різну відповідь: не існує канонічного способу друпаль, щоб вирішити постановку на виробничі поштовхи. Дріс Буйтаерт, хлопець, який веде шоу «Drupal», зробив це однією з ключових ініціатив Drupal 8 . Звичайно, Drupal 7 щойно був випущений, тож пройде якийсь час, поки це не принесе плодів.
Проблему можна розділити на два окремих питання:
- Конфігурація постановки (змінні, типи вмісту, поля, представлення тощо)
- Постановочний вміст (вузли, користувачі тощо)
З першим можна в основному керувати модулем Особливості , який прийме конфігурацію вашого сайту та перетворить його на модуль, який ви можете додати до інсталяції Drupal: таким чином ви можете додати його до вашої системи контролю версій і не турбуватися про це під час переміщення вмісту.
Останнє дійсно хитро, адже на активному сайті, ймовірно, вміст зміниться на виробництві навіть після того, як ви зробили початкову синхронізацію з вашим середовищем розробки. Це запобігає оптовій заміні вмісту під час інсценізації, як це можна зробити з конфігурацією.
Крім того, Drupal не використовує універсально унікальні ідентифікатори (UUID) для вмісту: кожного разу, коли додається вузол або користувач, ідентифікатор збільшується на одиницю. Тож, що може бути вузол 45 на вашому сайті розробки, може бути вузол 90 на вашому виробничому сайті.
На жаль, у мене немає чудового рішення для цього: постановка вмісту - справжня слабкість Drupal. Я особисто роблю це додавання вмісту лише на виробничий сайт. Якщо клієнт хоче побачити, як виглядає вміст до того, як він з’явиться в прямому ефірі, я створив клон виробничого сайту, доступного лише для клієнта. Потім, після затвердження, ті самі зміни вносяться безпосередньо до виробництва.
Існує ще одна альтернатива, яка стає проблемою: модуль розгортання . Передбачається використовувати Послуги, щоб зробити контент-постановку відносно безболісною. Але я не можу порушити його ефективність, і він не має версії Drupal 7.