is this offer still available ?
Getting to the point where I might have to pay IPB 
Want to convert from http://mandrivausers.org/
is this offer still available ?
Getting to the point where I might have to pay IPB 
Want to convert from http://mandrivausers.org/
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.
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.
Некоторая версия этого уже есть в ядре, так что вам, вероятно, не стоит использовать то, что находится по ссылке выше.
Подскажите, пожалуйста, где находится скрипт импорта для Invision Power Board версии 4?
В репозитории я вижу только скрипты импорта для IPBoard и IPBoard 3.
Поддерживаете ли вы миграцию с IPBoard 4 на Discourse?
Я не знаю. Думаю, стоит попробовать скрипт ipboard.rb; я не помню, для какой версии ipboard я его писал. Вам придётся проверить его на ваших данных, чтобы убедиться, что он работает. Как я уже говорил (много лет) назад, когда я изначально писал скрипт для ipboard, два сайта, на которых я его тестировал, были очень, очень разными.
Если вас интересует платная поддержка, ознакомьтесь с информацией по ссылке: Redirecting…
Спасибо за ответ.
Я попробовал со своими данными, но процесс не завершается, так как происходит ошибка.
Скрипт пытается найти таблицу “profile_portal”, которой нет в 4-й версии.
Полагаю, что этот скрипт написан для IPB 3 или более ранних версий.
Я подумаю о платной поддержке.
Привет @pfaffman, пожалуйста, дай знать, если сможешь помочь. Я хочу выполнить импорт из версии 2.3.6, но у меня возникают проблемы с привязкой тем к forum_id, так как в этой версии его нет. Не мог бы ты подсказать, в какой таблице хранится значение для связи между темой и форумом?
Вот что у меня сейчас есть для импорта тем. Импорт работает, но все темы попадают в категорию «Без категории»:
def import_topics
puts "\n📌 Импорт тем..."
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']), # Убедитесь, что заголовки отформатированы правильно
raw: discussion['raw'],
created_at: discussion['created_at'],
post_number: 1
}
end
end
end
def format_title(title)
return "Без названия темы" if title.nil? || title.strip.empty?
CGI.unescapeHTML(title)
end
def import_replies
puts "\n📌 Импорт ответов..."
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. Если вы сообщите мне размер бюджета, я постараюсь предложить сопоставимое решение.
Я ценю ваш ответ, но я искал именно техническое руководство по решению этой проблемы, а не предложения услуг. Спасибо ещё раз за быстрый ответ.
Извините, но я не могу узнать структуру вашей базы данных, не имея возможности её просмотреть.
Все, что я могу вам сказать, и что я уже говорил, — это проверить базу данных, чтобы найти, где скрывается категория. В записи темы должно быть какое-то поле, которое вы упускаете. Иногда это ссылка на другую таблицу, в которой хранится идентификатор категории, и вам нужно выполнить соединение (join). Вероятно, у него просто какое-то имя, которого вы не ожидаете.