Anwendungsfall
Wir arbeiten daran, das Onboarding-Erlebnis unserer Community zu verbessern. Natürlich möchten wir Informationen, die wir über den Benutzer wissen, verwenden, um bestimmte Dinge basierend auf den von ihnen bereitgestellten Informationen zu tun/anzuzeigen.
Heute beginnen unsere Benutzer mit der Erstellung ihres Kontos über unsere OIDC-Integration, indem sie ein Konto bei unserem Unternehmen erstellen. Sie geben E-Mail, Name und Benutzername an OIDC weiter, bevor es sie zurück zu Discourse weiterleitet.
Das Problem
Wir möchten ihnen nun zusätzliche Benutzerfelder zur Verfügung stellen, die sie ausfüllen können – was großartig ist, da Discourse dies anbietet! Leider können wir Felder nicht basierend auf den Antworten auf vorherige Felder anzeigen. Wir möchten zum Beispiel fragen: „Welche Rolle beschreibt Sie am besten?“ mit den Optionen Entwickler, Administrator und Analyst.
- Wenn sie
Entwicklerwählen, möchte ich sie natürlich nach ihren bevorzugten Programmiersprachen fragen. Ich werde sie auch später zur Benutzergruppe der Entwickler hinzufügen. - Wenn sie
Analystwählen, möchte ich ihnen eine andere Reihe von Fragen stellen und sie zu einer anderen Benutzergruppe hinzufügen.
Lösungsvorschlag
Viele Formularoptionen im Web bieten heute bedingte Formularfelder (z. B. „Woher haben Sie von uns erfahren?“ – wenn „andere“ ausgewählt wird, erscheint ein zusätzliches Feld, um zu sagen, warum.). Es wäre großartig, wenn Sie einen ähnlichen (wenn auch robusteren) Weg einschlagen würden, wie Sie es mit Vorlagen für neue Themen getan haben, jedoch mit der zusätzlichen Anforderung, dass die Möglichkeit besteht, von einer anderen Feld-ID und insbesondere der Eingabe dieses Feldes abhängig zu sein. Als Beispiel könnte es ungefähr so aussehen:
- type: dropdown
id: user-type
choices:
- "Entwickler"
- "Anwendungsadministrator"
- "Analyst"
attributes:
none_label: "Wählen Sie Ihre Rolle..."
label: "Welche Option beschreibt Ihre Tätigkeit am besten"
validations:
required: true
- type: dropdown
id: developer-type-programming-language
depends: user-type
choices:
- "Entwickler"
choices:
- "Entwickler"
- "Anwendungsadministrator"
- "Analyst"
attributes:
none_label: "Bevorzugte Programmiersprache..."
label: "Was ist die primäre Programmiersprache, die in Ihrer Rolle verwendet wird?"
validations:
required: true
In diesem Beispiel würden alle Benutzer die erste Frage gestellt bekommen. Wenn der Benutzer „Entwickler“ aus der Dropdown-Liste auswählt, erscheint eine zweite Frage auf dem Formular, die nach seiner bevorzugten Programmiersprache fragt.
Diese Verbesserung der bedingten Felder könnte sowohl im Benutzer-Onboarding-Prozess als auch am ursprünglich vorgesehenen Ort für neue Themen verwendet werden.


