نظرة عامة على ميزة سير العمل الجديدة

نحن نبني ميزة جديدة تسمى “Workflows” (التدفقات) مصممة لدعم المهام المعقدة التي لا تستطيع أداة “Automations” (الأتمتة) الحالية التعامل معها. يتيح لك منشئ الأتمتة المرئي الجديد إنشاء تدفقات متعددة الخطوات تتضمن تأخيرات زمنية، وفروعًا شرطية، واستدعاءات لخدمات خارجية، وإجراءات مدعومة بالذكاء الاصطناعي مباشرةً من منطقة الإدارة الخاصة بك.

ميزة Workflows متاحة في باقات Business وEnterprise، للمستخدمين الذين يستخدمون استضافة Discourse.

نظرة عامة على Workflows

تستبدل Workflows النهج المعتمد على البرمجة النصية (Scripting) في إضافة Automations الحالية بلوحة مرئية مبنية على العقد (Nodes) تقوم بربطها لإنشاء منطق معقد متعدد الخطوات.

:books: التوثيق

العقد (Nodes)

توجد أربع فئات رئيسية من العقد:

  • المشغلات (Triggers): تبدأ تدفق العمل استجابةً لأحداث في Discourse (مثل إنشاء موضوع، أو إضافة مستخدم إلى مجموعة، إلخ)، أو جدول زمني محدد، أو Webhook، أو إجراء يدوي.
  • الشروط (Conditions): تنشئ فروعًا في تدفق العمل بناءً على منطق نعم/لا لأي بيانات في التدفق.
  • الإجراءات (Actions): هي أحداث يولدها تدفق العمل، مثل إرسال رسالة خاصة أو رسالة دردشة، أو نشر رد، أو استدعاء نقطة نهاية HTTP، أو تشغيل وكيل ذكاء اصطناعي، أو الاستعلام عن Data Explorer.
  • الأدوات المساعدة (Utilities): تتحكم في التدفق نفسه من خلال ضبط التأخيرات، والتكرار على العناصر، وإعداد المتغيرات، ويمكن أن تساعد في توثيق تدفق العمل باستخدام ملاحظات لاصقة.

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

المتغيرات، وجداول البيانات، والبيانات المؤكدة (Credentials)

تتضمن Workflows بعض الأدوات الإضافية لتسهيل إنشاء مخرجاتها وإدارتها:

  • المتغيرات (Variables): هي أزواج مفتاح/قيمة مخزنة (مثل معرّفات المجموعات، ومعرّفات الفئات، إلخ) متاحة بسهولة عبر جميع تدفقات العمل لتسهيل التكوين.
  • البيانات المؤكدة (Credentials): هي المكان الذي يمكنك فيه تخزين إعدادات المصادقة القابلة لإعادة الاستخدام لعقد طلبات HTTP، بحيث لا تحتاج إلى لصق مفاتيح API في تدفقات عملك.
  • جداول البيانات (Data Tables): تُستخدم لتخزين بيانات وقت التشغيل والاستعلام عنها، مما يتيح لك تتبع عمليات التنفيذ (مثل التحقق مما إذا كان تدفق العمل قد تم تنفيذه بالفعل على موضوع معين) والإشارة إلى مخرجات تدفق العمل بسهولة.

سجلات التنفيذ

ينتج عن كل تشغيل لتدفق العمل سجل كامل في تبويب “العمليات” (Executions). يمكنك رؤية العقد التي تم تشغيلها، والبيانات التي استلمتها، وما الذي أخرجته، وأين توقف تدفق العمل إذا حدث خطأ ما.

استخدام Workflows

لتجربتها، انتقل إلى التغييرات القادمة في /admin/config/upcoming-changes، وابحث عن عنصر تفعيل تدفقات Discourse (Enable Discourse workflows)، وحدّث حقل مفعّل لـ… (Enabled for…) لتفعيل الميزة على موقعك.

بمجرد التفعيل، ستجد Workflows تحت الإضافات ← Workflows في منطقة الإدارة الخاصة بك.

29 إعجابًا

يبدو هذا مثل n8n. سيكون رائعًا جدًا إذا كان يعمل بطريقة مماثلة

3 إعجابات

هل يمكن أن تعمل هذه الوظيفة كبديل لأدوات الأتمتة؟ أو ربما بالجمع بينهما؟

إعجاب واحد (1)

لقد قمنا ببناء بعض التكاملات والأتمتة باستخدام هذا البرنامج المساعد الجديد خلال الأسابيع الأربعة الماضية، وكل ما يمكنني قوله هو أنه رائع للغاية، ويحدث تحولاً جذرياً في Discourse. هذه حقاً أفضل ميزة جديدة منذ سنوات (وهناك بالفعل بعض الميزات الرائعة بالفعل :heart_eyes:).

نعم، هو كذلك :slight_smile:

13 إعجابًا

من المرجح أن يحل محل إضافة الأتمتة بالكامل في مرحلة ما، لأن سير العمل أكثر مرونة بكثير

