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.
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
¿Estoy interpretando correctamente el comportamiento actual?
¿Sigue siendo precisa la limitación documentada hoy en día?
¿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?
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.
¿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.
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.
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.
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.