aYOUne

Feature-Flags

Feature Flags

Feature-Flags sind der Grundbaustein für stufenweise Rollouts, Beta-Programme und A/B-Tests in aYOUne. Sie leben in der config.flags-Collection und werden überall in der Plattform via flagsService.isEnabled(flagId, ctx) ausgewertet.

Das Flag-Modell

Ein Flag ist mehr als ein boolean. Es enthält:

Feld Beschreibung
_id Stabiler Slug, z.B. marketing.newsletter-v2
name Anzeige-Name
description Beschreibung für andere Admins
enabled Master-Schalter
rules[] Per-Customer/-User-/-Role-Bedingungen
defaultValue Wenn keine Rule matched
expiresAt Optional: Auto-Disable Datum

Flag setzen (UI)

admin-v2 → Feature Flags → Detail → "Regel hinzufügen". Beispiel: nur User der "Beta-Tester"-Rolle sehen das neue Newsletter-UI:

rules:
  - condition:
      role: 64a1b2...   # ObjectId der Role
    value: true
  - condition: {}      # Catch-All
    value: false

Flag setzen (CLI)

ay flag enable marketing.newsletter-v2
ay flag disable marketing.newsletter-v2
ay flag set marketing.newsletter-v2 --rule '{"role":"<id>"}' --value true
ay flag list                # alle Flags
ay flag get marketing.newsletter-v2

Auswertungs-Reihenfolge

Bei flagsService.isEnabled(flagId, ctx) durchläuft die Plattform:

  1. Wenn flag.enabled === falsefalse
  2. Wenn flag.expiresAt < nowfalse
  3. Iteriert flag.rules[] in Reihenfolge — erste matchende Rule gewinnt
  4. Sonst flag.defaultValue

Das macht Reihenfolge wichtig: spezifische Rules (z.B. customerId) gehören vor generische (z.B. role).

Mobile-App- und Customer-UI-Flags

Seit Kapitel 1.65 gibt es zwei spezielle Flag-Klassen:

  • mobile-app.* — wirken in der PWA für Customer-Admins
  • customer-ui.* — wirken in der Consumer-App (= deine End-User-Site)

Beispiel:

ay flag enable mobile-app.dark-mode
ay flag enable customer-ui.checkout-v2 --rule '{"locale":"de"}'

Rollout-Strategien

Strategie Wie
Beta-Whitelist rules.role = "Beta-Tester"
Customer-Pilot rules.customerId = "<id>"
Prozent-Rollout rules.percentage = 25 (hash-basiert auf userId)
Datum-basiert rules.afterDate = "2026-05-01"
Kill-Switch enabled = false → sofortige Deaktivierung

Best Practices

  • Slug = Modul.Feature.Variante: crm.lead-scoring.v2, nicht new-feature-test.
  • description Pflicht: Was ist es, warum existiert es, wann darf es weg?
  • Lifecycle-Disziplin: Nach Vollroll-Out das Flag löschen — sonst sammelt sich tech debt. ay flag list --orphan zeigt Flags ohne Rules.
  • Auditierbar: Jeder Toggle landet im Audit-Trail.

Verbindungen

Flags werden auch auf Backend-Seite genutzt: subscribeToReseedSignal() lauscht auf core.reseedStates.<modul> (60s-Poll), um State-Seeders ohne Pod-Restart neu auszulösen.

Mit dieser Seite weiterarbeiten

Fertige Anweisungen für dein KI-Werkzeug. Kopieren, einfügen, loslegen — die KI holt sich den Inhalt selbst über die Adresse im Text.

Die Schritte für mich zusammenfassen Das Wesentliche, in der richtigen Reihenfolge.
Lies die folgende Dokumentation von tolinax UG und arbeite damit.

Diese Seite: https://ayoune.com/de/docs/admin-handbook/feature-flags.md
Die vollständige Sammlung: https://ayoune.com/de/docs/admin-handbook.md

Fasse den Inhalt für mich zusammen.

- Zuerst in zwei Sätzen: worum geht es hier?
- Dann die Schritte in der Reihenfolge, in der ich sie gehen muss.
- Je Schritt eine Zeile, in einfacher Sprache.
- Am Ende: was ich vorher bereithalten sollte.

Lass nichts weg, was ich brauche, um wirklich fertig zu werden.
Hinweis zu den Quellen:
- Jede Seite dieser Dokumentation ist als Markdown abrufbar (dieselbe Adresse mit `.md`).
- Ein maschinenlesbarer Überblick aller öffentlichen Inhalte liegt unter `/llms.txt`.
- Falls du Zugriff auf den aYOUne-MCP-Server hast, kannst du damit gegen lebende Daten
  arbeiten statt gegen diese Momentaufnahme. Falls nicht, ignoriere diesen Punkt.
Erklären, wofür ich das brauche Wozu es gut ist — und wann es sich lohnt.
Lies die folgende Dokumentation von tolinax UG und arbeite damit.

Diese Seite: https://ayoune.com/de/docs/admin-handbook/feature-flags.md
Die vollständige Sammlung: https://ayoune.com/de/docs/admin-handbook.md

Erkläre mir, wofür ich das brauche.

1. Welches Problem löst es? In einem Satz, aus meiner Sicht.
2. Drei typische Situationen, in denen es mir wirklich hilft.
3. Wann ich es NICHT brauche — das spart mir Zeit.
4. Was ich stattdessen tun kann, wenn es nicht passt.

