¿Cómo debo equilibrar las características y el perfil de instalación en un flujo de trabajo de desarrollo basado en código?

12

Los perfiles de instalación de Drupal (en Drupal 7) son bastante potentes y pueden hacer casi cualquier cosa que un módulo pueda hacer. Estoy usando un perfil de instalación junto con características para desarrollar mi sitio, manteniendo todo en código para no tener que versionar mi base de datos.

Dado el poder de los Perfiles de instalación, muchas de las cosas que puede hacer en un módulo de Características también se pueden hacer en un Perfil de instalación. Por ejemplo, crear tipos de contenido, configurar permisos, etc. ¿Cómo debe decidir si algo pertenece en un Perfil de instalación o en un módulo de Características al usar un flujo de trabajo de Desarrollo controlado por código en Drupal?

Chaulky
fuente
1
Nuvole respondió a esta pregunta y soy demasiado vago para publicar un resumen como respuesta. nuvole.org/blog/2012/feb/07/…
Capi Etheriel el

Respuestas:

1

Recientemente comencé a usar el módulo Características como sistema de implementación, como se describe en esta presentación sobre la implementación de características . Suponiendo que esté utilizando una configuración similar con hook_update_N, las características tienen una clara ventaja que conozco: es consciente de cualquier cambio que no esté en el código. Esto hace que sea un poco más fácil rastrear los cambios en (por ejemplo) las vistas y los tipos de contenido, y también le permite generar automáticamente el nuevo código de características para que se confirme e implemente.

No estoy demasiado familiarizado con los perfiles de instalación, pero desde el enlace que ha proporcionado no parece que brinden esta funcionalidad. Sin embargo, puede ser un caso de uso lo que más le convenga.

Editar: repensar la respuesta.

Daniel Nitsche
fuente
1
Los perfiles pueden tener ganchos de actualización, son prácticamente módulos en Drupal 7
Chaulky
Uno de los problemas con los que me he encontrado es que no todo puede ir en una función, e incluso cuando puede, no siempre funciona bien cuando se habilitan todas las funciones a la vez. Por ejemplo, he tenido problemas para poner diferentes vocabularios y permisos de taxonomía en diferentes módulos. En ese caso, una excepción de SQL impidió que los módulos se habilitaran correctamente.
Chaulky
0

Estoy usando drush bastante para esto. Tengo tres comandos combinados (nunca lo intenté en una línea jajaja) que ejecuto después de instalar Drupal. Conseguí la mayoría de las cosas funcionando rápidamente.

Tantas cosas que puedes hacer con Drush. Descargar y habilitar múltiples módulos es tan simple como

drush dl rules views admin_menu && drush en -y rules views admin_menu && drush dis -y toolbar

Se pueden importar varias vistas por módulo fácilmente https://www.drupal.org/node/1393228 .

Simplemente molesto porque no puedo importar varias reglas (sin el módulo Características).

user24957
fuente