Евгений Никитин Евгений Никитин

Русский English

Выполняем код после клонирования сайта в Acquia Cloud Site Factory

Работая над фабрикой сайтов на Drupal 8 на платформе Acquia Cloud Site Factory (ACSF) мы столкнулись с интересной проблемой.

В ACSF есть возможность сделать копию сайта и, таким образом, получить новый сайт с точно таким же содержимым, но с другим URL. Проблема оказалась в том, что склонированный сайт использовал тот же самый SOLR индекс, что и оригинал. В общем-то все логично, ведь мы сделали полную копию сайта, включая конфигурацию SOLR. Решение проблемы заключается в инициализации новых настроек для SOLR после клонирования сайта.

Покопавшись в документации Hooks in Acquia Cloud Site Factory мы не обнаружили хуков, которые бы запускались при окончании клонирования.

Решение мы нашли в модуле acsf_duplication. В модуле acsf реализована система событий. ACSF запускает событие site_duplication_scrub после завершения клонирования сайта. Пример, как определяются обработчики, можно посмотреть в acsf_duplication_acsf_registry().

Осталось только реализовать обработчик для этого события в который мы поместили всю необходимую логику. Также мы добавили обновление настроек acquia_connector, чтобы данные с сайта отправлялись в Acquia Insight правильно.

Ссылки: