Рейтинг:0

Пользовательское переименование модуля

флаг us

У нас есть три пользовательских фрагмента кода для нашего веб-сайта Drupal: модуль, тема и библиотека php, не относящаяся к Drupal. Названия этих компонентов со временем стали неуклюжими. Я хотел бы переименовать наш пользовательский модуль с «rsm_library» на «rsm_module».

Я создал копию «rsm_library» на Github как «rsm_module». Затем я изменил все внутренние ссылки с «rsm_library» на «rsm_module». Эти изменения были в основном пространство имен и использовать заявления. Я также сделал обновления для .Информация и .модуль. Затем я использовал composer для загрузки нового модуля на веб-сайт, чтобы и «rsm_library», и «rsm_module» были доступны по адресу модули/пользовательские. Все идет нормально.

Мой следующий шаг — удалить «rsm_library» с помощью графического интерфейса администратора drupal. Я получил предупреждающее сообщение о том, что указанная конфигурация будет удалена при удалении модуля:

  • три пользовательских блока
  • один ресурс REST

Это кажется правильным, так как поддержка блоков/остатков закодирована в модуле «rsm_library». Я посмотрел конфигурацию одного из пользовательских блоков. Среди прочего он содержит следующие строки:

зависимости: 
  модуль:
    - узел
    - rsm_library
поставщик: rsm_library

Вероятно, это интерфейс между пользовательским модулем и пользовательским блоком. Конфигурация REST содержит зависимость от «rsm_library», но не включает провайдер:.

Я не знаю, как завершить переименование «rsm_library» в «rsm_module». Возможно что-то вроде этого:

  • Экспорт четырех конфигураций
  • Измените зависимости/поставщика с «rsm_library» на «rsm_module».
  • Должен ли я удалить строку uuid:?
  • Включите полученный yml в "rsm_module/config/install"

Четыре конфигурации будут удалены, когда я удалю «rsm_library». Они будут снова включены, когда я установлю «rsm_module». Это кажется правильным подходом?

Kevin avatar
флаг in
Я бы, вероятно, просто разместил 3 новых блока, но это, вероятно, можно исправить, изменив имена зависимостей в файлах конфигурации и импортировав их, а затем попытавшись удалить старый модуль. Кроме того, вероятно, имеет смысл избегать использования _library или _module в качестве соглашения об именах в целом.
Рейтинг:0
флаг us

Я поступил так, как описал в вопросе выше, включая удаление UUID: строки из файлов yml. Теперь у меня удалена «rsm_library» и установлен «rsm_module» на веб-сайте. Конфигурации блока и остальных на месте и, похоже, работают. Я должен быть в состоянии продвигать это на нашем общедоступном веб-сайте с некоторым дополнительным тестированием.

sonfd avatar
флаг in
Я не верю, что есть какая-то причина удалять строки uuid.
Kevin avatar
флаг in
Нет, просто замена строк зависимостей.

Ответить или комментировать

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