Simple Machines Community Forum

SMF Support => Converting to SMF => Topic started by: PaddyD on May 13, 2018, 12:23:44 PM

Title: Converting from IPB 2.3.1 to SMF - need to test first
Post by: PaddyD on May 13, 2018, 12:23:44 PM
Howdy. We're looking at converting an IPB 2.3.1 forum to SMF. We were planning on testing a couple of forum options, and yesterday tried an install of phpBB. It was a complete disaster - whatever it did during a completely unsuccessful conversion, it modified our existing database so that the existing IPB board became unusable. We had to completely reinstall from backups. YES, I do have backups, but I'd rather not go through that hell again and wondered if in fact the SMF convertor does anything to the existing database - because if it makes changes, it may break our current forum and we don't want that - not yet and probably not ever, as we may archive the old forum once we get all the existing members into SMF etc.

So - DOES the SMF convertor change the existing IPB database in any way? The phpBB convertor said it didn't - but it sure as heck did.
Title: Re: Converting from IPB 2.3.1 to SMF - need to test first
Post by: vbgamer45 on May 13, 2018, 12:51:45 PM
The SMF convertor does not change the existing IPB database. It always leaves the existing database intact
Title: Re: Converting from IPB 2.3.1 to SMF - need to test first
Post by: PaddyD on May 13, 2018, 12:57:08 PM
Thanks! That is what the phpBB convertor said too, but since that's not what happened with it, I just wanted to be absolutely sure. At any rate, while I was waiting for a response, I made an exact copy of our existing forum, including its database, and I'll use that for the test. Just to be on the safe side. ;)
Title: Re: Converting from IPB 2.3.1 to SMF - need to test first
Post by: vbgamer45 on May 13, 2018, 01:08:21 PM
Let me know if you encounter any issues.
Title: Re: Converting from IPB 2.3.1 to SMF - need to test first
Post by: PaddyD on May 13, 2018, 01:55:29 PM
How long should I expect things to take? We've got 2600 members and it's been "converting members" for almost an hour now.

I've already had to edit the convert script as per: https://www.simplemachines.org/community/index.php?topic=528263.0 - got the error message referenced there the first time I tried to run the conversion. I was careful about removing the problematic bit in the two places it appears.
Title: Re: Converting from IPB 2.3.1 to SMF - need to test first
Post by: PaddyD on May 13, 2018, 02:14:27 PM
I refreshed the page and it now says "Converting...Successful. Recalculating forum statistics..."