Bleib bei dem, was in der Quelle steht. Wo sie nichts hergibt, sag es offen,
statt zu raten.
Hinweis zu den Quellen:
- Jede Seite dieser Dokumentation ist als Markdown abrufbar (dieselbe Adresse mit `.md`).
- Ein maschinenlesbarer Überblick aller öffentlichen Inhalte liegt unter `/llms.txt`.
- Falls du Zugriff auf den aYOUne-MCP-Server hast, kannst du damit gegen lebende Daten
  arbeiten statt gegen diese Momentaufnahme. Falls nicht, ignoriere diesen Punkt.
Bei der Einrichtung helfen Schritt für Schritt, mit Rückfragen an mich.
Lies die folgende Dokumentation von tolinax UG und arbeite damit.

Diese Seite: https://ayoune.com/de/docs/admin-handbook/feature-flags.md
Die vollständige Sammlung: https://ayoune.com/de/docs/admin-handbook.md

Begleite mich Schritt für Schritt durch die Einrichtung.

- Sag mir zuerst, was ich bereithalten muss (Zugänge, Daten, Zeit).
- Dann führe mich EINEN Schritt nach dem anderen. Warte auf mein "weiter".
- Nenne je Schritt, woran ich merke, dass er geklappt hat.
- Wenn etwas schiefgeht, frag nach der genauen Meldung, statt zu raten.

Wenn die Anleitung eine Stelle offen lässt, sag mir das, statt sie zu erfinden.
Hinweis zu den Quellen:
- Jede Seite dieser Dokumentation ist als Markdown abrufbar (dieselbe Adresse mit `.md`).
- Ein maschinenlesbarer Überblick aller öffentlichen Inhalte liegt unter `/llms.txt`.
- Falls du Zugriff auf den aYOUne-MCP-Server hast, kannst du damit gegen lebende Daten
  arbeiten statt gegen diese Momentaufnahme. Falls nicht, ignoriere diesen Punkt.
Bei einem Problem weiterhelfen Ursache eingrenzen statt raten.
Lies die folgende Dokumentation von tolinax UG und arbeite damit.

Diese Seite: https://ayoune.com/de/docs/admin-handbook/feature-flags.md
Die vollständige Sammlung: https://ayoune.com/de/docs/admin-handbook.md

Hilf mir, ein Problem einzugrenzen.

- Frag mich zuerst, was ich beobachte und was ich erwartet hätte.
- Leite daraus die wahrscheinlichsten Ursachen ab, die zu dieser Quelle passen.
- Gib mir je Ursache EINEN Test, der sie bestätigt oder ausschließt.
- Sortiere so, dass der billigste Test zuerst kommt.

Rate nicht. Wenn die Quelle das Problem nicht abdeckt, sag mir, wo ich
weitersuchen sollte.
Hinweis zu den Quellen:
- Jede Seite dieser Dokumentation ist als Markdown abrufbar (dieselbe Adresse mit `.md`).
- Ein maschinenlesbarer Überblick aller öffentlichen Inhalte liegt unter `/llms.txt`.
- Falls du Zugriff auf den aYOUne-MCP-Server hast, kannst du damit gegen lebende Daten
  arbeiten statt gegen diese Momentaufnahme. Falls nicht, ignoriere diesen Punkt.
In einfachen Worten erklären Ohne Fachbegriffe, von Grund auf.
Lies die folgende Dokumentation von tolinax UG und arbeite damit.

Diese Seite: https://ayoune.com/de/docs/admin-handbook/feature-flags.md
Die vollständige Sammlung: https://ayoune.com/de/docs/admin-handbook.md

Erkläre den Inhalt so, dass ihn jemand ohne Vorwissen versteht.

- Beginne mit dem Zweck: wozu gibt es das überhaupt?
- Fachbegriffe beim ersten Vorkommen in einem Halbsatz erklären.
- Ein Alltags-Vergleich, wo er wirklich trägt — keiner, wo er hinkt.
- Am Ende: die drei Dinge, die man sich merken sollte.

Kürze nicht durch Weglassen von Einschränkungen. Eine Vereinfachung, die eine
Bedingung unterschlägt, ist eine Falschaussage.
Hinweis zu den Quellen:
- Jede Seite dieser Dokumentation ist als Markdown abrufbar (dieselbe Adresse mit `.md`).
- Ein maschinenlesbarer Überblick aller öffentlichen Inhalte liegt unter `/llms.txt`.
- Falls du Zugriff auf den aYOUne-MCP-Server hast, kannst du damit gegen lebende Daten
  arbeiten statt gegen diese Momentaufnahme. Falls nicht, ignoriere diesen Punkt.
Checkliste zum Abhaken Zum Mitgehen während der Umsetzung.
Lies die folgende Dokumentation von tolinax UG und arbeite damit.

Diese Seite: https://ayoune.com/de/docs/admin-handbook/feature-flags.md
Die vollständige Sammlung: https://ayoune.com/de/docs/admin-handbook.md

Mache daraus eine **abhakbare Checkliste** für die praktische Umsetzung.

- Je Punkt genau eine Handlung, im Imperativ.
- Reihenfolge so, dass kein Punkt eine spätere Voraussetzung braucht.
- Voraussetzungen und Stolperstellen als eingerückte Unterpunkte.
- Am Ende eine Abnahme: woran erkenne ich, dass alles richtig ist?
Hinweis zu den Quellen:
- Jede Seite dieser Dokumentation ist als Markdown abrufbar (dieselbe Adresse mit `.md`).
- Ein maschinenlesbarer Überblick aller öffentlichen Inhalte liegt unter `/llms.txt`.
- Falls du Zugriff auf den aYOUne-MCP-Server hast, kannst du damit gegen lebende Daten
  arbeiten statt gegen diese Momentaufnahme. Falls nicht, ignoriere diesen Punkt.

War dieser Artikel hilfreich?

👎 Nein (0)
Kommentar hinterlassen