Funktionen versus Konfigurationsmanagement

8

Ich erstelle eine Drupal 8-Site und habe einige Nachforschungen angestellt, wann immer ich Konfigurationsmanagement oder Funktionen verwenden sollte, um die Konfiguration zu exportieren und in mein Profil aufzunehmen. Um die Konfiguration mit Configuration Management von einem Standort zu einem anderen zu exportieren und zu importieren, müssen Standorte dieselbe UUID haben. Es bedeutet, dass sie ein Klon voneinander sein müssen. Es gibt zwei Möglichkeiten, dies zu erreichen:

  1. Klonen Sie die Datenbank von einem Standort zum anderen, um dieselbe UUID zu erhalten
  2. Ändern Sie die UUID programmgesteuert so, dass sie mit der in der Konfiguration übereinstimmt

Die Site, die ich erstellen werde, verfügt über eine eigene Profilinstallation. Ich beabsichtige, die Konfiguration oder die Funktionen im Profil beizubehalten. Ich habe meine Profilinstallation bereits erstellt, aber jetzt muss ich die Konfiguration so einschließen, dass sie nicht von der UUID abhängt, damit ich:

  1. Starten Sie mithilfe der Profilinstallation eine neue Entwicklungsumgebung
  2. Neue Funktionen entwickeln
  3. Exportieren Sie neue Funktionen im Profil
  4. Stellen Sie es bereit, um neue Funktionen zu entwickeln und anzuwenden, ohne die Site erneut zu installieren

Wie kann ich die Konfiguration exportieren und meinem Profil hinzufügen? Sollte ich das Konfigurationsmanagement verwenden und die UUID manuell entfernen oder sollte ich Funktionen verwenden und sie meinem Profil hinzufügen?

Mit dem Funktionsmodul kann ich das Ziel für meine Funktionen nicht festlegen. Ich möchte alle meine Funktionen unter profile / my_profile / feature einfügen. Wenn ich es erstelle, kann ich kein Ziel festlegen, daher wird es unter modules / custom gespeichert. Ich habe es manuell von modules / custom nach profile / my_profile / features verschoben. Wenn ich es aktualisiere, werden die von mir verschobenen Funktionen nicht aktualisiert, sondern es wird eine neue Funktion mit demselben Namen unter modules / custom erstellt. Wie kann ich ein benutzerdefiniertes Ziel einrichten?

Tyler Durden
quelle

Antworten:

4

Ich würde empfehlen, Funktionen zu verwenden. Dies würde es nicht nur ermöglichen, Funktionen zu exportieren und sie viel einfacher zu unterteilen, sondern Sie könnten auch Funktionen später von einer externen Quelle einbringen und / oder bestimmte Funktionen hier auf einer anderen Site verwenden, die nicht mit Ihrem Installationsprofil begonnen hat .

Derzeit gibt es ein Problem bei der Unterstützung der benutzerdefinierten Pfadgenerierung für Funktionen: https://www.drupal.org/node/2693123

Wenn dies behoben ist, können Sie die Features auf dem Pfad Ihrer Wahl generieren. Im Moment können Sie das Ergebnis generieren, es aus Modulen / benutzerdefinierten Elementen herausholen und das generierte Funktionsmodul in Ihr Profil einfügen.

Kevin
quelle
Ich versuche, Funktionen zu verwenden, aber es generiert sie auf modules / custom, während ich sie unter profile / my_profile / my_feature behalten möchte. Ich kann es generieren und verschieben, aber wenn ich es aktualisieren möchte, wird es erneut unter modules / custom abgelegt. Wie kann ich ein benutzerdefiniertes Ziel festlegen?
Tyler Durden
Ich würde ein Problem in der Feature-Warteschlange einreichen (ich denke, eines ist bereits für die Zielüberschreibung vorhanden). Generieren Sie sie in der Zwischenzeit und platzieren Sie sie in Ihrem Profil. Ich hatte dies zuvor für Drupal 7 getan.
Kevin
Ich habe das Problem gefunden: drupal.org/node/2693123 . Im Moment generiere ich es unter modules / custom und lasse es dort. Wenn ich meine erste Version habe, werde ich es in profile / _myprofile_name / feature verschieben. Wenn Sie Ihre Antwort mit weiteren Anweisungen erweitern, kann ich Ihnen das Kopfgeld geben.
Tyler Durden
1

Hinzufügen einiger Gegenargumentinformationen zur Assimilation / Überlegung:

Mike Potter, der Betreuer des Funktionsmoduls, ermutigt die Leute, das Funktionsmodul nicht mehr als ...

Das Funktionsmodul wird wirklich nicht mehr benötigt und sollte nicht zum Bereitstellen der Konfiguration verwendet werden. Features bietet jedoch weiterhin ein leistungsstarkes UI- und Plugin-System für die Verwaltung der Konfiguration. In Kombination mit neuen Modulen wie Konfigurationsaktionen könnte es endlich seinen Traum verwirklichen, wiederverwendbare Funktionen zu verpacken.

Michael Stilson
quelle