الانتقال من Invision Power Board إلى Discourse

is this offer still available ?
Getting to the point where I might have to pay IPB :sadpanda:

Want to convert from http://mandrivausers.org/

إعجابَين (2)

Hey, i will probably need to do a migration from IP Board v3.4.5 to Discourse at my job, any news about the import script? Would love to test it.

I wont promise that it will work for you, but I will try to clean it up and submit a PR in the next few days. If you have a budget, my contact info is in my profile.

3 إعجابات

I also need to do a migration from a bitrix based forum, so i’ll have to write a custom script anyway and figure out how all of this works, anything to save me some time would be extremely helpful. Thank you.

Here it is. The two sites that I imported with this code were wildly different. I hope that someone finds it useful.

https://github.com/discourse/discourse/pull/5543

11 إعجابًا

Some version of this is in core now, so you probably don’t want to use what’s in the link above.

4 إعجابات

هل يمكنك أن تدلني على مكان نص الاستيراد الخاص بإصدار ipboard 4؟
أرى فقط نصوص الاستيراد الخاصة بـ ipboard و ipboard3 في المستودع.
هل تدعمون ترحيل ipboard4 إلى discourse؟

لا أعرف. أظن أن نص ipboard.rb هو النص الذي يجب تجربته؛ ليس لدي فكرة عن إصدار ipboard الذي كتبته له. سيتعين عليك فقط تجربته ببياناتك لمعرفة ما إذا كان يعمل. كما قلت (منذ سنوات) في وقت سابق، عندما كتبت نص ipboard في الأصل، كان الموقعان اللذان جربته عليهما مختلفين جدًا جدًا.

إذا كنت مهتمًا بالدعم المدفوع، يمكنك الاطلاع على Redirecting…

شكرا على الرد.
حاولت مع بياناتي، لم تكتمل لأنها فشلت.
إنها تحاول العثور على الجدول “profile_portal”، والذي لا يوجد في الإصدار الرابع.
أعتقد أن البرنامج النصي مكتوب لـ ipb3 أو أقل.

سأفكر في الدعم المدفوع.

مرحباً @pfaffman ، يرجى إخباري إذا كان بإمكانك تقديم الدعم. أريد الاستيراد من الإصدار v2.3.6، ولدي مشاكل في ربط المواضيع بـ forum_id حيث أن هذا الإصدار لا يحتوي عليه، هل يمكنك إخباري بالجدول الذي يحتوي على القيمة للربط بين الموضوع والمنتدى؟

هذا ما لدي لاستيراد المواضيع الآن، يمكنه الاستيراد ولكن جميع المواضيع تذهب إلى غير مصنف،

def import_topics
  puts "\n📌 Importing Topics..."
  total_count = mysql_query("SELECT count(*) count FROM iBB_posts WHERE new_topic = 1;").first['count']

  batches(BATCH_SIZE) do |offset|
    discussions = mysql_query(<<-SQL
      SELECT pid as tid, topic_id, post_title as title, post as raw,
             FROM_UNIXTIME(post_date) as created_at, author_id
      FROM iBB_posts
      WHERE new_topic = 1
      ORDER BY post_date ASC
      LIMIT #{BATCH_SIZE} OFFSET #{offset};
    SQL
    ).to_a

    break if discussions.empty?

    create_posts(discussions, total: total_count, offset: offset) do |discussion|
      {
        id: "topic-#{discussion['tid']}",
        user_id: user_id_from_imported_user_id(discussion['author_id']) || Discourse::SYSTEM_USER_ID,
        title: format_title(discussion['title']),  # Ensure titles are properly formatted
        raw: discussion['raw'],
        created_at: discussion['created_at'],
        post_number: 1
      }
    end
  end
end
def format_title(title)
  return "Untitled Topic" if title.nil? || title.strip.empty?
  CGI.unescapeHTML(title)
end
def import_replies
  puts "\n📌 Importing Replies..."
  total_count = mysql_query("SELECT count(*) FROM iBB_posts WHERE new_topic = 0;").first['count']

  batches(BATCH_SIZE) do |offset|
    comments = mysql_query(<<-SQL
      SELECT pid, topic_id, post as raw, FROM_UNIXTIME(post_date) as created_at, author_id
      FROM iBB_posts
      WHERE new_topic = 0
      ORDER BY post_date ASC
      LIMIT #{BATCH_SIZE} OFFSET #{offset};
    SQL
    ).to_a

    break if comments.empty?

    create_posts(comments, total: total_count, offset: offset) do |comment|
      topic_id = topic_lookup_from_imported_post_id("topic-#{comment['topic_id']}")
      next unless topic_id

      {
        id: "post-#{comment['pid']}",
        topic_id: topic_id,
        user_id: user_id_from_imported_user_id(comment['author_id']) || Discourse::SYSTEM_USER_ID,
        raw: comment['raw'],
        created_at: comment['created_at']
      }
    end
  end
end

أنت لا تمرر فئة إلى منشئ الموضوع، لذا ستحتاج إلى إصلاح ذلك.

ولكنني لا أجد أي forum_id في قاعدة بيانات ipb SQL لاستخدامها

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

إذا كانت لديك ميزانية، يمكنك زيارة Discourse Migration - Literate Computing . إذا أعطيتني ميزانية، يمكنني محاولة مطابقتها.

إعجابَين (2)

أقدر الرد، لكنني كنت أبحث تحديدًا عن توجيهات فنية بشأن المشكلة بدلاً من عروض الخدمات، شكرًا مرة أخرى على الرد السريع.

عذرًا لعدم تمكني من معرفة بنية قاعدة بياناتك دون رؤيتها.

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

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