Importing from phpBB3

import

(Jay Pfaffman) #334

Hey, @allu, are you doing a phpBB3 3.2 import?

@funtent and @MJ94: The Blender community did a kickstarter to raise funds to pay for an import as well as significant improvements to the Vbulletin importer.

Perhaps one or both of your communities could do the same.


(Allen) #335

Luckily not :grinning: The migration I am working on is a old clunky phpBB 3.0.X. Am currently analyzing which bbcode use cases I have in the data, how many of each, and doing some sample visual checks to see if any conversion issues remain. Btw, using this approach to find posts containing a specific bbcode as candidates for my checks (in mysql, for example):

select * fromphbb_postswhere post_text REGEXP "\\[size=.*\\]"

Found this quite helpful for finding the needle(s) in the haystack :wink:


(Neil) #336

Hello everyone. We are currently running phpBB 3.2 - I’d love to know how I can help writing the XML to Markdown conversion script.


(Jay Pfaffman) #337

The code is there. You’d want to use Nokogiri to help with the transition. There may be other xml to markdown tools.


(Coin-coin le Canapin) #339

Hi,
I imported a forum but it seems to be an issue regarding the number of topics in the category list:
image

And if I go to Général:

There are hundreds of topics on each category.

However, the number of topics is displated right on the category page:


(Régis Hanol) #340

How long ago have you done the import? These stats are updated in a background job that runs every day/week (can’t remember).


(Coin-coin le Canapin) #341

Hi,
The import ended at least 6 hours ago. I looked at the sidekiq josb but I couldn’t find anything related to this. There was something like Category stats but it didn’t change anything after it was done.

If it’s updated in a short future any way, that’s not a big deal. Thanks for your reply. :slight_smile:


#342

I think this number only take the number of topics in this specific category and doesn’t count all subcategories.

I don’t know if it’s a bug or not though


(Coin-coin le Canapin) #343

Yeah, I got it. In phpbb you could have categories in which you can’t post messages, they just act as parents for subcategories.
So there is no message in them.

The displayed number for a category only shows posts that are posted in this category but not those posted in a subcategory as you said. Seems weird though.

Another question since I’m here: what happens if I import my phpbb data twice? Does it skip already imported messages/users/passwords/attachments?


(Jay Pfaffman) #344

Yes. It skips already imported users and posts.


(Coin-coin le Canapin) #345

Hi!

Still here. :smiley: I noticed that my imported images aren’t displayed (404 error) though I imported them in the import settings.
Any idea how does that come from and if it is possible to fix the issue without having to re-import?

I also reorganized all my categories and moved messages to other categories… I’d prefer not to do all of this again, I hope there is a solution.

edit: I discovered rake uploads:recover_from_tombstone. Hope that will help.
edit2: that helps.


(Coin-coin le Canapin) #346

That issue being solved, I have another question.
I imported from a fairly old phpbb dump ; December 2017. I did not notice until I made a lot of configuration and reorganization on my Discourse.
I can get a recent dump of my phpbb, what would be the proper way to add only the new (from December 2017 until now) messages, uploads and users to my Discourse?

I got that the importer will ignore the existing users categories and stuff but will it identify existing messages if I changed their categories on Discourse?

Also, on the last import I tried, I got the message after starting phpbb3_import.rb:

Table `phpbb.phpbb3_config` doesn't exist

I had my dump named phpbb_mysql.sql inside /var/discourse/shared/standalone/import/data and I edited settings.yml :

table_prefix: phpbb3_ 

as it is the prefix on my dump tables:

CREATE TABLE `phpbb3_config`

Any idea?


(Gerhard Schlager) #347

I’m not sure why it doesn’t find the phpbb3_config table. There’s probably something wrong with your database dump.

The importer supports incremental imports. Simply put the new phpbb_mysql.sql and attachments into /var/discourse/shared/standalone/import/data restart the import. The importer uses the original IDs from phpBB3 to identify already imported data, so there’s no need to worry.

Anyway, it’s probably a good idea to create a backup in Discourse before you start the next import. Just in case… :wink:


(Coin-coin le Canapin) #348

Thanks for your reply. My dump seems fine but I do notice some differences between the two dumps.
Here’s a comparison of the first lines: https://www.diffchecker.com/ITAyzGCD (new one on left)


(Gerhard Schlager) #349

Try removing

CREATE DATABASE IF NOT EXISTS `monocycleinfo_forum` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci;
USE `monocycleinfo_forum`;

(Coin-coin le Canapin) #351

Worked like a charm, thanks!


(Dan Maby) #353

Hey all, every time I run step 1.5 Executing the import script

I receive the following error in the terminal:

Error response from daemon: Container [id] is not running

I’m not clear on how to get the container running? Any advise would be greatly appreciated :pray:


#354

You should reinstall or restart docker, it’s not coming from Discourse

It is service docker restart for the second one I think


(Dan Maby) #355

Thanks @Steven if I stop the discourse/app I can then enter import but of course the import fails because Discourse isn’t running. If I run docker ps -a this is what I see:

CONTAINER ID        IMAGE                    COMMAND             CREATED             STATUS                      PORTS                                      NAMES
0e44d0c41023        local_discourse/import   "/sbin/boot"        24 minutes ago      Exited (5) 17 minutes ago                                              import
de1aa6a0e624        local_discourse/app      "/sbin/boot"        24 hours ago        Up 17 minutes               0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp   app`

So if I run docker stop de1aa6a0e624 I can then run /var/discourse/launcher enter import and it starts the import but as I said, of course fails.

Port 443 seems to be the issue, if I try to start the container [id] I posted above I see: Bind for 0.0.0.0:443 failed: port is already allocated


(Gerhard Schlager) #356

I guess for some reason the import container wasn’t running when you tried to enter it the first time. Try the following steps:

/var/discourse/launcher stop app
/var/discourse/launcher start import
/var/discourse/launcher enter import

And if that doesn’t work, try

/var/discourse/launcher stop app
/var/discourse/launcher rebuild import
/var/discourse/launcher enter import