Wie sollte ich Features und Installationsprofil in einem Code Driven Development-Workflow ausgleichen?

12

Drupal-Installationsprofile (in Drupal 7) sind ziemlich leistungsfähig und können fast alles, was ein Modul kann. Ich verwende ein Installationsprofil zusammen mit Features, um meine Site zu entwickeln, und behalte alles im Code, damit ich meine Datenbank nicht versionieren muss.

Angesichts der Leistungsfähigkeit von Installationsprofilen können viele der Funktionen, die Sie in einem Funktionsmodul ausführen können, auch in einem Installationsprofil ausgeführt werden. ZB Erstellen von Inhaltstypen, Konfigurieren von Berechtigungen usw. Wie müssen Sie entscheiden, ob ein Element in einem Installationsprofil oder in einem Funktionsmodul enthalten ist, wenn Sie einen Code Driven Development-Workflow in Drupal verwenden?

Chaulky
quelle
1
Nuvole hat diese Frage beantwortet und ich bin zu faul, um eine Zusammenfassung als Antwort zu veröffentlichen. nuvole.org/blog/2012/feb/07/…
Capi Etheriel

Antworten:

1

Ich habe kürzlich damit begonnen, das Funktionsmodul als Bereitstellungssystem zu verwenden, wie in dieser Präsentation zur Bereitstellung von Funktionen beschrieben . Angenommen, Sie verwenden ein ähnliches Setup mit hook_update_N. Features haben einen klaren Vorteil, den ich kenne: Sie kennen alle Änderungen, die nicht im Code enthalten sind. Dies erleichtert die Nachverfolgung von Änderungen an (z. B.) Ansichten und Inhaltstypen und ermöglicht es Ihnen, den Code für neue Funktionen, der festgeschrieben und bereitgestellt werden soll, automatisch zu generieren.

Ich bin mit Installationsprofilen nicht allzu vertraut, aber aus dem von Ihnen angegebenen Link geht hervor, dass sie diese Funktionalität nicht bieten. Es kann jedoch ein Anwendungsfall sein, der am besten zu Ihnen passt.

Edit: Antwort überdenken.

Daniel Nitsche
quelle
1
Profile können Update-Hooks haben, sie sind so ziemlich Module in Drupal 7
Chaulky
Eines der Probleme, auf die ich gestoßen bin, ist, dass in einer Funktion nicht alles funktionieren kann, und selbst wenn dies möglich ist, funktioniert dies nicht immer, wenn alle Funktionen gleichzeitig aktiviert werden. Zum Beispiel hatte ich Probleme, verschiedene Taxonomie-Vokabulare und Berechtigungen in verschiedene Module zu setzen. In diesem Fall verhinderte eine SQL-Ausnahme die korrekte Aktivierung der Module.
Chaulky
0

Ich benutze ziemlich viel Drush dafür. Ich habe drei kombinierte Befehle (habe es nie in einer Zeile ausprobiert, lol), die ich nach der Installation von Drupal ausführe. Ich habe die meisten Dinge ziemlich schnell zum Laufen gebracht.

So viele Dinge, die du mit Drush machen kannst. Das Herunterladen und Aktivieren mehrerer Module ist so einfach wie

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

Es können problemlos mehrere Ansichten pro Modul importiert werden https://www.drupal.org/node/1393228 .

Nur ärgerlich, dass ich nicht mehrere Regeln importieren kann (ohne das Feature-Modul).

user24957
quelle