So does this just mean that it was successful at converting the members? So far nothing has changed on the SMF forum itself. And there is no sign of the 2600 members in the SMF database either.
Title: Re: Converting from IPB 2.3.1 to SMF - need to test first
Post by: vbgamer45 on May 13, 2018, 02:48:02 PM
I would restart did you remove that that command?
Title: Re: Converting from IPB 2.3.1 to SMF - need to test first
Post by: PaddyD on May 13, 2018, 05:16:31 PM
I restarted the conversion - it got through the first bit and on to recalculating the forum statistics quickly this time - but again, there are no additions to the database for the SMF forum that I can see. And it seems to be sitting at recalculating the forum statistics (given that it hasn't imported any members, I'm not sure what it's actually doing...).

Any idea what could be going wrong here?
Title: Re: Converting from IPB 2.3.1 to SMF - need to test first
Post by: PaddyD on May 14, 2018, 10:36:19 AM
Further update: I checked with our web host to find out if the "The cause of this problem is that your host has session.save_path to a non writeable directory" applied here and was told that the directory is writable by the user. I looked and it has permissions of 7-0-0.

So does anyone have any suggestions? This conversion has completely failed - there is NOTHING in the SMF database from the IPB forums.
Title: Re: Converting from IPB 2.3.1 to SMF - need to test first
Post by: PaddyD on May 14, 2018, 04:28:21 PM
And a further update - had our host change permissions to 777 and now the conversion may be stuck on converting members. Been doing that for at least 90 minutes now, and I have no idea how long that should take for 2600 members...
Title: Re: Converting from IPB 2.3.1 to SMF - need to test first
Post by: vbgamer45 on May 14, 2018, 04:32:16 PM
Anything in the tables as of yet?
Title: Re: Converting from IPB 2.3.1 to SMF - need to test first
Post by: PaddyD on May 14, 2018, 04:37:12 PM
Not a thing. All it's done is take me OUT of the members group. I realize it's replacing (supposedly) all the members, but every time I end up with a board that has no members, that nobody can administer or log into until I've gone and edited the member table in PMA. Good thing I know how to do that...

I'm totally stumped now. I don't know what is wrong or how to fix it.
Title: Re: Converting from IPB 2.3.1 to SMF - need to test first
Post by: vbgamer45 on May 14, 2018, 04:40:43 PM
What version of php are you running?
Title: Re: Converting from IPB 2.3.1 to SMF - need to test first
Post by: PaddyD on May 14, 2018, 04:43:50 PM
5.6. Can't run 7.x because IPB 2.3.1 won't work with that.

Oh my...could this be the issue? And how to solve that one - IPB 3 doesn't even work with 7.
Title: Re: Converting from IPB 2.3.1 to SMF - need to test first
Post by: vbgamer45 on May 14, 2018, 04:45:10 PM
It should work. I would try using SMF 2.0.13 as the base just in case instead of new version latest smf supports PHP 7-7.1
Title: Re: Converting from IPB 2.3.1 to SMF - need to test first
Post by: PaddyD on May 14, 2018, 04:48:54 PM
Ok...will give that a shot.

Was also considering trying to convert it locally using WAMP. Not exactly my first choice on things I'd like to do today, but we really do need at least our members added to SMF. Don't care about the rest so much - we can make the old forums read-only and carry on, but would hate to lose the membership database.
Title: Re: Converting from IPB 2.3.1 to SMF - need to test first
Post by: vbgamer45 on May 14, 2018, 04:49:57 PM
There is always a way. I just don't' think the connection is going though corrector.
Title: Re: Converting from IPB 2.3.1 to SMF - need to test first
Post by: PaddyD on May 14, 2018, 05:15:16 PM
Ok - tried 2.0.13 and the conversion. I don't know if this counts as progress or not - and don't know what I'm supposed to do about it.

"Converting members...Wrong value type sent to the database. Integer expected. (instant_messages)"

Think there may be a fix here: https://www.simplemachines.org/community/index.php?topic=523480.0

(BTW - the board search isn't very good - I usually have to find these posts via Google...)
Title: Re: Converting from IPB 2.3.1 to SMF - need to test first
Post by: GigaWatt on May 14, 2018, 07:08:17 PM
Did you try the fix in that thread?
Title: Re: Converting from IPB 2.3.1 to SMF - need to test first
Post by: PaddyD on May 14, 2018, 07:13:19 PM
That and a whole boatload of others - I'm wondering if anyone wants my modified script when I'm done? LOL...

Then got another error message. "Converting members...Field 'openid_uri' doesn't have a default value"

I've looked in the script and there is no openid_uri or anything resembling it, so the fix for a phpbb converter in the thread linked below doesn't work. I don't know enough about this to know how to make it skip this or whatever we need it to do.

http://www.simplemachines.org/community/index.php?topic=518678.0

...wait a minute - figured it out - found AS member_ip2,  and then added: '' AS openid_uri, '' AS ignore_boards - as I got that next error as well.

And then got the "Converting topics...Wrong value type sent to the database. Integer expected. (id_poll)" error. Fixed that, and same for the missing integer for id_board...

Corrections found here: https://www.simplemachines.org/community/index.php?topic=401661.0

And then got a whole lot of the "Duplicate entry 'xxxxx' for key 'PRIMARY' first for topics, and then for posts. Edited the tables to remove them (though I couldn't actually see any duplicates) and then decided to just skip them via editing the URL for the conversion to start again just after (or in some cases when it was going in the opposite direction, just before) the particular problematic entry. They're so old they really don't matter...and we do still have the old boards which will be archived as well, maybe...

At the moment it's jumping down by about 500 posts or so to the next "duplicate" - so only 150 or more to go. :p



Title: Re: Converting from IPB 2.3.1 to SMF - need to test first
Post by: PaddyD on May 14, 2018, 09:10:24 PM
HELP! Stuck again:
   
Converting...
Converting posts (this may take some time)...
Successful.
Converting polls... Successful.
Converting poll options... Successful.
Converting poll logs... Successful.
Converting personal messages (step 1)... Successful.
Converting personal messages (step 2)... Successful.
Converting topic notifications... Successful.
Converting board notifications... Successful.
Converting moderators... Successful.
Converting permissions...Field 'description' doesn't have a default value

I've looked and the only two places "description" shows up in the sql script is in converting boards and smileys - and this is supposed to be in permissions. Can't find it. It's at step 1, substep 9. If I try to go to substep 10, it just complains again about the

The bit in the converting boards section is:

SUBSTRING(description, 1, 65534) AS description,

and the section in smileys is:

if (!empty($rows))
convert_insert('smileys', array('code', 'filename', 'description', 'smiley_order'), $rows, 'replace');


Meanwhile - all our members seem to be imported, and if you go into the statistics section of the board, you can see the topics that are supposed to be there, but clicking on anything gives you "Board structure corrupt: unable to find parent board" which isn't surprising considering we're not through the conversion yet.
Title: Re: Converting from IPB 2.3.1 to SMF - need to test first
Post by: vbgamer45 on May 14, 2018, 09:14:21 PM
Check that smf_boards table the desciprtion has a default value set even if it is just "" JUST CAN't be null
Title: Re: Converting from IPB 2.3.1 to SMF - need to test first
Post by: PaddyD on May 14, 2018, 09:17:17 PM
So I looked and there are 12 boards (all imported from IPB) - one has no entry in the description field. Should I just put something in there?
Title: Re: Converting from IPB 2.3.1 to SMF - need to test first
Post by: vbgamer45 on May 14, 2018, 09:24:54 PM
alter the database and allow null records and have default value for that column in smf boards table
Title: Re: Converting from IPB 2.3.1 to SMF - need to test first
Post by: PaddyD on May 14, 2018, 09:31:01 PM
You're assuming I know how to "allow null records and have default value for that column in smf boards table" - do I need to edit the conversion script? If so, how?

I'm assuming you're referring to this bit in "Converting Boards"? Right now it says:

SUBSTRING(description, 1, 65534) AS description,

I have altered the database - it only had the one empty description field in the moderators. That hasn't let me restart the conversion where I left off though.
Title: Re: Converting from IPB 2.3.1 to SMF - need to test first
Post by: vbgamer45 on May 14, 2018, 09:33:40 PM
Try running this sql command on your SMF database

alter table smf_boards change description description varchar(255) null default '';
Title: Re: Converting from IPB 2.3.1 to SMF - need to test first
Post by: PaddyD on May 14, 2018, 09:37:36 PM
I get an error when I do that. #1406 Data too long for column 'description' at row 1

Not sure what I'm to do with that...it IS a long description - should I shorten it and try again?
Title: Re: Converting from IPB 2.3.1 to SMF - need to test first
Post by: vbgamer45 on May 14, 2018, 09:43:30 PM
Lets make it bigger
alter table smf_boards change description description varchar(2048) null default '';
Title: Re: Converting from IPB 2.3.1 to SMF - need to test first
Post by: PaddyD on May 14, 2018, 09:45:25 PM
MySQL returned an empty result set (i.e. zero rows). I actually shortened the descriptions anyway - there were actually 2 it thought were too long with the previous command. And they were kind of wordy!! ;)

So - what next?
Title: Re: Converting from IPB 2.3.1 to SMF - need to test first
Post by: PaddyD on May 14, 2018, 09:53:58 PM
Now when I restarted - put it back a step to step 8, because it wouldn't do anything otherwise, I'm back to only 30,000 posts...where there were 140,000 before I did that (in SMF - there are over 200,000 in IPB) I'm not worried about losing a few, but this is getting silly.
Title: Re: Converting from IPB 2.3.1 to SMF - need to test first
Post by: PaddyD on May 14, 2018, 10:44:36 PM
So I restarted the conversion. And now we're right back at the same spot. I don't know if the conversion script needs editing or not.

Code for the board description bit (again):

SUBSTRING(description, 1, 65534) AS description,

Also found this thread: https://www.simplemachines.org/community/index.php?topic=422752.0 - so I've asked my host to disable MySQL Strict Mode temporarily, in case that works.

BTW - in the database the post count is back up to 132,000 in SMF - so we're missing some 77,000 from IPB. Topic count is 26,252 (SMF) vs 27,356 (IPB).
Title: Re: Converting from IPB 2.3.1 to SMF - need to test first
Post by: GigaWatt on May 15, 2018, 08:40:50 AM
Quote from: PaddyD on May 14, 2018, 07:13:19 PM
That and a whole boatload of others - I'm wondering if anyone wants my modified script when I'm done? LOL...

That would be appreciated. Others will surely benefit from it ;).
Title: Re: Converting from IPB 2.3.1 to SMF - need to test first
Post by: PaddyD on May 15, 2018, 10:08:50 AM
So - my host cannot make changes to PMA on a shared server. (hadn't thought about that aspect of things - but makes sense)

So...I need to know how to make that script work, because it won't right now.

How do I edit

SUBSTRING(description, 1, 65534) AS description,

to make the "Converting members... 'Field 'description' doesn't have a default value" error go away and let me complete the conversion??
Title: Re: Converting from IPB 2.3.1 to SMF - need to test first
Post by: vbgamer45 on May 15, 2018, 01:33:41 PM
I would take out SUBSTRING(description, 1, 65534) AS description,
And see if it converts and the description refer4ence in the .sql file
Title: Re: Converting from IPB 2.3.1 to SMF - need to test first
Post by: PaddyD on May 15, 2018, 01:34:59 PM
That's what I'm trying right now, actually. Will let you know if it works...
Title: Re: Converting from IPB 2.3.1 to SMF - need to test first
Post by: PaddyD on May 15, 2018, 06:08:21 PM
Well...I've now got a forum with almost all the topics, but the contents of all the posts are missing. EVERY single one I've checked so far. In the database, the messages are listed, but the message body is empty. :( I just ran it again, this time only running the convert posts section of the script, and it did the best job yet of importing everything - except the darned post body for each message. I'm missing about 1200 posts, but out of 209,802, I can live with that.

I need a merge script to merge the post from IPB with the empty "body" field in SMF, based on the post ID #. I'm not sure if I can figure out how to do that myself...I figure I know just enough to be dangerous in PMA. ;)

Signatures are screwed up (weird bits of HTML) but that is easily fixed.
Title: Re: Converting from IPB 2.3.1 to SMF - need to test first
Post by: vbgamer45 on May 15, 2018, 07:17:50 PM
Does it look empty when you look in the body? in smf_messages?

You might be able to update statement to copy from existing db to the new db
Title: Re: Converting from IPB 2.3.1 to SMF - need to test first
Post by: PaddyD on May 15, 2018, 07:30:09 PM
Quote from: vbgamer45 on May 15, 2018, 07:17:50 PM
Does it look empty when you look in the body? in smf_messages?

You might be able to update statement to copy from existing db to the new db

Oh yes, very empty indeed. If I could figure out how to copy from the existing db to the new one, I'd do it - but I'm afraid my database coding skills are minimal at best. Both the IPB and the SMF data is in one database - I installed SMF into the IPB db since that was mentioned in a few places as one way to do it, and I was certainly having a lot of trouble getting rolling. I was planning on dropping the IPB stuff once we were up and rolling. I did download the two posts tables into Excel to see what I could see in a slightly friendlier format - there are definitely post number anomalies somewhere - things missing in the SMF section (1200 posts in all).

Anyway - if someone can figure out how to write a script to copy the IPB post to the SMF body with the corresponding post ID, in PMA, I'll be grateful. I would imagine it's not difficult, but I get lost pretty quickly in trying to figure it out by reading online manuals.
Title: Re: Converting from IPB 2.3.1 to SMF - need to test first
Post by: GigaWatt on May 15, 2018, 08:03:33 PM
Have you tried with the SQL scripts posted on page 7 of the official support thread? Because some things differ from parts of the script you posted and the ones attached there.

SUBSTRING(description, 1, 65534) AS description, position AS board_order,

https://www.simplemachines.org/community/index.php?topic=238557.120
Title: Re: Converting from IPB 2.3.1 to SMF - need to test first
Post by: PaddyD on May 15, 2018, 09:04:40 PM
The problem is knowing which version is actually the most recent. ;) But the line you're showing is the same in both the version I used and the version you're referencing (I just didn't copy the last bit of it, since it wasn't the issue).

Anyway, the only thing I would like to still do is get the 200,000+ posts INTO the darned database - everything but the post itself is there. It's there in the IPB part of the database - so all I need is some bit of scripting that says "if post ID=x for both ipb_entry and sml_entry, then copy post content from ipb_entry to sml_entry." I don't know the correct syntax for that.
Title: Re: Converting from IPB 2.3.1 to SMF - need to test first
Post by: PaddyD on May 15, 2018, 09:51:21 PM
HALLELUJAH!!! I actually managed to figure it out, with some very careful Googling to find something similar.

Found this: https://stackoverflow.com/questions/21943861/copy-field-from-one-table-to-another-where-fields-match

And from that, I was able to create this:

UPDATE smf_messages
JOIN ibf_posts on smf_messages.id_msg = ibf_posts.pid
set smf_messages.body = ibf_posts.post


And ran that in phpMyAdmin and voila! I have posts! Over 200,000 of them! PHEW. Now, on to the fun stuff - making the board look & function the way we want! :D I'm sure I'll be back at some point, but at least this conversion craziness is mostly behind me.
Title: Re: Converting from IPB 2.3.1 to SMF - need to test first
Post by: vbgamer45 on May 15, 2018, 10:16:14 PM
Glad you have it working!
Title: Re: Converting from IPB 2.3.1 to SMF - need to test first
Post by: PaddyD on May 15, 2018, 11:54:08 PM
Thank you for all your help! Looking forward to moving on from our ancient IPB - and really like what I'm seeing so far with SMF. :)
Title: Re: Converting from IPB 2.3.1 to SMF - need to test first
Post by: Aleksi "Lex" Kilpinen on May 18, 2018, 01:53:03 PM
Please do let us know how it goes in the end :) And if you run in to any questions, let us know.
Title: Re: Converting from IPB 2.3.1 to SMF - need to test first
Post by: PaddyD on May 18, 2018, 01:55:00 PM
We're busy testing, Aleksi - and so far, I'm really liking it. :) I'll post a link when (assuming the rest of the admins are all on board) we go live for all our members/general public.
Title: Re: Converting from IPB 2.3.1 to SMF - need to test first
Post by: Aleksi "Lex" Kilpinen on May 18, 2018, 01:56:40 PM
Sounds good :)