MyBB: Reasons Against a Database Import Feature

Ever since MyBB had a facility to create database backups, we have had questions on why there wasn’t a similar facility to import backups.  The following reasons were taken into account while designing this feature:

1. Security

Reason

If a user somehow managed to get into an administrative account with the correct permissions, they could potentially revert your forum to an earlier state, or run arbitrary SQL queries on your database.

The Alternative

The use of an externally-installed database administration application reduces the chances that a malicious user can perform these actions on your database through MyBB.

2. Focus

Reason

We are developing a bulletin board system. We are focused on bringing you the features that will help run your bulletin board. Although database backup and restore are important tools, they are not used on a day-to-day basis in your forum’s administration. The backup function has more frequent use than the restore anyway. Our development resources are limited and we do not have the capacity to develop a fully-featured database administration program into the bulletin board software.

The Alternative

Third-party database administration programs are specifically developed for the purpose of managing your database. Their features are more robust than what we can provide. Just like how we concentrate on discussion board features, their development teams concentrate on what their product is: database administration.

Weight

Reason

In order to keep the MyBB package a reasonable size, we have to be conscious of what features are implemented. It is a waste of both physical and human resources to have a large package (clunky to install and update) with a steep learning curve (difficulty of usage).

The Alternative

Dedicated database administration solutions have the ability to incorporate more useful administrative features because that is their focus.

Reliability

Reason

In the hypothetical case where an import facility is indeed incorporated into MyBB, the requirement of using it is a working version of MyBB. Let’s say you just upgraded to MyBB 1.4, but you do not like it. Your database backup is 30MB. You start restoring it via the MyBB 1.4 Admin CP, but the restore times out part way. Your database is now half MyBB 1.2.x and half MyBB 1.4.x and neither version will operate correctly. You will need to resort to a third-party database administration program anyway to complete the process of reverting. A doctor can’t heal himself if he is unconscious.

The Alternative

A third-party database administration program does not depend on anything you are operating on. Even if an operation times out, this does not affect the program, you will be able to use the same program to correct the problem.

I hope this sheds some light on the rationale behind not including a database import feature.

MyBB 1.2 Beta: Usergroup Admin Permissions

Although this feature may not be used by many, it is now possible to give usergroups permissions in the Admin CP (only if the usergroup has “Can Access Admin CP” permission).

MyBB 1.2 Beta: Admin Permissions

When you edit the permissions, the permissions listed are the same as the ones found in the existing individual user admin permissions.

How do these affect my admins, you ask? Well now let’s say you want your moderators to access the Admin CP to moderate posts and attachments, but you don’t want to set the individual yes/no permissions for all 20 of them. Now you can set the usergroup permissions to all ‘no’ except for the Moderate Posts/Threads/Attachments permission, and all the users in that usergroup will have those permissions.

Basically, if a user’s individual admin permissions are set, those will be used. If they are not set, then if the user’s usergroup has admin permission set, those will be used. In turn, if they are not set, then the user will use the default admin permissions.

Hopefully it’s not confusing for everyone.