لقد فكرت في هذا مرة أخرى.
يمكن للإضافة أن تضيف حقل موضوع مخصص لرابط المصدر للمستند الأساسي. (أعتقد أنها ستحتاج أيضًا إلى حقول لاسم مستخدم عن بعد ومفتاح API إذا كان المستند الرئيسي سيتم إخفاؤه، كما أعتقد أن هذه هي حالتك، ولكن يمكن أن تنتظر هذه القطعة. أو ربما يمكن أن تعيش في حقل مخصص للمستخدم. سيعتمد الأمر على من قام بإنشاء المفتاح للتأكد من أن مفتاح API لديه امتيازات للقراءة فقط).
عند إنشاء موضوع، ستدخل شيئًا مثل " remote: https://meta.discourse.org/t/synchronising-crossposting-topics-across-different-discourse-sites/263269 " وعند إنشاء الموضوع، سيقوم Discourse بسحب النص الخام للموضوع البعيد، وإدراجه في raw كتعديل وإنشاء topic_custom_field مع عنوان URL البعيد، وربما إضافة “تم النسخ من url” في الأعلى.
في هذه المرحلة، لقد نسخت الموضوع البعيد محليًا ولديك سجل له.
بعد ذلك، يمكن أن يكون هناك زر “التحقق من المصدر” الذي سيقوم بسحب الموضوع البعيد وحفظ updated_at للموضوع البعيد وربما حتى raw في حقول مخصصة أخرى (يمكن لوظيفة أيضًا القيام بذلك بشكل دوري، مما يوفر بعض تجربة المستخدم). يمكنك بعد ذلك الحصول على زر تحديث سيستبدل raw الحالي بالبعيد كتعديل.
إذا كان الموقع الأساسي عامًا، فإن هذا الجزء سهل حقًا. إضافة مفتاح API للسحب من موقع خاص يعقد الأمور، وإدارة مجموعة من مفاتيح API عبر مواقع متعددة، يعقدها أكثر. إذا كان المصدر الأصلي بحاجة إلى الاستبدال، فيمكنك ربما القيام بذلك باستخدام مهمة rake لإعادة التعيين، أو إضافة القدرة على تعديل الحقل المخصص بعنوان URL البعيد عندما تحتاج إلى ذلك.
هذا الجزء يأتي مجانًا، نظرًا لأن هذا الحل يتضمن المواقع الثانوية سحب البيانات من الموقع الأساسي.
صحيح. ويمكن أن يكون هناك رابط مرة أخرى إلى موقع المصدر، حتى يتمكن الأشخاص من الذهاب إلى المصدر لرؤية تلك التعليقات، أو ربما حتى تضمينها عبر Embed comments from Discourse in your single page app.
إذا كان لديك أي ميزانية على الإطلاق لهذا، فلا تتردد في الاتصال بي.