Nach Benutzer-Update-Automation: Kann es von einem erforderlichen Feld ausgelöst werden und optional weitere Profil- oder benutzerdefinierte Felder einbeziehen, falls vorhanden?

Ich versuche, das Skript Beitrag erstellen mit dem Trigger Nach Benutzeraktualisierung für einen Workflow zur Einführung/Benachrichtigung neuer Benutzer zu verwenden, und ich bin mir nicht sicher, ob ich die dokumentierte Einschränkung richtig verstehe oder ob es einen unterstützten Workaround gibt.

Ich habe bereits Folgendes gelesen:

Mein Anwendungsfall

Ich möchte einen automatisierten Beitrag erstellen, wenn ein neuer Benutzer ein erforderliches Anmelde-/Profilfeld ausgefüllt hat.

Gleichzeitig soll dieser Beitrag auch einige optionale benutzerdefinierte Felder enthalten, falls der Benutzer sie ausgefüllt hat, beispielsweise:

  • Pronomen / Geschlecht
  • Sprachen
  • Bestätigung, dass die Community-Richtlinien verstanden wurden

Das beabsichtigte Verhalten wäre also:

  • Ein erforderliches Feld garantiert, dass die Automatisierung ausgelöst wird.
  • Andere optionale Felder werden nur im Beitrag aufgenommen, wenn sie tatsächlich ausgefüllt sind.

Wo ich hänge

Die Dokumentation für den Trigger besagt:

Die Automatisierung wird erst ausgelöst, wenn der Benutzer alle angegebenen Felder ausgefüllt hat.

Und die Benutzeroberfläche sagt ebenfalls:

Wird nur ausgelöst, wenn der Benutzer alle diese Felder ausgefüllt hat.

Meines Wissens nach bedeutet das: Wenn ich optionale Felder zur Triggerkonfiguration hinzufüge, damit ich ihre Platzhalter verwenden kann, sind sie für die Automatisierung nicht mehr optional, da die Automatisierung nicht ausgelöst wird, es sei denn, alle sind ausgefüllt.

Das scheint ein Henne-Ei-Problem zu schaffen:

  • Wenn ich die optionalen Felder im Trigger einbeziehe, wird die Automatisierung möglicherweise nie für Benutzer ausgelöst, die sie überspringen.
  • Wenn ich sie nicht im Trigger einbeziehe, kann ich ihre Platzhalter möglicherweise nicht zuverlässig im Beitrag verwenden.

Meine Fragen

  1. Verstehe ich das aktuelle Verhalten richtig?
  2. Ist die dokumentierte Einschränkung auch heute noch zutreffend?
  3. Gibt es einen unterstützten Weg, um:
    • die Automatisierung von einem erforderlichen Feld auszulösen
    • aber dennoch andere optionale benutzerdefinierte/Profilfelder im Beitragstext zu verwenden, falls vorhanden?
  4. Falls nicht, gibt es einen empfohlenen Workaround für diesen Anwendungsfall?

Ideales Verhalten

Was ich mir erhoffe, ist etwas wie:

  • Auslösen, wenn jede erforderliche Triggerbedingung erfüllt ist.
  • Optionale Platzhalter ersetzen, wenn Werte vorhanden sind.
  • Optionale Platzhalter leer lassen, unverändert lassen oder weglassen, wenn keine Werte vorhanden sind.

Ich bin mir jedoch nicht sicher, ob das bereits möglich ist und ich es nur falsch konfiguriere.

Jede Hilfe wäre willkommen.

Vielen Dank!

Sie sollten in der Lage sein, Ihren benutzerdefinierten Feldern einen Trigger zuzuweisen und die Profilfelder im Abschnitt für den Beitragsinhalt einzufügen.

Nehmen wir an, der Trigger ist die Bestätigung der Richtlinien. Dann könnten Sie im Beitragsinhalt Folgendes tun:

