نحن نبني ميزة جديدة تسمى “Workflows” (التدفقات) مصممة لدعم المهام المعقدة التي لا تستطيع أداة “Automations” (الأتمتة) الحالية التعامل معها. يتيح لك منشئ الأتمتة المرئي الجديد إنشاء تدفقات متعددة الخطوات تتضمن تأخيرات زمنية، وفروعًا شرطية، واستدعاءات لخدمات خارجية، وإجراءات مدعومة بالذكاء الاصطناعي مباشرةً من منطقة الإدارة الخاصة بك.
ميزة Workflows متاحة في باقات Business وEnterprise، للمستخدمين الذين يستخدمون استضافة Discourse.
نظرة عامة على Workflows
تستبدل Workflows النهج المعتمد على البرمجة النصية (Scripting) في إضافة Automations الحالية بلوحة مرئية مبنية على العقد (Nodes) تقوم بربطها لإنشاء منطق معقد متعدد الخطوات.
المشغلات (Triggers): تبدأ تدفق العمل استجابةً لأحداث في Discourse (مثل إنشاء موضوع، أو إضافة مستخدم إلى مجموعة، إلخ)، أو جدول زمني محدد، أو Webhook، أو إجراء يدوي.
الشروط (Conditions): تنشئ فروعًا في تدفق العمل بناءً على منطق نعم/لا لأي بيانات في التدفق.
الإجراءات (Actions): هي أحداث يولدها تدفق العمل، مثل إرسال رسالة خاصة أو رسالة دردشة، أو نشر رد، أو استدعاء نقطة نهاية HTTP، أو تشغيل وكيل ذكاء اصطناعي، أو الاستعلام عن Data Explorer.
الأدوات المساعدة (Utilities): تتحكم في التدفق نفسه من خلال ضبط التأخيرات، والتكرار على العناصر، وإعداد المتغيرات، ويمكن أن تساعد في توثيق تدفق العمل باستخدام ملاحظات لاصقة.
تدعم معاملات كل عقدة قيمًا ثابتة (Literal) وتعابير ديناميكية، مما يتيح لك الإشارة إلى مخرجات أي عقدة سابقة، أو متغيرات التدفق، أو سياق التنفيذ من خطوة سابقة في خطوة لاحقة.
تتضمن Workflows بعض الأدوات الإضافية لتسهيل إنشاء مخرجاتها وإدارتها:
المتغيرات (Variables): هي أزواج مفتاح/قيمة مخزنة (مثل معرّفات المجموعات، ومعرّفات الفئات، إلخ) متاحة بسهولة عبر جميع تدفقات العمل لتسهيل التكوين.
البيانات المؤكدة (Credentials): هي المكان الذي يمكنك فيه تخزين إعدادات المصادقة القابلة لإعادة الاستخدام لعقد طلبات HTTP، بحيث لا تحتاج إلى لصق مفاتيح API في تدفقات عملك.
جداول البيانات (Data Tables): تُستخدم لتخزين بيانات وقت التشغيل والاستعلام عنها، مما يتيح لك تتبع عمليات التنفيذ (مثل التحقق مما إذا كان تدفق العمل قد تم تنفيذه بالفعل على موضوع معين) والإشارة إلى مخرجات تدفق العمل بسهولة.
ينتج عن كل تشغيل لتدفق العمل سجل كامل في تبويب “العمليات” (Executions). يمكنك رؤية العقد التي تم تشغيلها، والبيانات التي استلمتها، وما الذي أخرجته، وأين توقف تدفق العمل إذا حدث خطأ ما.
لتجربتها، انتقل إلى التغييرات القادمة في /admin/config/upcoming-changes، وابحث عن عنصر تفعيل تدفقات Discourse (Enable Discourse workflows)، وحدّث حقل مفعّل لـ… (Enabled for…) لتفعيل الميزة على موقعك.
لقد قمنا ببناء بعض التكاملات والأتمتة باستخدام هذا البرنامج المساعد الجديد خلال الأسابيع الأربعة الماضية، وكل ما يمكنني قوله هو أنه رائع للغاية، ويحدث تحولاً جذرياً في Discourse. هذه حقاً أفضل ميزة جديدة منذ سنوات (وهناك بالفعل بعض الميزات الرائعة بالفعل ).
أحب العمل مع سير العمل الجديدة - إنها تغيير جذري، ويمكن ربطها بخدمات مثل n8n أيضًا.
لقد لاحظت أن حد المعدل يتم الوصول إليه غالبًا - كيف يمكن تغيير ذلك؟
أيضًا، لست متأكدًا لماذا، لكنني وجدت أنه في بعض الأحيان يتوقف عن العمل، والطريقة الوحيدة لإعادته للعمل هي إيقاف الميزة وإعادة تشغيلها عبر “التغييرات القادمة”.
تخيل أنك قادر على إنشاء تدفق يعتمد على مستوى ثقة المستخدم، مما يتيح لك تنفيذ سلوكيات ديناميكية، مثل: إذا كان المستخدم عضوًا في هاتين المجموعتين في آن واحد، أضفه إلى هذه المجموعة الثالثة التي تمنحه الوصول إلى فئة جديدة.
من الصعب تنفيذ مثل هذه السلوكيات الديناميكية باستخدام Discourse في وضعه الافتراضي.
أود أن أعرف في أي الحالات يجب الاستمرار في استخدام الأتمتة (Automations) مع الاستعلامات (Queries)، ومتى يجب استخدام سير العمل (Workflows) فعلياً. خذ الإجراء التالي كمثال:
إرسال رسائل خاصة إلى المستخدمين الذين تتجاوز نسبة قراءاتهم إلى منشوراتهم 250:1 (والذين سينضمون في النهاية إلى مجموعة “المستبعدين من القوائم”، والمعروفة أيضاً باسم “المتطفلين”)
أي أداة أكثر كفاءة و/أو موصى بها لهذا الحالة بالتحديد؟ متى يجب أن أستخدم الأتمتة مع الاستعلامات، ومتى يجب أن أستخدم سير العمل؟
أفهم أن سير العمل يتيح قرارات متفرعة وبالتالي تمكين مخططات ديناميكية؛ للبدء، أود أن أعرف ما يعتقده المستخدمون ذوو الخبرة حول الحالات الأبسط.
سيكون من الرائع جداً وجود قسم مخصص لمشاركة سير العمل (workflows)! هذا سيساعد المجتمع، ويساهم في فهم أفضل لجميع الآليات، والأهم من ذلك هو تقديم أفكار جديدة لمشاريع مستقبلية. إنها مجرد فكرة
للمعلومة: أجد أن وحدة سير العمل (workflow) ناجحة جداً، وقوية، وسهلة الاستخدام
أودّ معرفة ما إذا كان من الممكن أن يُغيّر النظام تلقائيًا اسم الحدث عند اكتمال حالته (أي عند امتلاء الأماكن)، وذلك بإضافة كلمة “مكتمل” إلى الاسم. هذا سيمكن المستخدمين من رؤية الأحداث المكتملة مباشرةً في العرض العام، مثل عرض السنة، مما يُخفّف الحاجة إلى النقر على الحدث لمعرفة ما إذا كانت هناك أماكن متبقية. وبشكل أوسع، يمكن عرض عدد الأماكن المتاحة ضمن اسم الحدث. هذا رأيي الشخصي لتحسين تجربة الاستخدام لدى مستخدميني