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-Flagscrispy:ff:enable
– Aktiviert ein Feature-Flag als Overridecrispy:ff:disable
– Deaktiviert ein Feature-Flag als Overridecrispy: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:
- Über die CLI
Mit dem Befehl
crispy:ff:enable -f <feature>
können Sie ein Feature Flag aktivieren, z.B.:
crispy:ff:disable -f <feature>
ein Feature Flag deaktivieren.
- Ü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:
Um ein Feature zu deaktivieren, setzen Sie den Wert auf 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.