بعد أتمتة تحديث المستخدم: هل يمكن أن تُفعّل من حقل واحد مطلوب، مع تضمين حقول الملف الشخصي/المخصصة الأخرى اختياريًا إذا كانت موجودة؟

أحاول استخدام سكريبت إنشاء منشور مع محفز بعد تحديث المستخدم لتدفق عمل تعريف/إشعار لمستخدم جديد، ولست متأكدًا مما إذا كنت أفهم القيد الموثق بشكل صحيح، أو ما إذا كان هناك حل بديل مدعوم.

لقد قرأت بالفعل:

حالة الاستخدام الخاصة بي

أريد إنشاء منشور آلي عندما يكمل مستخدم جديد حقل تسجيل/ملف شخصي مطلوب.

في الوقت نفسه، أود أن يتضمن هذا المنشور أيضًا بعض حقول المستخدم المخصصة الاختيارية إذا قام المستخدم بتعبئتها، على سبيل المثال أشياء مثل:

  • الضمائر / الجنس
  • اللغات
  • تأكيد فهم إرشادات المجتمع

إذن السلوك المقصود سيكون:

  • حقل واحد مطلوب يضمن تشغيل الأتمتة
  • الحقول الاختيارية الأخرى تُدرج في المنشور فقط إذا تم تعبئتها

أين أتوقف

تقول وثائق المحفز:

لن تُفعّل الأتمتة إلا بعد أن يملأ المستخدم جميع الحقول المحددة.

ويقول واجهة المستخدم أيضًا:

سيتم تفعيله فقط إذا قام المستخدم بتعبئة جميع هذه الحقول

لذلك، كما أفهمه، إذا أضفت حقولًا اختيارية إلى إعدادات المحفز حتى أتمكن من استخدام عناصرها النائبة، فإنها تتوقف عن كونها اختيارية لأغراض الأتمتة، لأن الأتمتة لن تُفعّل إلا إذا تم تعبئتها جميعًا.

يبدو أن هذا يخلق معضلة:

  • إذا أضفت الحقول الاختيارية إلى المحفز، فقد لا تُفعّل الأتمتة أبدًا للمستخدمين الذين يتخطونها
  • إذا لم أضفها إلى المحفز، فقد لا أتمكن من استخدام عناصرها النائبة بشكل موثوق في المنشور

أسئلتي

  1. هل أفهم السلوك الحالي بشكل صحيح؟
  2. هل لا يزال القيد الموثق دقيقًا حتى اليوم؟
  3. هل توجد أي طريقة مدعومة لـ:
    • تشغيل الأتمتة من حقل واحد مطلوب
    • ولكن لا يزال من الممكن الوصول إلى حقول مخصصة/ملف شخصي أخرى اختيارية في محتوى المنشور إذا كانت موجودة؟
  4. إذا لم تكن هناك، فهل هناك حل بديل موصى به لهذه الحالة الاستخدامية؟

السلوك المثالي

ما آمل فيه هو شيء مثل:

  • التشغيل عند استيفاء أي شرط محفز مطلوب
  • استبدال العناصر النائبة الاختيارية عند وجود قيم
  • ترك العناصر النائبة الاختيارية فارغة، أو دون تغيير، أو حذفها عند عدم وجود قيم

لكنني لست متأكدًا مما إذا كان ذلك ممكنًا بالفعل وما إذا كنت أقوم بإعداداته بشكل خاطئ.

أي توجيه سيكون مُقدَّرًا.

شكرًا لك!

يجب أن تتمكن من تشغيل الحقل المخصص وإضافة حقول الملف الشخصي إلى قسم محتوى المنشور.

لنفترض أن المحفز هو تأكيد المبادئ التوجيهية، ثم يمكنك في محتوى المنشور كتابة:

