Assistance converting from IPB 3.3.4 to SMF 2.0.4

Started by PhuriousGeorge, February 12, 2013, 12:35:06 AM

Previous topic - Next topic

PhuriousGeorge

Hello all, I'm a new SMF convert ;)

Just to preface, I've attempted to use the converter for 3.2/3.3, however when running the convert.php, it requires a IPB installation, which I do not have. Previously I've ran my forums using IPB's hosting services, but have a Windows 2008 server I'm putting the SMF on, so I do not have a IPB installation to start from. What I've done thus-far is download a backup of my IPB database and recreated it on my dedi's mysql database, but have no idea where to go from there.

Any assistance is appreciated (I'm a sql noob)

Many thanks!
Phur

Matthew K.

Might I suggest hooking up an installation of IPB with your database and then running the converter?

Welcome to SMF, by the way! :)

PhuriousGeorge

Thanks for the welcome.

Because I used their own hosting, I never had access to any IPB installers, etc. I'm not certain how I'd get ahold of a 3.3.4 installation. Up for suggestions.

Matthew K.

I'm going to go ahead and open a help desk ticket on this for you and we'll see if we can get this resolved for you.

PhuriousGeorge

Thanks Labradoodle for the quick replies, nice to see active devs ;) Hopefully in time I'll be able to assist as well. Forcing myself to learn these things as I go lol.

emanuele

You don't need a copy of IPB, it's enough to have the database.
Since you have a dump of IPB, you can create a file called conf_global.php with these data into it:
<?php
$INFO
['sql_driver'] = 'mysql';
$INFO['sql_host'] = 'localhost';
$INFO['sql_database'] = 'your_db_name';
$INFO['sql_user'] = 'root'//or other mysql user
$INFO['sql_pass'] = ''// of course mysql password
$INFO['sql_tbl_prefix'] = '';
$INFO['sql_debug'] = '0';
$INFO['sql_charset'] = '';
$INFO['board_start'] = '1320058966';
$INFO['installed'] = '1';
$INFO['php_ext'] = 'php';
$INFO['safe_mode'] = '0';
$INFO['board_url'] = 'http://localhost/ipb_conversion'// a url, doesn't need to be a valid IPB install

// all the following are not used as far as I remember, so they can be anything
$INFO['banned_group'] = '5';
$INFO['admin_group'] = '9';
$INFO['guest_group'] = '2';
$INFO['member_group'] = '3';
$INFO['auth_group'] = '1';
$INFO['use_friendly_urls'] = '1';
$INFO['_jsDebug'] = '0';
$INFO['mysql_tbl_type'] = 'MyISAM';

define('IN_DEV'0);

?>


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

PhuriousGeorge

#6
Thanks for the reply, I'll try that now, but I'm a bit confused. The original file is substantially larger, do I need to use this new conf_global.php in conjunction with the convert.php or the ipb3_to_smf.sql?

Apologies if I sound nubish, but truth is I am ;)

PhuriousGeorge

