Feature Flags
Feature Flags sind ein essenzieller Bestandteil moderner Softwareentwicklung in CrispyCMS. Sie bieten Ihnen die Möglichkeit, instabile oder neue Funktionen gezielt zu aktivieren und erlauben es, innovative Features frühzeitig zu testen, bevor diese offiziell für alle Nutzer veröffentlicht werden.
Wir setzen auf sogenannte “gradual Rollouts”. Das bedeutet, dass neue Features zunächst nur für ausgewählte Instanzen oder eine kleine Anzahl von Kunden freigeschaltet werden. Dies gewährleistet die Stabilität und Funktionalität im Echtbetrieb. Wenn Sie an einem solchen Rollout teilnehmen oder ein Feature vorab testen möchten, können Sie die Standardkonfiguration jederzeit überschreiben.
Änderungen an Feature Flags werden sofort wirksam. Es ist kein Neustart des Systems erforderlich, um die Konfiguration zu übernehmen.
Konfiguration
Feature Flags können entweder lokal über die Konfiguration oder zentral über einen Unleash Server gesteuert werden. Diese Flexibilität erlaubt es Entwicklern, Features in lokalen Umgebungen zu testen, während der operative Betrieb zentral verwaltet wird.
Unleash Integration
CrispyCMS unterstützt die native Integration mit einem Unleash Server. Für die Verbindung müssen spezifische Umgebungsvariablen definiert werden:
- UNLEASH_API_KEY: Ihr API-Schlüssel für die Authentifizierung.
- UNLEASH_APP_URL: Die vollständige URL Ihres Unleash Servers.
Bitte beachten Sie, dass die Gitlab Unleash Integration nicht kompatibel ist. Es muss zwingend ein eigenständiger Unleash Server verwendet werden.
Steuerung der Features
Sie haben zwei primäre Methoden, um Feature Flags manuell zu steuern: über die Kommandozeile (CLI) oder über Umgebungsvariablen (ENV).
Verwaltung via CLI
Die CLI bietet direkte Befehle, um den Status von Flags zu prüfen oder diese gezielt zu überschreiben.
crispy:ff:check– Prüft den Status eines Feature-Flags.crispy:ff:enable -f <feature>– Aktiviert ein Feature-Flag als Override.crispy:ff:disable -f <feature>– Deaktiviert ein Feature-Flag als Override.crispy:ff:clear– Setzt alle Feature-Flag-Overrides zurück.
Beispiel:
crispy:ff:enable -f cmscontrol_searchVerwaltung via ENV
Sie können Feature Flags direkt über Umgebungsvariablen steuern. Dies überschreibt die zentrale Konfiguration und ist ideal für Container-Deployments.
Der Name des Feature Flags muss immer mit dem Präfix FF_ versehen und in Großbuchstaben geschrieben werden.
Aktivieren:
FF_CMSCONTROL_SEARCH=trueDeaktivieren:
FF_CMSCONTROL_SEARCH=falseVerfügbare Feature Flags
Die folgende Tabelle listet die aktuell verfügbaren Feature Flags und deren entsprechende Umgebungsvariablen auf. Nutzen Sie diese Bezeichner für die Konfiguration via CLI oder ENV.
| Feature Name | Umgebungsvariable (ENV) | Beschreibung |
|---|---|---|
cmscontrol_new_dashboard | FF_CMSCONTROL_NEW_DASHBOARD | Aktiviert das neue Dashboard Layout. |
cmscontrol_search_display_score | FF_CMSCONTROL_SEARCH_DISPLAY_SCORE | Zeigt den Relevanz-Score in den Suchergebnissen an. |
navbar_support | FF_NAVBAR_SUPPORT | Aktiviert das Management der Navigationsleisten. |
crispy_sitemap | FF_CRISPY_SITEMAP | Steuert die Generierung der sitemap.xml. |