Après mise à jour utilisateur automatisée : peut-elle se déclencher à partir d'un champ obligatoire tout en incluant optionnellement d'autres champs de profil/personnalisés s'ils existent ?

J’essaie d’utiliser le script Créer un sujet avec le déclencheur Après mise à jour de l’utilisateur pour un flux de travail d’introduction ou de notification aux nouveaux utilisateurs, et je ne suis pas sûr de bien comprendre la limitation documentée ou s’il existe une solution de contournement prise en charge.

J’ai déjà lu :

Mon cas d’utilisation

Je souhaite créer un sujet automatisé lorsqu’un nouvel utilisateur remplit un champ d’inscription/de profil obligatoire.

Dans le même temps, je voudrais que ce sujet inclue également certains champs personnalisés facultatifs si l’utilisateur les a remplis, par exemple :

  • pronoms / genre
  • langues
  • confirmation que les règles de la communauté ont été comprises

Le comportement souhaité serait donc :

  • un champ obligatoire garantit le déclenchement de l’automatisation
  • d’autres champs facultatifs sont inclus dans le sujet uniquement s’ils ont été remplis

Où je bloque

La documentation du déclencheur indique :

L’automatisation ne se déclenchera que lorsque l’utilisateur aura rempli tous les champs spécifiés.

Et l’interface utilisateur indique également :

Se déclenchera uniquement si l’utilisateur a rempli tous ces champs

Donc, si je comprends bien, si j’ajoute des champs facultatifs à la configuration du déclencheur afin de pouvoir utiliser leurs espaces réservés, ils ne sont plus facultatifs aux fins de l’automatisation, car celle-ci ne se déclenchera que s’ils sont tous remplis.

Cela semble créer un dilemme :

  • si j’inclus les champs facultatifs dans le déclencheur, l’automatisation peut ne jamais se déclencher pour les utilisateurs qui les sautent
  • si je ne les inclus pas dans le déclencheur, je ne pourrai peut-être pas utiliser leurs espaces réservés de manière fiable dans le sujet

Mes questions

  1. Comprends-je correctement le comportement actuel ?
  2. La limitation documentée est-elle toujours exacte aujourd’hui ?
  3. Existe-t-il une méthode prise en charge pour :
    • déclencher l’automatisation à partir d’un champ obligatoire
    • mais accéder tout de même à d’autres champs personnalisés/de profil facultatifs dans le contenu du sujet s’ils sont présents ?
  4. Sinon, quelle est la solution de contournement recommandée pour ce cas d’utilisation ?

Comportement idéal

Ce que j’espère, c’est quelque chose comme :

  • déclencher lorsque toute condition de déclenchement requise est satisfaite
  • remplacer les espaces réservés facultatifs lorsque les valeurs existent
  • laisser les espaces réservés facultatifs vides, inchangés ou omis lorsque les valeurs n’existent pas

Mais je ne suis pas sûr que cela soit déjà possible et que je configure mal les choses.

Toute aide serait appréciée.

Merci !

Vous devriez pouvoir déclencher l’action sur votre champ personnalisé et ajouter les champs de profil dans la section du contenu du message.

Par exemple, si le déclencheur est la confirmation des lignes directrices, vous pourriez faire ceci dans le contenu du message :

Bonjour ! Je suis nouveau ici
{{#pronouns}}Mes pronoms sont {{pronouns}}{{/pronouns}}
{{#languages}}Je parle {{languages}}{{/languages}}

Est-ce ce que vous recherchiez ?

C’est exact.

J’aurais dû mentionner les noms exacts des champs. Désolé.

  • Pronoms/genre
  • Langues
  • Règles de la communauté (comprises)

Le post que je génère est destiné à un fil de discussion du personnel en cours pour donner un avertissement sur les nouveaux utilisateurs.

Je ne comprends pas comment utiliser le format que vous suggérez, ni comment convertir les noms de champs contenant des symboles. Je vise simplement une liste. Est-ce que je ferais :

* {{#pronoms/genre}} {{pronoms/genre}}{{/pronoms/genre}}
* {{#langues}} {{langues}}{{/langues}}
* {{#règles_de_la_communauté_(comprises)}} {{/règles_de_la_communauté_(comprises)}}{{règles_de_la_communauté_(comprises)}}

Dois-je simplement supprimer les caractères de symbole dans les noms de champs ?

Je pourrais continuer à expérimenter, mais comme ces champs sont facultatifs (et que je ne tiens pas à créer une série d’utilisateurs tests), cela pourrait prendre du temps pour tester.

Bonne question. À première vue, je pense que les noms de champs contenant des symboles empêcheraient en fait l’automatisation de fonctionner… Nous devrons peut-être apporter une petite mise à jour de notre côté pour les supprimer dans ce type de cas.

Pourriez-vous retirer les symboles des champs personnalisés pour l’instant ? {{pronouns_or_gender}} et {{community_guidelines_undersood}} devraient fonctionner correctement dans l’automatisation sans eux.

J’ai mis la langue une pour l’instant, car il n’y a pas de symboles. Je vais aussi essayer les autres.

Peux-tu m’expliquer le motif de {{#foo}} {{/foo}}{{foo}} ?

Bien sûr, {{foo}} représente le champ lui-même, et {{#foo}} {{/foo}} qui l’entoure est un bloc conditionnel. Ainsi, si foo n’est pas rempli, rien entre {{#foo}} et {{/foo}} ne sera affiché.

Par exemple, si vous écrivez :

Mon nom est {{foo}}

et que foo n’est pas défini, vous obtiendrez « Mon nom est » dans un message.

Cependant, si vous utilisez :

{{#foo}}Mon nom est {{foo}}{{/foo}}

et que foo n’est pas défini, « Mon nom est » sera également exclu du message.

Oh ! Quel chic !

Alors, je me demande s’il existe un moyen pour que tester des variations fasse échouer l’ensemble du processus ? Autrement dit, qu’aucun nouveau message ne soit créé. Si ce n’est pas le cas, je peux simplement essayer toutes sortes de combinaisons de champs avec des symboles et voir ce qui fonctionne plus rapidement.

OK, excellente nouvelle.

Cela fonctionne :

* Langues : {{languages}}

Cependant, ces éléments ne fonctionnent pas :

* Pronoms : {{pronouns_gender}}
* consignes : {{community_guidelines_understood}} 

Pour rappel, voici les noms des champs :

Pronoms/sexe
Règles de la communauté (comprises)

Je vais essayer :

* Pronoms : {{pronouns/gender}}
* consignes : {{community_guidelines_(understood)}} 

Si cela ne fonctionne pas, peut-être faudra-t-il une correction de code ? Je préférerais ne pas modifier les noms des champs.

OK, il s’avère que ce n’est pas le cas.

Et garder les parenthèses dans le nom brise l’automatisation. Voici ce que j’ai obtenu dans les journaux :

Mustache::Parser::SyntaxError (Balise non fermée
  Ligne 12
    * guidelines: {{community_guidelines_(understood)}}
                                        ^
)

Donc, dois-je soumettre une demande de bug ou de fonctionnalité pour que les symboles soient supprimés des noms de champs ?

Ah oui, désolé, c’était peu clair : si vous supprimez uniquement les symboles spéciaux des champs personnalisés, ils fonctionneront dans l’automatisation… Discourse doit être ajusté pour supprimer automatiquement les caractères spéciaux afin qu’ils puissent être utilisés dans les automatisations telles que vous les avez actuellement configurées.