ما هي العملية الصحيحة للأتمتة المخصصة؟

أنا مبتدئ ولدي بعض الأسئلة حول إنشاء أتمتة مخصصة (Create Custom Automations).

لقد حاولت لأول مرة كتابة برنامج نصي للأتمتة مباشرة في بيئة التطوير GitHub Codespace (أنا لا أفهم القواعد البرمجية، وقد كتب كلود الكود).
بعد التعديل، يجب أن يكون هيكل الملفات كما يلي:

plugins/automation/
├── lib/
│   └── discourse_automation/
│       ├── scripts.rb                 # تم التعديل
│       └── scripts/
│           ├── ...                    # نصوص برمجية أخرى
│           └── remove_expired_group_members.rb  # مضاف حديثًا
└── config/
    └── locales/
        ├── server.en.yml              # تم التعديل
        ├── client.en.yml              # تم التعديل
        ├── server.zh_CN.yml           # تم التعديل
        └── client.zh_CN.yml           # تم التعديل

لكنني لست متأكدًا مما إذا كان يمكنني القيام بذلك في بيئة الإنتاج.
أيضًا، لست متأكدًا مما إذا كانت هذه التعديلات ستضيع مع إعادة البناء (rebuild) أو تحديث إضافة الأتمتة (automation plugin)، لذلك لا أجرؤ على تجربتها في بيئة الإنتاج. ربما يجب تقديم طلب ميزة ليضيفها مطورو الإضافة؟

آمل أن يتمكن الأصدقاء ذوو الخبرة من إخباري بالإجراء الصحيح، بدءًا من كتابة الاختبارات وحتى تطبيقها في بيئة الإنتاج.
شكرًا جزيلاً!

أعتقد أنه سيتعين أن يكون في إضافة (plugin) جديدة.
يمكنك الاطلاع على:

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

لقد اطلعت على الرابط الذي قدمته
هل يمكنك أن تشرح لي لماذا يجب استخدام المكونات الإضافية (plugins) بدلاً من إنشاء البرامج النصية (scripts) داخل الأتمتة (automation)؟

  1. أنا لست محترفًا، ويبدو أن إنشاء المكونات الإضافية أكثر صعوبة.
  2. لدي العديد من الوظائف التي أحتاج إلى تنفيذها، وهذا يبدو وكأنه يتطلب إنشاء العديد من المكونات الإضافية؟ (على الرغم من أنني أحب المكونات الإضافية أيضًا، حيث يمكن مشاركتها).

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

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

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

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

أعتقد أن البرنامج التعليمي (وهو مسودة) يفتقر إلى هذه المعلومات. إنه يشرح كيفية إنشاء عمليات أتمتة جديدة، ولكن ليس أين يتم ذلك. تذكر الإجابات أمثلة إضافات (plugins)، مثل تلك التي أشار إليها @NateDhaliwal.

يقترح سايمون أيضًا إلقاء نظرة على إضافة مستكشف البيانات: Create custom Automations - #6 by simon.

يعتمد على ما تعنيه بـ “المستخدم”؟ :smile: كمطور، يمكنك بالتأكيد إنشاء إضافة جديدة تضيف عمليات أتمتة. هذه هي الطريقة للقيام بذلك بشكل صحيح.

بما أنك ذكرت أنك لا تفهم الكود، ولكن يمكنك استخدام الذكاء الاصطناعي لهذا الغرض، فربما تجد هذه المناقشة مثيرة للاهتمام. Claude & Discourse-related development. How good is it?.

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

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

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