Feature-Konflikte, wenn Feldbasen von anderen Features verwendet werden

7

Ich habe kürzlich das Funktionsmodul heruntergeladen und war so froh darüber, wie reibungslos ich jetzt Funktionen von dev nach prod exportieren kann. Aber jetzt, wenn ich versuche, ein zweites Feature zu erstellen, treten Konflikte auf, weil ich in meinem ersten Feature bereits viele der gleichen Feldbasen verwendet habe.

Was kann ich tun, um dieses Problem zu beheben? Sollten Sie nicht in der Lage sein, dieselben Felder in verschiedenen Funktionen zu verwenden? Es scheint nicht richtig, dass ich so viele Felder für "Körpertext" definieren muss, wie ich habe, oder Bildfelder für diese Angelegenheit. Diese Felder könnten und sollten richtig geteilt werden?

Welche Möglichkeiten habe ich hier?

Johan Dahl
quelle

Antworten:

7

Angenommen, Sie haben zwei Features und ein Feld, das in beiden Features verwendet wird, dann müssen Sie die Feldbasis nur EINMAL exportieren.

Aus diesem Grunde ist im Allgemeinen eine „Controller“ Eigenschaft hat , das Feld enthält Basen , zu aktualisieren Haken usw., und dann für jede andere Eigenschaft , die ich exportiere das Feld Instanz , und dann eine Abhängigkeit von meiner Controller - Funktion hinzuzufügen.

Grundsätzlich haben Sie Recht - Sie müssen die Feldbasen nicht jedes Mal exportieren, sondern nur einmal exportieren und dann Abhängigkeiten hinzufügen.

Chapabu
quelle
^ Das scheint ein bisschen seilig zu sein. Wenn Sie weitere Erläuterungen benötigen, lassen Sie es mich bitte wissen und ich werde sehen, ob ich mich erweitern kann.
Chapabu
Ja, ich habe gerade angefangen, so etwas zu tun. Ich entferne jetzt die Feldbasen aus meinem erstellten Feature und füge sie in ein neues "Master-Feldbasen-Feature" ein, das ich als Abhängigkeit von zukünftigen Features hinzufügen werde, die Felder gemeinsam nutzen. Das meinst du richtig? Dies scheint auch eine bessere Idee zu sein, als die Feldbasen nicht in einem "Master-Feature" zu definieren, da dann zukünftige Feature-Abhängigkeiten allgegenwärtig sein werden.
Johan Dahl
1
Ja, das ist irgendwie was ich tue. Meine "Controller" -Funktion dient jedoch immer auch anderen Zwecken. Wenn ich beispielsweise während meiner Feature-Entwicklung einige Moduleinstellungen ändere, füge ich sie in eine hook_update_NImplementierung in der .installDatei des Controller-Features ein . Alle meine Abhängigkeiten werden mit der Controller-Funktion aufgelöst, und alle meine "Unterfunktionen" hängen vom Controller ab. Dies bedeutet, dass alle Modulabhängigkeiten an einem einzigen Ort aufgelöst werden, im Gegensatz zu 5/6 / verschiedenen Funktionen. Ist das sinnvoll?
Chapabu
Wie richte ich meine Abhängigkeiten von der "Master-Funktion" ein, während wir uns mit diesem Thema befassen? Ich habe jetzt ein Master-Feature mit den Basisfeldern erstellt, und mein anderes Feature enthält stattdessen die Feldinstanzen. Füge ich irgendwo Abhängigkeiten hinzu oder funktioniert das automatisch? Ich sehe keine Optionen.
Johan Dahl
1
Ah, das ist eine ganz andere Frage, die mir nicht gefällt. Zwei gute Startpunkte sind die Dokumentation für hook_update_Noder das Hook-Update-n- Tag auf dieser Site :)
Chapabu