News:

Wondering if this will always be free?  See why free is better.

Main Menu

[SMF Converter] Invisionfree/ActiveBoards/iPBfree

Started by nneonneo, August 13, 2007, 11:00:47 PM

Previous topic - Next topic

nneonneo

No, I wouldn't mind; go ahead -- nneonneo {AT} gmail
Check out the AJAX Shoutbox (my one and only mod to date :P)
Do you like SMF? Are you using ProBoards, InvisionFree, ActiveBoards or some other web-hosted forum? I can help you convert to SMF (without having to purchase a DB conversion)...contact me [nneonneo {at} gmail *dot* com], and see this topic
spammers here!


Randy A.

Hi Everyone!

I wanted to quickly pop in and thank nneonneo for all of his assistance in getting my conversion to SMF completed.

It has a learning curve, but overall, a very nice experience.

Thank You!!

DeadSnipe

In the instructions 4) and 5):

What exactly does it mean to Execute the SQL batch file topic_posts.sql in the forum database and Execute the SQL batch file members.sql in the forum database?

In the proboards folder (same as where the instructions.txt file is), i see:
topic_posts_smf.sql  and
members_smf.sql

Do i have to upload those file via ftp to the forums root? or do i have to actually access the mysql database and execute something from there?

Also, when i run the membes_topic_posts.py file, it says 0 posts and 0 topic converted and i dont recall getting any error messages. I labeled all the shotnames exactly, from top to bottom in order as they are on my proboards and made the smf forums layed out the same from top to bottom giving the shortname the same as in the proboards forums'.

nneonneo

You have to access your MySQL database. The exact method varies for different user interfaces, but for phpMyAdmin, you go to the database, then select "Import", upload the file and click Go. If the file exceeds the posted size limit, you can try compressing it with zip before uploading.

When it gives you the "0 posts/0 topics" message, that means the script was unable to find any topics. This can mean a few things.

a) Wrong cookie: grab a fresh one (redo the document.cookie thing)
b) Wrong URL: fix it in settings.py
c) No board mappings: there are no boards (shortnames) to download - check BOARDS
d) I have no idea what else could go wrong; if those don't help, email me the settings.py file (do NOT attach it here) and I'll take a look.
Check out the AJAX Shoutbox (my one and only mod to date :P)
Do you like SMF? Are you using ProBoards, InvisionFree, ActiveBoards or some other web-hosted forum? I can help you convert to SMF (without having to purchase a DB conversion)...contact me [nneonneo {at} gmail *dot* com], and see this topic
spammers here!

Universe_JDJ

#45
Is there a way to get it to assign topic and message numbers (ID_TOPIC, ID_MSG) from a higher number (100001, 100002, 100003 etc) instead of starting with 1,2,3 etc?

DeadSnipe

#46
Quote from: nneonneo on January 28, 2008, 10:51:19 PM
You have to access your MySQL database. The exact method varies for different user interfaces, but for phpMyAdmin, you go to the database, then select "Import", upload the file and click Go. If the file exceeds the posted size limit, you can try compressing it with zip before uploading.

When it gives you the "0 posts/0 topics" message, that means the script was unable to find any topics. This can mean a few things.

a) Wrong cookie: grab a fresh one (redo the document.cookie thing)
b) Wrong URL: fix it in settings.py [nofollow]
c) No board mappings: there are no boards (shortnames) to download - check BOARDS
d) I have no idea what else could go wrong; if those don't help, email me the settings.py [nofollow] file (do NOT attach it here) and I'll take a look.

I guess i'll have to download/install Firefox in order to get this javascript:document.cookie thing because nothing comes up using IE.6 :(