#7
Update: (hope double-posting after a decent time-frame isn't a sin here. if so, let me know please)

Did some searching and was able to find 1 other post. Realized I needed to treat the conf_global.php as the IPB site, so I did so and wound up getting an error:

Unable to find the settings for Invision Power Board 3.2. Please double check the path and try again.

Not sure if it matters or not that I'm using IPB 3.3.4, but it appears I may need additional info within the conf_global.php file. I'll search around and see if there's any way I can gain access to the file I'm currently using, or at least find an example more like the one found here: http://www.simplemachines.org/community/index.php?topic=146223.msg931371#msg931371

Hope I'm on the right track :P

Finally got it going, but receiving an error:
Converting members... Unsuccessful!
This query:
SELECT
m.member_id AS id_member, SUBSTRING(m.name, 1, 80) AS member_name,
SUBSTRING(m.members_display_name, 1, 255) AS real_name, m.email AS email_address,
SUBSTRING(m.members_pass_hash, 1, 64) AS passwd, SUBSTRING(m.members_pass_salt, 1, 8) AS password_salt,
m.title AS usertitle, m.last_visit AS last_login,
m.joined AS date_registered, SUBSTRING(pc.field_3, 1, 255) AS website_url,
SUBSTRING(pc.field_3, 1, 255) AS website_title,
SUBSTRING(pc.field_4, 1, 255) AS icq, SUBSTRING(pc.field_1, 1, 16) AS aim,
SUBSTRING(pc.field_8, 1, 32) AS yim, SUBSTRING(pc.field_2, 1, 255) AS msn,
SUBSTRING(pp.signature, 1, 65534) AS signature, m.ip_address AS member_ip, m.ip_address AS member_ip2, '0' AS total_time_logged_in,
IF (m.bday_year IS NULL, '0001-01-01', IF (m.bday_year = 0 AND m.bday_month != 0 AND m.bday_day != 0, CONCAT('0004-', m.bday_month, '-', m.bday_day), CONCAT_WS('-', IF(m.bday_year <= 4, '0001', m.bday_year), IF(m.bday_month = 0, '01', IF(m.bday_month < 10, CONCAT('0', m.bday_month), m.bday_month)), IF(m.bday_day = 0, '01', IF(m.bday_day < 10, CONCAT('0', m.bday_day), m.bday_day))))) AS birthdate,
CASE
WHEN (m.member_group_id = '4') THEN 1
WHEN (m.member_group_id = '2') THEN -1
WHEN (m.member_group_id = '6') THEN 2
ELSE 0
END AS id_group,
CASE
WHEN (pc.field_5 = 'm') THEN 1
WHEN (pc.field_5 = 'f') THEN 2
ELSE 0
END AS gender
FROM `ipb`.members AS m
LEFT JOIN `ipb`.pfields_content AS pc ON (pc.member_id = m.member_id)
LEFT JOIN `ipb`.profile_portal AS pp ON (pp.pp_member_id = m.member_id)
LIMIT 0, 500;
Caused the error:
Unknown column 'pc.field_1' in 'field list'


Update 2:
I removed the query code regarding pc.field_1 from the query and ran it again. The query then passed that step and received different error:
Converting...
Converting members... Successful.
Converting categories... Successful.
Converting boards... Successful.
Converting topics...Duplicate entry '373' for key 'PRIMARY'


I verified the topics table and confirmed there's no duplicate key. Off to skim other trouble posts for hints ;)

Also, noticed the member post counts did not transfer.

Update 3:

Attempted to add:
---{
$ignore = true;
---}


after

---* {$to_prefix}topics 5

as other people having other similar errors suggested, however now when executed the whole thing dies with:

Server Error

500 - Internal server error.
There is a problem with the resource you are looking for, and it cannot be displayed.


This happens at row 377 consistently, which happens to be the last row in the topics table.

I'm pretty much out of ideas at this moment, but I'll keep messing around.

The quest continues...

Update 4:

I've found some other posts referring to the 500 error and limited the concurrent items being converted. I've managed to make it to the portion of the query where post counts are reprocessed. Nothing I do seems to allow it to pass this step.

Sorry for all the above, thought I'd document the whole process so others with the same issues could find a good amount of solutions here.

If there's any suggestions on how to get past the post recount, I'm wide open :)

emanuele

Row 377 of the ipb_to_smf?
May you attach it if you have modified?


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

PhuriousGeorge

#9
377 happened to be the number of topics I had in total. It appears I'm timing out around the section:

/******************************************************************************/
--- Recounting post counts...
/******************************************************************************/


I'll upload my minor edits when I get to my office.

Edit: Attached

emanuele

OMG, sorry...I misread the message... :-[

A couple of questions:
1) exactly what's the last message displayed before the 500 error?
2) The number of topics seems low, would you try to disable javascript and run the upgrade "manually" (i.e. clicking on the button to proceed at each step)
3) Can you may be also enable the debug? (I've never seen anything useful from it, but from time to time I've been able to pass certain steps just enabling it...yeah, I know not very "scientific"... :P)


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

