الحل موجود حرفياً في المنشور الذي يسبق منشورك مباشرة. ![]()
يجب علينا إصلاح البرنامج النصي. ربما يمكنك إنشاء طلب سحب (PR) يحل المشكلة للجميع؟
الحل موجود حرفياً في المنشور الذي يسبق منشورك مباشرة. ![]()
يجب علينا إصلاح البرنامج النصي. ربما يمكنك إنشاء طلب سحب (PR) يحل المشكلة للجميع؟
شكرًا، لقد تم حل المشكلة، أنا آسف لذلك. كعقاب على عدم قدرتي على القراءة، فتحت Added duplication to name to prevent modification of frozen string exception by adam-skalicky · Pull Request #30325 · discourse/discourse · GitHub لإنقاذ أي شخص آخر من عار طرح سؤال غبي.
هل يقوم هذا النص البرمجي للاستيراد بجعل Discourse يكرر ترابط رسائل البريد الإلكتروني في Mailman 2 بأي شكل من الأشكال (على سبيل المثال، باستخدام السهم الصغير في Discourse للإشارة إلى “رد على”) أم أنه يعتمد فقط على التسلسل الزمني (لكل سلسلة بناءً على Message-ID و In-Reply-To و References)؟
نعم، يفعل
رائع. لم تحصل العديد من رسائل البريد الإلكتروني في قائمتي البريدية على رؤوس In-Reply-To و References التي يجب أن تكون موجودة بها، لذلك قد يتم استيرادها كمواضيع جديدة بدلاً من مجرد ردود. حسب ذاكرتي، يستخدم البرنامج النصي تلك الرؤوس أو رؤوس الموضوع (وليس كلاهما).
أعتقد أنني سألت هذا في الماضي البعيد، ولكن هل هناك أي طرق غير يدوية لإضافة هذه الرؤوس إلى ملف MBOX و/أو إعادة ترتيب رسائل البريد الإلكتروني بطريقة أخرى قبل أو بعد الاستيراد إلى Discourse؟
من الممكن الآن دمج المواضيع والحفاظ على الترتيب الزمني، لذا ربما يكون هذا هو الحل. لن يكون لديهم سوى السهم الصغير في Discourse الذي يشير إلى من كان الرسالة رداً عليه.
يحتوي برنامج استيراد mbox النصي على مرحلتين. الأولى هي الفهرسة وتنتج قاعدة بيانات SQLite. يمكنك إما تعديل البيانات في SQLite قبل الاستيراد، أو تعديل برنامج Ruby النصي.
كل سحر الفرز/التجميع حسب الموضوع أو الرؤوس يحدث هنا:
يمكنك إضافة منطق التجميع الخاص بك إذا كنت تعرف كيف تريد تجميع رسائل البريد الإلكتروني.
سيستغرق الأمر بعض الوقت قبل أن أفكر حتى في شيء معقد كهذا!
في https://bazaar.launchpad.net/~mailman-coders/mailman/2.1/view/head:/Mailman/Archiver/pipermail.py#L669 يبدو أن Pipermail الخاص بـ Mailman 2 يبحث عن ما يلي حسب الأولوية:
يبدو هذا المزيج من الأساليب مثاليًا. في الحالة الثالثة، قد يكون من المنطقي أن لا يستخدم Discourse سهم “رد على”.
من الذاكرة، لم يأخذ Hyperkitty الخاص بـ Mailman 3 الموضوع في الاعتبار على الإطلاق، وهو ما لم يكن جيدًا.
عذرًا على مقاطعتي بهذا السؤال الغبي المحتمل، ولكني لم أتمكن من العثور على إجابة واضحة هنا. أود أن أعرف ما إذا كانت عملية الاستيراد تنشئ مستخدم Discourse جديدًا لكل بريد إلكتروني، مع إزالة التكرار بالطبع، أو ما إذا كانوا جميعًا يدخلون كمستخدم نظام واحد. لدي قائمة بريدية تحتوي على 20 عامًا من المشاركات وهي كبيرة جدًا ويصعب التجربة عليها. وأيضًا، ماذا عن الردود في القائمة الأصلية؟ هل يتم تجميعها في سلاسل مترابطة؟
نعم، يتم إنشاء المستخدمين، واحد لكل عنوان بريد إلكتروني.
مرحباً بالجميع،
أحاول الانتقال من Google Groups. عند محاولة تنزيل الرسائل باستخدام الأمر التالي script/import_scripts/google_groups.rb -g <group_name> -d <domain_name> أحصل على تتبع للمكدس (stacktrace) فوراً:
Fetching gem metadata from https://rubygems.org/.......\nResolving dependencies...\n/usr/local/lib/ruby/gems/3.4.0/gems/childprocess-4.1.0/lib/childprocess.rb:6: warning: logger was loaded from the standard library, but will no longer be part of the default gems starting from Ruby 3.5.0.\nYou can add logger to your Gemfile or gemspec to silence this warning.\n/usr/local/lib/ruby/gems/3.4.0/gems/selenium-webdriver-4.1.0/lib/selenium/webdriver/common/zipper.rb:23: warning: base64 was loaded from the standard library, but is not part of the default gems starting from Ruby 3.4.0.\nYou can add base64 to your Gemfile or gemspec to silence this warning.\n/usr/local/lib/ruby/gems/3.4.0/gems/bundler-2.6.4/lib/bundler/runtime.rb:71:in 'block (2 levels) in Bundler::Runtime#require': There was an error while trying to load the gem 'webdrivers'. (Bundler::GemRequireError)\nGem Load Error is: cannot load such file -- base64\n```
يمكنني إضافة `gem “base64”` إلى السكربت `google_groups.rb` للمضي قدماً قليلاً، ولكن بعد ذلك أرى هذا:
Logging in…\n/usr/local/lib/ruby/gems/3.4.0/gems/rubyzip-3.2.2/lib/zip/entry.rb:757:in ‘File#initialize’: No such file or directory @ rb_sysopen - /root/.webdrivers/root/.webdrivers/chromedriver (Errno::ENOENT)\n```
أي اقتراحات حول كيفية المضي قدماً في تنزيل الرسائل؟
تعديل: هل يوجد ربما إصدار أحدث من هذا السكربت؟ لم تعد المجموعات تستخدم /forum في عنوان URL الخاص بها، بل أصبحت تستخدم التدوين /g/ وتغييرات أخرى.