*UPDATE* Ok, not even using Firefox was i able to get the cookie thing :(

nneonneo

#47
@Universe_JDJ: Hmm, that's an interesting question.

Increase the 1 in
topicmap['%i/%s'%(topicid,board)]=i+1
and change 1 in
postid=1
(note that there are two spots for that last one)
and removing the TRUNCATE TABLE SQL statements (presumably, you are appending to a database?)

@DeadSnipe: Huh? Try "javascript:prompt(document.cookie,document.cookie)" and see if that works.
Also, before you type that in, are you on the Proboards page?
Check out the AJAX Shoutbox (my one and only mod to date :P)
Do you like SMF? Are you using ProBoards, InvisionFree, ActiveBoards or some other web-hosted forum? I can help you convert to SMF (without having to purchase a DB conversion)...contact me [nneonneo {at} gmail *dot* com], and see this topic
spammers here!

DeadSnipe

Quote from: nneonneo on January 29, 2008, 07:47:17 PM@DeadSnipe: Huh? Try "javascript:prompt(document.cookie,document.cookie)" and see if that works.
Also, before you type that in, are you on the Proboards page?

Yes, i am on the main login page of my proboards forum with the admin/password field blank. I tried the prompt command you just mentioned to use and i popup prompt box comes up, but it is blank.

Universe_JDJ

#49
Quote from: nneonneo on January 29, 2008, 07:47:17 PM
@Universe_JDJ: Hmm, that's an interesting question.

Increase the 1 in
topicmap['%i/%s'%(topicid,board)]=i+1
and change 1 in
postid=1
(note that there are two spots for that last one)
and removing the TRUNCATE TABLE SQL statements (presumably, you are appending to a database?)

Yes, I am appending to a database. Thanks for that greatly, it worked. One last question, seeing that registration ID's on the source and destination forum differ would it be possible to have all imported posts show up as guest posts (this is probably going to be tricky)?

Unless, of course there's a way of mapping an old username ID to a new one (similar to how boards are done)...

nneonneo

@DeadSnipe: Have you logged in?

@Universe_JDJ: There's a way to map users. The alternative is just to let everyone's user ID be zero. Both involve changing this line:
memberslist[m]=i+1
To map users, change that to
if m not in memberslist: memberslist[m]=i+1
and to let them be zero (guests), just use
pass

To map users, just edit the memberslist variable, using their shortnames mapped to their SMF IDs:
memberslist={'guest hack':0} # the space ensures that "real" users will not have this ID
Importantly, please do not change the guest hack entry (it's a hack, and it should stay that way :P)

That should fix things up.

As a final afterthought: if you don't want to map ALL users (which could become tedious!) you can use "pass" on the memberslist[m]=i+1 line. Any users from Proboards who aren't mapped will be silently ignored and their posts made into guest posts.

P.S. Also remember that doing this will prevent the members from being converted (which may not be a bad thing in your case); particularly, posting statistics, etc. won't be updated.
Check out the AJAX Shoutbox (my one and only mod to date :P)
Do you like SMF? Are you using ProBoards, InvisionFree, ActiveBoards or some other web-hosted forum? I can help you convert to SMF (without having to purchase a DB conversion)...contact me [nneonneo {at} gmail *dot* com], and see this topic
spammers here!

DeadSnipe

#51
Ok, i got the javascript:document.cookie information and updated the settings.py [nofollow] with it.

I ran the member_posts_topics.py file and when it was going through the members, it was saying something about the date/time info was incorrect. Then it started converting everything. After it was done, it closed out and i wasnt able to see any of the errors it had. When i went to see my smf forum, it didnt seem like anything was transferred/converted... and now i can't log into my forum under admin :(

Jeez i think i screwed up bigtime lol.... is this reversible in any way? or anything i can do to fix it and re-run it?

Thanks!

Ps. How do i send you my settings.py [nofollow] file in a PM? I don't see an option for that

nneonneo

For logging in to the forum, check to see if a file "pm_passwords.txt" has been created and use that to log in -- it's in the format username|passnumber.

As for date/time info being wrong, have you changed your date time preferences? I'll post that here if you missed it.
In the Dates and Times section:
Time Format: am/pm (e.g. 11:11 pm)
Date Format: Dec 28th, 2004, 11:11pm
Month Format: December 28


If that still doesn't work, email me the settings.py and I'll help work something out.

Check out the AJAX Shoutbox (my one and only mod to date :P)
Do you like SMF? Are you using ProBoards, InvisionFree, ActiveBoards or some other web-hosted forum? I can help you convert to SMF (without having to purchase a DB conversion)...contact me [nneonneo {at} gmail *dot* com], and see this topic
spammers here!

DeadSnipe

#53
i found the pm_passwords.txt and saw all the members along with numbers sitting next to it, sorta like this:

botman|6693

I used the number next to admin| .... but it didnt work.

As for the dates and times, that is exactly what i have. I didn't touch anything there because it was the same info as in my profile preferences.

settings.py sent via email.

Also, when i checked my forum, NONE of the categories/posts were transferred. Everything says O on it.

nneonneo

Hmm. It looks like Proboards has updated something. Typically, this may cause the converter to malfunction (e.g. dates).

OK. New plan. Change your date format to 12/28/2004 at 11:11pm.
Then, change this block of code in the converter:
def parsetime(tm,fmt='%b %d, %Y, %I:%M%p'): # glorious time parser, returns the UNIX time-since-epoch-in-seconds thing ;)
    return mktime(
        strptime(
            tm.replace("Sept","Sep").
                           replace("<b>Today</b> at ",strftime('%b %d, %Y, ')).
                           replace("[b]Today[/b] at ",strftime('%b %d, %Y, ')).
                           replace("Yesterday at ",strftime('%b %d, %Y, ',localtime(time()-24*3600)))
            ,fmt)
        )

with
def parsetime(tm,fmt='%m/%d/%Y at %I:%M%p'): # glorious time parser, returns the UNIX time-since-epoch-in-seconds thing ;)
    return mktime(
        strptime(
            tm.replace("Sept","Sep").
                           replace("<b>Today</b> at ",strftime('%m/%d/%Y at ')).
                           replace("[b]Today[/b] at ",strftime('%m/%d/%Y at ')).
                           replace("Yesterday at ",strftime('%m/%d/%Y at ',localtime(time()-24*3600)))
            ,fmt)
        )


I am fairly certain this will resolve the issue. I'm sorry about the inconvenience.
Check out the AJAX Shoutbox (my one and only mod to date :P)
Do you like SMF? Are you using ProBoards, InvisionFree, ActiveBoards or some other web-hosted forum? I can help you convert to SMF (without having to purchase a DB conversion)...contact me [nneonneo {at} gmail *dot* com], and see this topic
spammers here!

DeadSnipe

#55
YES! You're a genious!..... Although, i have 151 topic and 1,299 posts on my proboards forum but only 107 topics and 545 posts were converted :(

Anyway to get all of them to come over to smf? or what i'm doing wrong?

Thanks,
- Dead

*UPDATE* Ok, my smf forums still say no posts/topic on all of my boards and stuff... and i still can't log in as admin using the password i found in the password.txt file :( Do i have to execute the pm_passwords.py file first in order to login as admin using that numbered password?

nneonneo

You did execute the SQL file(s) in the database, right?

Do NOT run pm_passwords.py until the conversion is done. It PMs EVERYONE on your forum of their new password (as an admin you can set the wait time to 0 in settings.py to speed that up *when you go to do it*)
Check out the AJAX Shoutbox (my one and only mod to date :P)
Do you like SMF? Are you using ProBoards, InvisionFree, ActiveBoards or some other web-hosted forum? I can help you convert to SMF (without having to purchase a DB conversion)...contact me [nneonneo {at} gmail *dot* com], and see this topic
spammers here!

DeadSnipe

I didn't run the sql batch files a second time....no.

I am double checking the settings.py [nofollow] file to make sure it is all right (hopefully) then i will run everything in order how they are explained in the instructions.txt file.

I'm almost burnt out on this lol  :(

Universe_JDJ

Quote from: nneonneo on January 29, 2008, 08:14:46 PM
@Universe_JDJ: There's a way to map users. The alternative is just to let everyone's user ID be zero. Both involve changing this line:
memberslist[m]=i+1
To map users, change that to
if m not in memberslist: memberslist[m]=i+1
and to let them be zero (guests), just use
pass

To map users, just edit the memberslist variable, using their shortnames mapped to their SMF IDs:
memberslist={'guest hack':0} # the space ensures that "real" users will not have this ID
Importantly, please do not change the guest hack entry (it's a hack, and it should stay that way :P)

That should fix things up.

As a final afterthought: if you don't want to map ALL users (which could become tedious!) you can use "pass" on the memberslist[m]=i+1 line. Any users from Proboards who aren't mapped will be silently ignored and their posts made into guest posts.

P.S. Also remember that doing this will prevent the members from being converted (which may not be a bad thing in your case); particularly, posting statistics, etc. won't be updated.

Thanks for all the help. Everything ended up working great.

nneonneo

Wow, tons of bugfixes inbound. Most of these bugs were exposed when I converted an extremely large board. I will probably end up fixing tons more before this is all over :P
Check out the AJAX Shoutbox (my one and only mod to date :P)
Do you like SMF? Are you using ProBoards, InvisionFree, ActiveBoards or some other web-hosted forum? I can help you convert to SMF (without having to purchase a DB conversion)...contact me [nneonneo {at} gmail *dot* com], and see this topic
spammers here!

Advertisement: