Wanting to switch from SMF to XF

I run a large web community site (300k+ registered members) that has SMF 1.x fully integrated into it, found out about XF the other day, and fell in love.

However, I'm concerned about the conversion. I know there isn't a converter for SMF, but I have vBulletin and Impex from a project I did awhile back, so I can import that way if necessary. The only problem with that being that a fellow developer I work with has an XF license and he let me run a test import on his development environment while we dug through code to figure out whether the software would work for my own site integration needs and it didn't go so well.

The SMF->VB conversion worked well enough, but the member import from VB->XF is taking forever. 100 people every 11-30 seconds, and after a dozen or so cycles it completely times out the server (of which is a dedicated web server) and has to be manually resumed. Is this normal? Is it just his dev environment version? Or am I just using the wrong tools? Can this forum software even handle that many members? SMF wasn't great about it... in fact, I had to rip out the guts of a few major processes (like birthday/calendar/etc. pseudo-crons and whatnot) because they would bring us down in a blink since they had to run on every member.

Is this something I should consider a showstopper, or are there other (more reliable) methods of conversion? I can't really rely on a one-time paid service to do it since I need to be able to convert multiple times while I develop the new site version.


XenForo developer
Staff member
There was actually a bug pre-1.0.2 that made the user import potentially very slow. In my opinion, it's actually a MySQL bug, but 1.0.2's importer has a workaround for it, so I recommend you try that.
Ah, fantastic! I'll see if he'll update or install fresh so we can test (not sure what version his is at right now). Thanks for the speedy reply!


Well-known member
Just as a small piece of advise - you may want to prune any inactive accounts that have no posts, last used x years ago. Also prune accounts that are not activated. This should drop the number of registered users a fair bit for you without doing any damage to your real member base :).
I've been considering that. Been weighing the pros and cons, but I at least plan to run some scripts to get general numbers on people that are totally inactive (and never have been, even on the rest of the site). I can then tweak that to ignore mundane stuff that really shouldn't be considered being an "active, contributing member". While I may be proud of a big number of members, I'd rather have my site not be so sluggish.
Oddly enough, we only have about 200k posts. We use SMF as our membership system, and the vast majority of people sign up to use the tools and whatnot we supply on the rest of the site, not for the forums. Part of the reason I want to go to XF is to encourage more forum activity.

So really what we are forum-data-wise is a crapload of accounts, some that have contributions on the non-forum parts of the site (and should therefore remain on the site regardless of inactivity), and some that never contributed anything and haven't been on the site in a long time. It's the latter that I plan to get counts on. It could very well be quite significant since the site has been around for 5 years and hasn't been pruned even once.

Well, the new release's import worked great (weird timing on it coming out!). Took awhile due to the sheer amount of people and posts, but it was MUCH faster and without any crashes or server overloading. There's an issue with the SMF->VB conversion that I didn't notice though, concerning passwords not being transferred, so I'll have to figure that out before I make the plunge. Can't wait to start using XF!


Active member
There's an issue with the SMF->VB conversion that I didn't notice though, concerning passwords not being transferred, so I'll have to figure that out before I make the plunge.
A think you'll have to ask users to reset their passwords in order to be able to login.


XenForo moderator
Staff member
Passwords aren't preserved during the SMF to vB conversion unfortunately.
I had the same issue when I moved from phpBB.

All you can do is ask your members to request a new password using the link available.
That's problematic because we had to turn off the email verification for account creation due to it sending way too many emails out awhile back and flagging us as spam. Not to mention the constant barrage of issues with people not receiving the email and therefore adding to the heaps of inactive accounts.

But that was during our peak of new memberships. Nowadays I'd actually prefer to have email verification, so it's only the current members that are a problem.

If there is no way to convert the passwords, I guess I could still convert, keep the old SMF username and password info in their old tables (but drop everything else), then prompt a user that fails logging in to "login" with their SMF info if they had an account, which will let them change their email on XF and therefore properly request a password reset. Toss some failed attempt security in there and I think it'd work without being too terribly hackish (delusions, I know).