مرحبًا! أنا جديد هنا
{{#pronouns}}أضمُني الضمائر هي {{pronouns}}{{/pronouns}}
{{#languages}}أستطيع التحدث {{languages}}{{/languages}}

هل هذا ما تبحث عنه؟

هذا صحيح.

لذا كان ينبغي أن أذكر أسماء الحقول بالضبط. عذراً.

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

المنشور الذي أقوم بتوليده سيذهب فقط إلى موضوع موظفين نشط لإعلامهم عن المستخدمين الجدد.

لا أفهم كيفية استخدام التنسيق الذي اقترحته، أو كيفية تحويل أسماء الحقول التي تحتوي على رموز. أنا أبحث فقط عن قائمة. هل أفعل

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

هل أقوم فقط بحذف أحرف الرموز من أسماء الحقول؟

يمكنني الاستمرار في التجربة، ولكن بما أن هذه الحقول اختيارية (ولست مهتمًا بإنشاء مجموعة من المستخدمين الجدد للتجربة)، فقد يستغرق الأمر بعض الوقت للاختبار.

سؤال جيد، وبمجرد إلقاء نظرة سريعة، أعتقد أن أسماء الحقول التي تحتوي على رموز قد تمنع فعليًا عمل الأتمتة… قد نحتاج إلى تحديث بسيط من جانبنا لإزالتها لهذا النوع من الاستخدام.

هل يمكنك إزالة الرموز من الحقول المخصصة مؤقتًا؟ يجب أن يعمل {{pronouns_or_gender}} و {{community_guidelines_undersood}} بشكل جيد في الأتمتة بدونها.

لقد استخدمت اللغة رقم واحد مؤقتًا نظرًا لعدم وجود رموز. سأقوم أيضًا بتجربة اللغات الأخرى.

هل يمكنك شرح نمط {{#foo}} {{/foo}}{{foo}}؟

حسناً، {{foo}} هو الحقل نفسه، بينما {{#foo}} {{/foo}} حوله هو كتلة شرطية. إذن، إذا لم يتم تعبئة foo، فلن يتم عرض أي شيء بين {{#foo}} {{/foo}}.

لذلك، إذا كتبت:

اسمي هو {{foo}}

ولم يتم تعريف foo، فستظهر عبارة “اسمي هو” في المنشور.

لكن إذا استخدمت:

{{#foo}}اسمي هو {{foo}}{{/foo}}

ولم يتم تعريف foo، فستُستبعد عبارة “اسمي هو” أيضاً من المنشور.

أوه! رائع!

إذن، أتساءل عما إذا كان هناك أي طريقة قد تؤدي فيها تجربة المتغيرات إلى فشل العملية بأكملها؟ بمعنى ألا يتم إنشاء منشور جديد على الإطلاق. إذا لم يكن الأمر كذلك، فيمكنني ببساطة تجربة جميع أنواع تركيبات الحقول مع الرموز ومعرفة ما يعمل بشكل أسرع.

حسنًا، أخبار رائعة.

هذا يعمل:

* اللغات: {{languages}}

لكن هذه لا تعمل:

* الضمائر: {{pronouns_gender}}
* الإرشادات: {{community_guidelines_understood}} 

تذكيرًا، هذه أسماء الحقول:

Pronouns/gender
Community Guidelines (understood)

سأجرب

* الضمائر: {{pronouns/gender}}
* الإرشادات: {{community_guidelines_(understood)}} 

إذا لم ينجح ذلك، ربما نحتاج إلى إصلاح في الكود؟ أفضل عدم تغيير أسماء الحقول.

حسنًا، اتضح أن الأمر لا يعمل كذلك.

والحفاظ على الأقواس داخل الاسم يكسر الأتمتة. وقد ظهر هذا في السجلات:

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

إذًا، هل يجب علي تقديم طلب خطأ/ميزة لإزالة الرموز من أسماء الحقول؟

أوه، نعم، آسف، كان ذلك غير واضح. إذا قمت بإزالة الرموز الخاصة من الحقول المخصصة فقط، فستعمل في الأتمتة… يحتاج Discourse إلى بعض التعديلات لإزالة الأحرف الخاصة تلقائيًا حتى يمكن استخدامها في الأتمتة كما هي مُعدّة حاليًا.