Hallo! Ich bin neu hier.
{{#pronouns}}Meine Pronomen sind {{pronouns}}{{/pronouns}}
{{#languages}}Ich spreche {{languages}}{{/languages}}

Ist das das, wonach Sie suchen?

Das ist es.

Ich hätte die genauen Feldnamen erwähnen sollen. Entschuldigung.

  • Pronouns/gender
  • Languages
  • Community Guidelines (understood)

Der Beitrag, den ich erstelle, dient nur dazu, in einem laufenden Staff-Thread auf neue Benutzer hinzuweisen.

Ich verstehe nicht, wie ich das von dir vorgeschlagene Format verwende oder wie ich die Feldnamen mit Symbolen konvertiere. Ich möchte einfach nur eine Liste erstellen. Würde ich dann folgendes tun:

* {{#pronouns/gender}} {{pronouns/gender}}{{pronouns/gender}}
* {{#languages}} {{languages}}{{/languages}}
* {{#community_guidelines_(understood)}} {{/community_guidelines_(understood)}}{{community_guidelines_(understood)}}

Soll ich einfach die Symbolzeichen in den Feldnamen weglassen?

Ich könnte weiter experimentieren, aber da diese Felder optional sind (und ich nicht gerne eine Menge Testbenutzer erstelle), könnte es etwas Zeit in Anspruch nehmen, dies zu testen.

Das ist eine gute Frage. Auf den ersten Blick scheint es, dass Feldnamen mit Sonderzeichen die Automatisierung tatsächlich stören würden. Wir müssten dafür vielleicht eine kleine Anpassung auf unserer Seite vornehmen, um sie für diesen Anwendungsfall zu entfernen.

Könntest du die Sonderzeichen vorerst aus den benutzerdefinierten Feldern entfernen? {{pronouns_or_gender}} und {{community_guidelines_undersood}} sollten ohne diese Sonderzeichen in der Automatisierung einwandfrei funktionieren.

Ich habe vorerst die Sprache 1 verwendet, da keine Symbole vorhanden sind. Ich werde auch die anderen ausprobieren.

Kannst du das Muster von {{#foo}} {{/foo}}{{foo}} erklären?

Gerne, {{foo}} ist das Feld selbst, und {{#foo}} {{/foo}} darum herum ist ein bedingter Block. Wenn foo also nicht ausgefüllt ist, wird nichts zwischen {{#foo}} {{/foo}} dargestellt.

Wenn du also

Mein Name ist {{foo}}

schreibst und foo nicht definiert ist, erscheint in einem Beitrag nur „Mein Name ist“.

Verwendest du jedoch

{{#foo}}Mein Name ist {{foo}}{{/foo}}

und foo ist nicht definiert, wird auch „Mein Name ist“ aus dem Beitrag ausgeschlossen.

Oh, wie edel!

Ich frage mich also, ob es eine Möglichkeit gibt, dass das Testen von Varianten dazu führt, dass das Ganze komplett fehlschlägt? Das heißt, es wird überhaupt kein neuer Beitrag erstellt. Wenn nicht, kann ich einfach alle möglichen Kombinationen der Felder mit Symbolen ausprobieren und sehen, was schneller funktioniert.

OK, tolle Neuigkeiten.

Das funktioniert:

* Sprachen: {{languages}}

Diese funktionieren jedoch nicht:

* Pronomen: {{pronouns_gender}}
* Richtlinien: {{community_guidelines_understood}} 

Als Erinnerung, das sind die Feldnamen:

Pronomen/Geschlecht
Community-Richtlinien (verstanden)

Ich werde es mit folgendem versuchen:

* Pronomen: {{pronouns/gender}}
* Richtlinien: {{community_guidelines_(understood)}} 

Wenn das nicht funktioniert, brauchen wir vielleicht eine Code-Anpassung? Ich würde die Feldnamen lieber nicht ändern.

OK, stellt sich heraus, dass das nicht der Fall ist.

Und das Behalten der Klammern darin bricht die Automatisierung. Das habe ich in den Logs erhalten:

Mustache::Parser::SyntaxError (Unclosed tag
  Line 12
    * guidelines: {{community_guidelines_(understood)}}
                                        ^
)

Muss ich also einen Fehler- oder Feature-Request einreichen, damit Symbole aus Feldnamen entfernt werden?

Oh ja, entschuldige, das war unklar. Wenn du die Sonderzeichen nur aus den benutzerdefinierten Feldern entfernst, funktionieren sie in der Automatisierung. Discourse muss angepasst werden, um die Sonderzeichen automatisch zu entfernen, damit sie so, wie sie derzeit konfiguriert sind, in Automatisierungen verwendet werden können.