Después de la actualización automatizada de usuario: ¿puede activarse desde un campo obligatorio, incluyendo opcionalmente otros campos de perfil/personalizados si existen?

Estoy intentando usar el script Crear publicación con el disparador Después de actualizar usuario para un flujo de trabajo de introducción/notificación de nuevos usuarios, y no estoy seguro de si estoy interpretando correctamente la limitación documentada o si existe una solución alternativa compatible.

Ya he leído:

Mi caso de uso

Quiero crear una publicación automatizada cuando un nuevo usuario complete un campo de registro/perfil obligatorio.

Al mismo tiempo, me gustaría que esa publicación también incluya algunos campos personalizados de usuario opcionales si el usuario los completó, por ejemplo cosas como:

  • pronombres/género
  • idiomas
  • confirmación de que se entendieron las normas de la comunidad

Por lo tanto, el comportamiento previsto sería:

  • un campo obligatorio garantiza que se active la automatización
  • otros campos opcionales se incluyen en la publicación solo si se han completado

Donde me estoy quedando atascado

La documentación del disparador dice:

La automatización solo se activará una vez que el usuario haya completado todos los campos especificados.

Y la interfaz también dice:

Se activará solo si el usuario ha completado todos estos campos

Así que, según mi comprensión, si agrego campos opcionales a la configuración del disparador para poder usar sus marcadores de posición, dejan de ser opcionales a efectos de la automatización, porque la automatización no se activará a menos que todos estén completados.

Eso parece crear un dilema:

  • si incluyo los campos opcionales en el disparador, la automatización podría no activarse nunca para los usuarios que los omitan
  • si no los incluyo en el disparador, entonces podría no poder usar sus marcadores de posición de forma fiable en la publicación

Mis preguntas

  1. ¿Estoy interpretando correctamente el comportamiento actual?
  2. ¿Sigue siendo precisa la limitación documentada hoy en día?
  3. ¿Existe alguna forma compatible de:
    • activar la automatización desde un campo obligatorio
    • pero aún así acceder a otros campos personalizados/de perfil opcionales en el contenido de la publicación si existen?
  4. Si no es así, ¿hay alguna solución alternativa recomendada para este caso de uso?

Comportamiento ideal

Lo que espero es algo como:

  • activar cuando se cumpla cualquier condición de disparador obligatoria
  • reemplazar los marcadores de posición opcionales cuando existan valores
  • dejar los marcadores de posición opcionales en blanco, sin cambios u omitidos cuando no existan valores

Pero no estoy seguro de si eso ya es posible y simplemente lo estoy configurando incorrectamente.

Agradecería cualquier orientación.

¡Gracias!

Deberías poder activar tu campo personalizado y agregar los campos de perfil a la sección de contenido de la publicación.

Por ejemplo, si el activador es la confirmación de las pautas, entonces en el contenido de la publicación podrías hacer:

¡Hola! Soy nuevo aquí
{{#pronouns}}Mis pronombres son {{pronouns}}{{/pronouns}}
{{#languages}}Hablo {{languages}}{{/languages}}

¿Es eso lo que buscas?

Así es.

Así que debería haber mencionado los nombres exactos de los campos. Lo siento.

  • Pronombres/género
  • Idiomas
  • Normas de la comunidad (comprendidas)

La publicación que estoy generando solo va a un hilo de personal en curso para avisar sobre nuevos usuarios.

No entiendo cómo usar el formato que sugieres ni cómo convertir los nombres de los campos con símbolos. Solo busco una lista. ¿Haría algo así?

* {{#pronombres/género}} {{pronombres/género}}{{/pronombres/género}}
* {{#idiomas}} {{idiomas}}{{/idiomas}}
* {{#normas_de_la_comunidad_(comprendidas)}} {{/normas_de_la_comunidad_(comprendidas)}}{{normas_de_la_comunidad_(comprendidas)}}

¿Solo debo eliminar los caracteres de símbolo en los nombres de los campos?

Podría seguir experimentando, pero como estos campos son opcionales (y no tengo ganas de crear varios usuarios de prueba nuevos), podría llevar algún tiempo probar.

¡Buena pregunta! De un vistazo rápido, creo que los nombres de los campos con símbolos en realidad impedirían que la automatización funcionara… Es posible que necesitemos una pequeña actualización de nuestra parte para eliminarlos en este tipo de uso.

¿Podrías quitar los símbolos de los campos personalizados por ahora? {{pronouns_or_gender}} y {{community_guidelines_undersood}} deberían funcionar bien en la automatización sin ellos.

Por ahora he puesto el idioma uno, ya que no hay símbolos. También probaré los demás.

¿Puedes explicar el patrón de {{#foo}} {{/foo}}{{foo}}?

Claro, {{foo}} es el campo en sí, y {{#foo}} {{/foo}} que lo rodea es un bloque condicional. Por lo tanto, si foo no se ha completado, nada entre {{#foo}} {{/foo}} se mostrará.

Así que si haces

Mi nombre es {{foo}}

y foo no está definido, obtendrás “Mi nombre es” en una publicación.

Pero si usas

{{#foo}}Mi nombre es {{foo}}{{/foo}}

y foo no está definido, “Mi nombre es” también se excluirá de la publicación.

¡Vaya! ¡Qué elegante!

Así que me pregunto si existe alguna forma de que probar variaciones haga que todo falle. Es decir, que no se cree ninguna nueva publicación. Si no es así, entonces puedo simplemente probar todo tipo de combinaciones de los campos con símbolos y ver qué funciona más rápido.

Vale, buenas noticias.

Esto funciona:

* Idiomas: {{languages}}

Sin embargo, estos no:

* Pronombres: {{pronouns_gender}}
* directrices: {{community_guidelines_understood}} 

Como recordatorio, estos son los nombres de los campos:

Pronombres/género
Normas de la comunidad (comprendidas)

Voy a probar:

* Pronombres: {{pronouns/gender}}
* directrices: {{community_guidelines_(understood)}} 

Si eso no funciona, ¿quizás necesitemos una corrección de código? Preferiría no cambiar los nombres de los campos.

OK, resulta que no.

Y mantener los paréntesis dentro rompe la automatización. Esto es lo que apareció en los registros:

Mustache::Parser::SyntaxError (Etiqueta sin cerrar
  Línea 12
    * guidelines: {{community_guidelines_(understood)}}
                                        ^
)

Así que, ¿necesito enviar una solicitud de error o de nueva función para que se eliminen los símbolos de los nombres de los campos?

Ah, sí, lo siento, eso no quedó claro. Solo si eliminas los símbolos especiales de los campos personalizados, estos funcionarán en la automatización… Discourse necesita un ajuste para eliminar automáticamente los caracteres especiales, de modo que puedan utilizarse en las automatizaciones tal como las tienes configuradas actualmente.