PhuriousGeorge

Quote from: emanuele on February 13, 2013, 06:33:39 PM
OMG, sorry...I misread the message... :-[

A couple of questions:
1) exactly what's the last message displayed before the 500 error?
2) The number of topics seems low, would you try to disable javascript and run the upgrade "manually" (i.e. clicking on the button to proceed at each step)
3) Can you may be also enable the debug? (I've never seen anything useful from it, but from time to time I've been able to pass certain steps just enabling it...yeah, I know not very "scientific"... :P)

1) I've never seen the site actually give a live progress. The only time I've seen it is when it stops with an error. Tried Chrome and Firefox with the same result. When I hit "go" the screen changes to where I'd expect progess updates, but just sits there chugging until it errors. Possibly a timeout error occuring on my side?

2) The topic count is correct. I prebviously uses the forum for a small community, but am expecting a lot more traffic (I hope). Also, I basically had my last community stolen from me, so I lost a lot of content (may have a backup from then, but more worried about recent content ;)).That being said, if you think disabling java would help anyway, I'll give it a shot when I get home in an hour.

3) I can certainly try enabling debug. How is this done?

I sincerely appreciate your patience and assistance!

emanuele

Quote from: Phuriousgeorge on February 13, 2013, 06:50:03 PM
3) I can certainly try enabling debug. How is this done?
When you first open the "convert.php" page, you'll see a checkbox "debug", just tick it. ;D

ETA: and sorry if I answered so late, I though I answered yesterday, but apparently I wrote the answer and didn't click "post"... ::)


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

emanuele

Okay, I think I found the issue.

I'll post an updated script as soon as the conversion I'm testing the script with is finished. ;D


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

PhuriousGeorge

I'm not seeing a debug option, only a empty error log, which I've tried using. I haven't actually seen an error log anywhere. Just for verification, here's what I see:

http://puu.sh/22XF5

Didn't really have any luck with disabling java script either.

Glad you think you found the issue :) I realize I'm a tiny board compared to many of the other's represented here and now I think I know enough to convert the pertinent parts manually, but if you'd like, I'd be more than willing to assist to get your converter debugged for 3.3.4. Also, not sure if it'd help, but if you'd like, I could send you a backup copy of my IPB database for you to experiment with since it's pretty small ;)

Again, thanks for the assistance! I've learned a lot (or relearned) from digging through the conversion query.

PhuriousGeorge

Trying the new files you posted. Had to remove
SUBSTRING(pc.field_1, 1, 16) AS aim,.
again and started 500'ing, so I put the limitations back in place for concurrent conversion. Got further than before. Page is still not updating as it progresses, but it did pause at one point:

http://puu.sh/22Zc8

On the "Converting personal messages (step 1)" step, but immediately 500'd out again as soon as it resumed. Will continue to poke at the query to troubleshoot.

emanuele

Yups, I removed the limitations because I was working locally and neede to go "as fast as possible" and forgot to put them back...sorry.

Unfortunately I never experienced any 500 error while converting, so I'm not sure what it can be...
If it is a load issue you may either set lower limits or try to do the conversion locally on your computer (using some application like xampp or wamp or alike is pretty easy to set up the "server" ;)).


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

PhuriousGeorge

I was actually looking into using wamp to try it. My guess is all this is is mostly timeout errors. In regards to using wamp, would I need to install smf locally as well to create the database structure?

emanuele



Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

PhuriousGeorge

Apologies for the latent reply, just wanted to confirm that it appears that after using wampp to convert the database locally, everything went off without a hitch (jus a few attachment warnings).

The only thing I had to alter was removing:

SUBSTRING(pc.field_1, 1, 16) AS aim,

As at least in my version, this field does not exist.

Thanks for all the help, and I'll try to share my troubleshooting with future converts ;)

Advertisement: