2009-10-06 4 views
3

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

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

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

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

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

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

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

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

ответ

4

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

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

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

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

3

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

+0

В настоящее время функции зрелые и * * способ решить эту проблему. – drewish

0

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

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

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

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

Смежные вопросы