Как вы переносите поля CCK между средами в Drupal? - PullRequest
3 голосов
/ 07 октября 2009

Content Construction Kit (CCK) - один из самых полезных модулей Drupal. Позволяет легко добавлять настраиваемые поля к типу контента.

Однако эти новые поля создаются через сам Drupal и сохраняются в базе данных. Это означает, что если вы изменяете поле CCK в своей среде разработки, вам необходимо вручную внести те же изменения в тестовую и производственную среды.

Хуже того, нет простого способа определить, вышла ли ваша среда из синхронизации. Поэтому, если вы когда-либо случайно ошиблись или пропустили изменение, когда тестировали его или производили, вы, возможно, никогда не осознаете.

Я ищу метод, который позволяет мне экспортировать определения полей CCK, которые поддерживают:

  • Импорт в новые среды (очевидно)
  • Создание новых полей

В идеале экспорт также поддерживает:

  • 1020 * Определение различий *
  • Модификация существующих полей
  • Удаление существующих полей
  • Некое разрешение конфликтов в ситуациях, когда данные конфликтуют с изменениями полей

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

Ответы [ 3 ]

4 голосов
/ 07 октября 2009

Вам известно о модуле Content Copy , который является частью стандартного пакета cck? Он предлагает функции экспорта / импорта для полей и целых типов содержимого в некоторой степени.

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

Кроме того, вы можете сохранить выходные данные экспорта из разных экземпляров и локально их различить, что дает вам довольно хороший обзор изменений (особенно быстро выявляющих ситуации «несинхронизировано»).

После включения проверьте новые вкладки экспорта и импорта в верхней части '/admin/content/types'.

.
3 голосов
/ 07 октября 2009

Это еще не все, но модуль возможностей позволит вам сделать это. Он упаковывает поля CCK (помимо прочего) в модули drupal, которые вы можете распространять.

0 голосов
/ 08 октября 2009

Я лично использую модуль Узел экспорта + Модуль файла экспорта узла (в комплекте, для полей CCK / изображения).

Весь узел экспортируется в текстовую область как ассоциативный массив. Форма импорта аналогична: вы вставляете массив узлов в текстовое поле. Эти процессы реализованы как операции с узлами, поэтому они могут выполняться массово (на странице / admin / content / node или в вашем пользовательском модуле развертывания).

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

Используя текстовый редактор, вы можете изменить тип содержимого, заголовок, добавить / удалить / изменить поля, что вы хотите. Используя текстовый редактор с хорошим поиском / заменой, вы можете массово редактировать сотни узлов. Поскольку у вас есть текст, вы, вероятно, можете делать все из списка требований, используя существующие инструменты или скрипты быстрого доступа.

...