Aber zuerst (für die, die das Problem nicht kennen)

Features und die Probleme bei Nodetypes

Kurz: Dazutun funktioniert - wegnehmen nicht.

Böses Beispiel: Feature myFeature enthält einen Nodetypen myType und dieses Feature ist Lokal und auf dem Server. Jetzt ändere ich myType indem ich ein Feld entferne und erzeuge eine neue Version von myFeature, de ich auch gleich auf den Server schiebe.

Bumm! Features entfernt nicht alle DB-Einträge, die zu diesem Feld gehören. Eine Reparatur setzt einige DB-Kenntnisse voraus... 

Dabei wäre manchmal wenigstens ein Transport eines Nodetypen so angenehm. Und das geht !

Transport eines Nodetypes

Wegen obiger Gründe verbietet es sich meiner Meinung nach, Nodetypen dauerhaft in einem Feature anzusiedeln. Aber für den Ersttransport kann man Features doch einsetzen.

Lohnen tut sich das natürlich nur bei komplexen Nodetypen...

So geht's:

  1. Nodetype anlegen - mit allem Fieldgroups usw...
  2. Feature erzeugen mit: dem Nodetypen, evtl. Fieldgroups, Strongarm-Variablen die den Nodetype-Namen enthalten (Strg-F hilft)
  3. Feature auf den Server schieben und aktivieren
  4. Jetzt der Trick: eine kleine Nodetype-Änderung vornehmen - zB. die Description ändern.
  5. Features auflisten. Das Feature muss jetzt ein "Überschrieben" anzeigen
  6. Feature deaktiviern

Der Nodetype sollte unverändert noch da sein.

Kleines Problem: Nodetype lässt sich nicht mehr löschen -> http://drupal.org/node/1055460#comment-6163276

Lösung: Es ist zwar kein "Delete"-Button da, aber löschen geht trotzdem. Einfach ein "delete" anhängen - zB. admin/structure/types/manage/testtype/delete

Genießt die Erdbeerzeit - Kle