I can at least say that it not only happens for those cases where older posts link to newer ones.
I got one example where I first found the issue.
Original Post ID: 842948 links to Page 22 of a thread that already existed and at least the start post (&start=220) has an ID lower than the linking post (842880)
After import this original post (which was posted only days before the dump was created) links to a 7 year old thread where the first post has an original ID of 1353.
I can’t seem to find any hints on why this happens, any similarities in numbers in any way… The original link was just a plain posted URL which was auto linked by phpBB. Those links in general don’t cause any issues - they work in several other places.
Generally I don’t expect the import to go well immediately. I’m really happy to how it went so far but I assume this issue might be one of the hardest to fix, especially because I don’t have any clue of setting up a dev/debug environment with Discourse yet. Might need to dig into that soon.
Hi,
From what I remember, the phpbb importer was by default filling the Discourse user full name by guessing from the user email address. Am I right and is it still the case? I can’t find anything about this in the importer files…
This is something I wouldn’t want to happen in the next forum I may import.
Also, another question.
On the current phpbb forum, there are custom user fields (like users facebook or instagram urls). I would like to import this in Discourse custom fields. I guess I’ll do something like first installing and configuring Discourse by adding these custom user field, then importing the phpbb data from my custom import script?
Is there a reliable way to estimate the monthly volume of emails that Discourse will send to users after a migration from phpbb? New user registrations, mentions and replies, weekly digests and so on… Phpbb sends very few emails by default and I think we’ll have to change the current email provider.
I don’t currently have much stats from the actual phpbb. It exists since 2013, with 200000 messages and 5500 members. New members register everyday.
With only 20 posts per day I think you’d probably be looking at 3000 emails a month, at most, well within the free Mailgun plan.
However seeing as you’re migrating with lots of users I’d recommend you turn off the digest emails for everyone who hasn’t been to your forum within the last month or two (they can always turn it on themselves if they want). You can do that with a query in the Rails console, but it’s been a year since I did it for mine, so I don’t remember the exact code sorry.
That should actually be something the import script could do for you IMO, ideally with a setting for the time since last visit to enable digest emails.
Indeed After my first phpbb import on my current forum, I had to decrease the default value; my email provider automatically blocked the used address because of all the digest emails sent. It was flagged as spam.
It’s not quite the same thing. There’s a difference IMO between sending digest emails to someone for X months since their last visit when they signed up for it - just because they don’t visit the forum doesn’t mean they’re not reading the digest emails - and sending digest emails to a user who never signed up for them because they registered in the previous forum, which may not even be legal in some jurisdictions! You could simply turn off digests for every migrated user, and they can turn then on for themselves, or you could do as I did and turn them off for everyone except those who visited within the last month and who therefore would have seen the “we’re going to migrate the forum soon” announcement. I think that’s a fair middle ground.
It’s also practical - our phpBB forum had gained thousands of spammer accounts within the last year and sending the digest to them four times a month would have used all our free mailgun allowance and then started costing a lot. Reducing “clean up inactive users after days” eventually cleaned them up.
Not sure if this belongs here or in a separate topic. But it’s about migrating from phpbb 3 so here I am.
I have successfully migrated to discourse with 1 database. However I have 3 different, separate communities (3 different languages, 3 different phpbb installs), which ideally I would all have merged into one big happy discourse forum.
My question is: how would I go about doing this? What do I need to change in the import script / phpbb 3 database / anywhere else?
There are a few users who have accounts on both forums, (a few maybe even on all 3), but there is no single sign on so they have a different account on each forum with the same username. They are all different installs and different databases.
It won’t work out of the box, because the import script stores the original IDs in the Discourse database and it won’t import data from an additional forum if it finds a record with the same ID. However, I can think of two ways of solving this:
Hard: You need to edit the import script in various places and add a prefix for each forum to the import_id custom fields stored for posts, topics, categories and users.
Easy, but you will lose the ability for incremental imports: Delete the custom fields after each import.
بعد الاختبارات الأولى قبل عيد الميلاد، نعود الآن إلى العمل في مشروع الهجرة. لا يزال أحد أكبر المشاكل هو إعادة كتابة الروابط الفاشلة، وأنا أفكر في أفضل طريقة للتعامل مع ذلك.
@gerhard معرفتي بالبرمجة أساسية جدًا، وليس لدي أي معرفة تقريبًا بـ Rails بشكل عام أو ببنية Discourse بالتفصيل، لذا أرجو أن تتفهم سؤالي: هل توجد أي فرصة للتعامل مع الحالة التي لا يجد فيها المصدّر منشورًا مستوردًا بالمعرّف (ID) المذكور في الرابط، وبدلاً من استبداله برابط خاطئ، نضيف نصًا يخبر المستخدم أو المسؤول ويجعل هذه الروابط المشكلة قابلة للعثور عليها بعد الاستيراد؟
مخاوفي الرئيسية من الطريقة الحالية هي أن هذه الروابط تبدو وكأنها تم استبدالها بنجاح، ولا توجد طريقة للعثور عليها وإصلاحها يدويًا بعد الاستيراد.
شكرًا لك على أي مساعدة يمكنك تقديمها - فهي مقدرة حقًا.
إحدى الطرق للقيام بذلك هي إعادة كتابة السكربت بحيث لا يستبدل تلك الروابط إلا بعد استيراد جميع المنشورات. إذا كنت بحاجة إلى مساعدة ولديك ميزانية، يمكنك التواصل معي أو النشر في Marketplace.
لسوء الحظ، هذا المشروع ذو ميزانية محدودة، وأعتقد أن المشكلة ليست مهمة بما يكفي لإنفاق المال عليها، لكن من الجيد بالتأكيد معرفة أنك متاح للمساعدة في ذلك.
سؤال آخر: لاحظت أن كود BB يُعالج بشكل مختلف عند الاستيراد. على سبيل المثال، يُترك وسم [size] كنص بينما يبدو أن وسم [color] يُحذف تمامًا. كنت أرغب في إعادة استخدام اللون ووجدت أن هناك إضافة لـ Discourse لذلك، لكنني لاحظت بعد ذلك أنه يُحذف أثناء الاستيراد. يشير المنشور الأول إلى أنه يمكن استيراد أكواد BB، لكنني لم أجد أي إعداد يتحكم في أي منها يمكن استيراده أو لا.
إذا كانت هناك فرصة، فأتفضّل إزالة وسوم الحجم بدلاً من ذلك والاحتفاظ باللون. هل هناك شيء أفتقده في كيفية معالجة هذا الأمر وكيف يمكن تغييره على الأرجح؟
أحاول فعل ذلك، لكنني أتعثر في التعليمات: أي ملف إعدادات تقصد هنا؟ ومتى أفعل ذلك؟ قبل الاستيراد أم بعده؟
شكرًا مقدّمًا!
تعديل: إذن أعتقد أنك تقصد ملفات إعدادات الرموز التعبيرية في لوحة تحكم المسؤول (Admin CP). هل هناك طريقة للقيام بذلك عن طريق استيراد ملف نصي أو شيء مشابه؟ لدي حوالي 100 رمز تعبيري مخصص، وأفضل لو أمكن نسخ هذا الربط إلى Discourse، هل هذا ممكن؟ (إذا أمكن نسخ ملف smily.pak من phpBB إلى إعدادات Discourse بطريقة ما؟)
أعتقد أن phpBB يتعامل مع المواضيع المقلمة بشكل مختلف عن المواضيع المحذوفة العادية. في هذه الحالة، لا يتم دعم ذلك حاليًا. ستحتاج إلى معرفة كيفية تحديد phpBB للمواضيع المقلمة كمحذوفة وتعديل سكريبت الاستيراد.
صحيح جداً! لقد مرّ وقت طويل منذ أن قمت بالتحويل الأول. لقد نسيت ذلك تماماً، شكراً لك!
بشأن المواضيع المقصوصة، نعم، اعتقدت أنها شيء من هذا القبيل. إنها ليست مشكلة كبيرة بالنسبة لمنتداي، لكنها كانت مفاجئة، وربما تكون تنبيهاً للآخرين بأن هذا قد يحدث.