Bonus: This would also allow us to get valid emails for all those accounts of veteran members that just happened to use a junk/abandoned email to create the account.

Guess all I really need to do for this is find the SMF password hashing processes to simulate a login. May be able to just Google it and find a nice organized snippet for it. *crossfingers*

Saw your post after I replied, Jake. That linked post was interesting, but I think I'd rather have the bonus of valid emails than trying to fiddle with vBulletin's code (which I'm not very familiar with). It did supply me with the SMF password validation info I needed
sha1(strtolower(username) . password)
which is awesome, thanks!
So from what I've gathered I need to run
UPDATE xf_user_privacy
SET allow_send_personal_conversation = 'everyone', allow_post_profile = 'everyone', allow_view_identities = 'everyone'
after I do my VB->XF conversion step to make sure that preference isn't all screwy due to the SMF->VB process, correct?
I guess what I'm really wondering is if it is possible to edit the skin and utilize site-wide permissions and calls to the alert system in particular to make it look like our current site at http://wow-v.com. We heavily edited SMF to get to this point, but a lot of that was ripping out forum stuff. The default layout and look of XF is pretty much perfect for my needs, I just need to be able to skin the header and footer to look the same and get the alert system attached to the site-wide "member bar" at the top of the screen. We already do something similar with the PM system and a custom subscribe/watch/follow feature to notify of new content, but it's not as flashy or well organized.

What we NEED to be able to do is:

- Utilize session info across the site for permissions, user-specific content, etc. (already figured this one out... very easy!)
- Access the alert and profile/etc. menu dropdowns across the entire site (integrated into our current member bar or something similar)
- Skin the forums appropriately to match the main site, primarily regarding the header and footer (general css of the forum layout isn't a concern)

What we WANT to be able to do is:

- Create custom alerts that are triggered by and link to content that is submitted on the other areas of the site (like when someone shares an item on our site and I am "watching" them... kinda like a mix between Facebook and DeviantArt's systems)
- Access all the various image scaling/zooming, mini-profile/etc. pop-ups, etc. so that we can make a uniform look for everything else we have on the site. We currently have similar styling and behavior for a lot of stuff on the site, but it isn't nearly as nice.
- Replace our current non-forum comment system with a feed from a thread that was automatically created for that particular item. In doing so, also implement the reply system to non-forum pages so that commenting can be done without leaving the page. This also includes the "like", "edit", etc. functions.

Obviously this type of thing isn't just cut and dry in terms of how to do it, and I'll have to do a lot of custom work to get it going, but I'm just wondering if the software is even meant to be handled this way. I don't want to have it be super hackish just to duct tape a solution together. If the forum is coded in a way that is purposely meant to not allow such edits I'll have to consider a different way to do everything.

Jake Bunce

XenForo moderator
Staff member
I like using page nodes for this kind of integration. See my post in this recent thread:


Page nodes are part of the forum so you automatically get access to the login and permission system, style, etc. And you can insert your own content into the page.

It is possible to integrate the other direction but that requires more effort to utilize elements of the forum on an external page. Whereas page nodes are already part of the forum.
@Jake: The page nodes themselves are unfortunately too limited for what we would be using them for. The site is a collection of tools we made, as well as a place to share creations from said tools so that people can vote, download, comment, etc. Because of that, the page nodes probably aren't the best answer.

Fortunately getting the permission info and whatnot outside of the forums was the first thing I tested since it's absolutely necessary since the site's primary features are member only, and it worked perfectly!

It's all about the styling at this point. If I can get my header and footer in there, everything else is secondary and can likely be figured out eventually (but isn't a necessity in me going forward with the transition to XF for the initial release). I'm confident it's possible, I just have to be more familiar with the styling system.

Regardless, I have to use this forum software... it's too awesome not to. So even if I can't figure out a way to make it work for this site, I'm going to go through my other projects (or make a new one) just so I can have the sleekness that is XF.