9 إعجابات

هذا مفهوم رائع. لقد قضيت الكثير من الوقت في إنشاء تكاملات قوية بين n8n وDiscourse. مبادرة رائعة ستعزز Discourse بشكل كبير.

8 إعجابات

أقوم بالتجربة مع هذا الآن وأعتقد أنه يجب أن تكون هناك فئة جديدة في هذا المنتدى سير العمل.

كما أود أن أعرف كيفية إرسال رسالة دردشة إلى مستخدم بدلاً من قناة

3 إعجابات

لا يزال من غير الممكن إرسال رسالة دردشة إلى مستخدم، بل فقط إلى قنوات

Mike Tyson's 'Real Thoon' Meme

6 إعجابات

أحب العمل مع سير العمل الجديدة - إنها تغيير جذري، ويمكن ربطها بخدمات مثل n8n أيضًا.

لقد لاحظت أن حد المعدل يتم الوصول إليه غالبًا - كيف يمكن تغيير ذلك؟
أيضًا، لست متأكدًا لماذا، لكنني وجدت أنه في بعض الأحيان يتوقف عن العمل، والطريقة الوحيدة لإعادته للعمل هي إيقاف الميزة وإعادة تشغيلها عبر “التغييرات القادمة”.

ما رأيكم؟

إعجابَين (2)

يبدو متطورًا جدًا، هل يمكن لأحد أن يوضح بعض سيناريوهات الاستخدام؟。。。。。

إعجاب واحد (1)

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

من الصعب تنفيذ مثل هذه السلوكيات الديناميكية باستخدام Discourse في وضعه الافتراضي.

4 إعجابات

النهج الأفضل هو إعادة هيكلة جميع محددات المجموعات إلى تعابير تقاطع-اتحاد-متممة! :smile: (أنا أمزح فقط)

يمكنك فعل أي شيء عن طريق استدعاء واجهة برمجة تطبيقات Discourse من داخل سير العمل :grinning_face:

إعجابَين (2)

أود أن أعرف في أي الحالات يجب الاستمرار في استخدام الأتمتة (Automations) مع الاستعلامات (Queries)، ومتى يجب استخدام سير العمل (Workflows) فعلياً. خذ الإجراء التالي كمثال:

إرسال رسائل خاصة إلى المستخدمين الذين تتجاوز نسبة قراءاتهم إلى منشوراتهم 250:1 (والذين سينضمون في النهاية إلى مجموعة “المستبعدين من القوائم”، والمعروفة أيضاً باسم “المتطفلين”)

أي أداة أكثر كفاءة و/أو موصى بها لهذا الحالة بالتحديد؟ متى يجب أن أستخدم الأتمتة مع الاستعلامات، ومتى يجب أن أستخدم سير العمل؟

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

أوصي باستخدام Workflows حتى للعمليات البسيطة، وذلك لعدة أسباب:

  • إذا قررت في أي وقت أن العملية البسيطة تحتاج إلى النمو أو التغيير، فإن Workflows أكثر مرونة ويمكنه التكيف مع احتياجاتك
  • إذا قررت في أي وقت أن ترغب في بناء عملية أخرى تتأثر بهذه العملية، فإن Workflows يتيح لك ربطهما معًا
  • يمنحك Workflows رؤية أفضل لتنفيذات العملية، مما يجعل استكشاف الأخطاء وإصلاحها أسهل
7 إعجابات

ما قالته @lindsey، وأيضا إذا كان لديك أي حالة استخدام يمكنك القيام بها في الأتمتة ولا يمكنك القيام بها في سير العمل، يرجى إعلامنا

6 إعجابات

سيكون من الرائع جداً وجود قسم مخصص لمشاركة سير العمل (workflows)! هذا سيساعد المجتمع، ويساهم في فهم أفضل لجميع الآليات، والأهم من ذلك هو تقديم أفكار جديدة لمشاريع مستقبلية. إنها مجرد فكرة :sweat_smile:

للمعلومة: أجد أن وحدة سير العمل (workflow) ناجحة جداً، وقوية، وسهلة الاستخدام :+1:

3 إعجابات

يجب أن تُشارك صوتك في:

3 إعجابات

أودّ معرفة ما إذا كان من الممكن أن يُغيّر النظام تلقائيًا اسم الحدث عند اكتمال حالته (أي عند امتلاء الأماكن)، وذلك بإضافة كلمة “مكتمل” إلى الاسم. هذا سيمكن المستخدمين من رؤية الأحداث المكتملة مباشرةً في العرض العام، مثل عرض السنة، مما يُخفّف الحاجة إلى النقر على الحدث لمعرفة ما إذا كانت هناك أماكن متبقية. وبشكل أوسع، يمكن عرض عدد الأماكن المتاحة ضمن اسم الحدث. هذا رأيي الشخصي لتحسين تجربة الاستخدام لدى مستخدميني :sweat_smile: