XFI: vBulletin - Add an option to not import forum permissions


Well-known member
Due to the fact the the permission systems of vBulletin and XenForo are completely different, forum permissions imported from vBulletin are usually a giant mess - the importer generates way too many permission entries.

Cleaning up this mess and redesigning permissions to fit with XenForo permission system takes a lot of time.

I'd therefore appreciate if we had the option to simply not import forum permissions when importing from vBulletin (eg. keep them all as Inherit), this would make the process a lot easier and faster.
Last edited:
Upvote 8
While it usually imports more permission sets than is needed, I usually find they are 99% usable, maybe needing a minor tweak if it has locked something down a little too much.

Do you maybe have some example data of where its got it totally wrong so it can be looked into?
I liked this because I would agree with the definition of it being a "mess", though that doesn't mean wrong.

In vBulletin, IIRC there's no such thing as "inherit". If you customise a forum's permissions for a given user group, it saves the entire thing as yes/no flags. It would not be feasible for the importer to resolve the full permission inheritance for each individual user group. Therefore, if a permission is set to "Yes" in vBulletin it's imported as "Yes" in XF2, even though "Inherit" would suffice.

This is especially true if a vBulletin sub-forum is restricted to a few user groups.

Let's say you have a staff forum, and maybe your user group structure isn't perfect in vB (you didn't use "Registered" as the base, like XF prefers you do), so you have custom permission sets for every user group. The only permission you customised was "can view forum", but to the importer, it still looks like a completely custom permission set. Thus, it dutifully imports it all, as it should.

You now have a forum with potentially a dozen or more user groups that have more "yes" permissions set than what's needed, as in XF you only needed to set Registered to "No" and leave everyone else as "Inherit", then set your 2-3 staff groups as "Yes".

To re-iterate; I am absolutely not saying that it's wrong of the importer to import it this way. The importer does exactly what you tell it to do, to the best of its abilities.

What I am saying is that if we either had an option to skip importing permissions, or there was an easy way to reset all permissions, then those of us who find it would take less time to re-configure permissions manually could have that option.
Do you maybe have some example data of where its got it totally wrong so it can be looked into?
A tyypical example are top level staff categories.

In vBulletin admins usually set every permission for every group (except staff groups) to No, so you will end up with dozens of useless permission entries as in XenForo you would just set the node private and only give Administrating and Moderating Can View permission.

As DrangonByte Tech already explained, the imported permissions are not wrong, they do work as expected in almost all cases - they are just waay too complicated and thus error-prone and not maintenance friendly.

Therefore I usually discard all permissions and redo them from scratch to keep permissions as lean as possible.
Last edited:
I second this, for SMF - Xenforo importer as well. I'm struggling with this now.

SMF permissions are pretty screwy anyway in SMF, and after the import I basically have a giant mess to clean up. It would be an order of magnitude easier to ignore all permissions during import then just add the rights I need using Xenforo permissions afterwards.
Just an update - having completed the migration from SMF to XF more than a year ago, the Xenforo permissions were totally unusable after import - some nodes were visible to everyone, and the admin user couldn't see half the open nodes. Initially I thought I'd lost half the forum...

I simply used SQL commands to delete all board specific permissions from Xenforo DB (syntax was given by someone much better at SQL than me) and then I recreated the node permissions I needed. It was so much easier than trying to fix up what the importer did.
Top Bottom