Comment dois-je équilibrer les fonctionnalités et le profil d'installation dans un flux de travail de développement piloté par code?

12

Les profils d'installation Drupal (dans Drupal 7) sont assez puissants et peuvent faire à peu près tout ce qu'un module peut faire. J'utilise un profil d'installation avec des fonctionnalités pour développer mon site, en gardant tout dans le code afin que je n'ai pas à mettre à jour ma base de données.

Étant donné la puissance des profils d'installation, de nombreuses choses que vous pouvez faire dans un module de fonctionnalités peuvent également être effectuées dans un profil d'installation. Par exemple, créer des types de contenu, configurer des autorisations, etc. Comment devriez-vous décider si quelque chose appartient à un profil d'installation ou à un module de fonctionnalités lors de l'utilisation d'un flux de travail de développement piloté par code dans Drupal?

Chaulky
la source
1
Nuvole a répondu à cette question et je suis trop paresseux pour poster un résumé comme réponse. nuvole.org/blog/2012/feb/07/…
Capi Etheriel

Réponses:

1

J'ai récemment commencé à utiliser le module Fonctionnalités comme système de déploiement, comme décrit dans cette présentation sur le déploiement des fonctionnalités . En supposant que vous utilisez une configuration similaire avec hook_update_N, les fonctionnalités ont un avantage clair que je connais: il est au courant de toutes les modifications qui ne sont pas dans le code. Cela facilite considérablement le suivi des modifications (par exemple) des vues et des types de contenu, et vous permet également de générer automatiquement le nouveau code de fonctionnalités à valider et à déployer.

Je ne connais pas trop les profils d'installation, mais d'après le lien que vous avez fourni, il ne semble pas qu'ils fournissent cette fonctionnalité. Cependant, il peut s'agir d'une utilisation qui vous convient le mieux.

Edit: réponse repensée.

Daniel Nitsche
la source
1
Les profils peuvent avoir des crochets de mise à jour, ce sont à peu près des modules dans Drupal 7
Chaulky
L'un des problèmes que j'ai rencontrés est que tout ne peut pas aller dans une fonctionnalité, et même quand c'est le cas, il ne fonctionne pas toujours bien lors de l'activation de toutes les fonctionnalités à la fois. Par exemple, j'ai eu des problèmes pour mettre différents vocabulaires et autorisations de taxonomie dans différents modules. Dans ce cas, une exception SQL a empêché les modules de s'activer correctement.
Chaulky
0

J'utilise beaucoup le drush pour cela. J'ai trois commandes combinées (jamais essayé en une seule ligne lol) que j'exécute après l'installation de Drupal. J'ai mis la plupart des choses en place assez rapidement.

Tant de choses que vous pouvez faire avec Drush. Télécharger et activer plusieurs modules est aussi simple que

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

plusieurs vues peuvent être importées facilement par module https://www.drupal.org/node/1393228 .

Juste ennuyeux de ne pas pouvoir importer plusieurs règles (sans le module Fonctionnalités).

user24957
la source