Skip to content

Feature Flags in CrispyCMS

Feature Flags bieten Ihnen die Möglichkeit, instabile oder neue Funktionen gezielt zu aktivieren. So können Sie innovative Features frühzeitig testen, bevor diese offiziell veröffentlicht werden.

Wir führen regelmäßig sogenannte "gradual Rollouts" durch. Dabei werden neue Features zunächst nur für ausgewählte Instanzen oder eine kleine Anzahl von Kunden freigeschaltet, um Stabilität und Funktionalität im Echtbetrieb zu prüfen.

Falls Sie an einem solchen Rollout teilnehmen oder ein Feature vorab testen möchten, können Sie dies jederzeit mit den CLI-Befehlen überschreiben und Features manuell aktivieren oder deaktivieren.

Feature Flags ermöglichen es, Funktionen gezielt zu aktivieren oder zu deaktivieren, ohne den Quellcode zu ändern oder ein neues Release bereitzustellen. Sie sind besonders hilfreich für Tests, schrittweise Rollouts und die gezielte Freischaltung von Features.

Konfiguration

Feature Flags können lokal über die Konfiguration oder zentral über einen Unleash Server gesteuert werden.

Unleash Integration

CrispyCMS unterstützt die Integration mit einem Unleash Server. Die Gitlab Unleash Integration ist nicht kompatibel – es muss ein eigenständiger Unleash Server verwendet werden.

Folgende Umgebungsvariablen sind für die Verbindung erforderlich:

Variable Beschreibung Beispielwert
UNLEASH_API_KEY API-Schlüssel für Unleash abcdef123456
UNLEASH_APP_URL URL des Unleash Servers https://unleash.example.de

Weitere Informationen zur Einrichtung eines Unleash Servers finden Sie in der offiziellen Unleash Dokumentation.

Lokale Feature Flags

Feature Flags können auch lokal über die Konfiguration gesetzt werden. Dies ist besonders für Entwicklungs- und Testumgebungen nützlich.

CLI-Befehle für Feature Flags

CrispyCMS bietet folgende Befehle zur Verwaltung von Feature Flags:

  • crispy:ff:check – Prüft den Status eines Feature-Flags
  • crispy:ff:enable – Aktiviert ein Feature-Flag als Override
  • crispy:ff:disable – Deaktiviert ein Feature-Flag als Override
  • crispy:ff:clear – Setzt alle Feature-Flag-Overrides zurück

Aktivierung und Steuerung von Feature Flags

Feature Flags können auf zwei Arten aktiviert oder deaktiviert werden:

  1. Über die CLI Mit dem Befehl crispy:ff:enable -f <feature> können Sie ein Feature Flag aktivieren, z.B.:

crispy:ff:enable -f cmscontrol_search
Analog dazu können Sie mit crispy:ff:disable -f <feature> ein Feature Flag deaktivieren.
  1. Über Umgebungsvariablen (ENV) Sie können Feature Flags auch direkt über Umgebungsvariablen steuern. Dabei wird der Name des Feature Flags immer mit dem Präfix FF_ und in Großbuchstaben angegeben. Beispiel:
FF_CMSCONTROL_SEARCH=true

Um ein Feature zu deaktivieren, setzen Sie den Wert auf false:

FF_CMSCONTROL_SEARCH=false

Hinweis: Die Steuerung per ENV überschreibt die zentrale Konfiguration und ist besonders für individuelle Instanzen oder Testzwecke geeignet.

Aktuelle Feature Flags

Name Beschreibung ENV-Variable
cmscontrol_new_dashboard Neues Dashboard FF_CMSCONTROL_NEW_DASHBOARD
cmscontrol_search Suchfunktion FF_CMSCONTROL_SEARCH
pages_custom_properties Benutzerdefinierte Seiteneigenschaften FF_PAGES_CUSTOM_PROPERTIES
cmscontrol_search_display_score Den Score in der Suchfunktion anzeigen FF_CMSCONTROL_SEARCH_DISPLAY_SCORE
navbar_support Navigationsleisten Management FF_NAVBAR_SUPPORT
crispy_sitemap Sitemap.xml Feature FF_CRISPY_SITEMAP

Hinweis: Änderungen an Feature Flags werden sofort wirksam und können ohne Neustart des Systems vorgenommen werden.