New MyBB Merge System

Well, it’s been a while since I’ve posted here. I have been preoccupied with school and other activities so I haven’t had as much time here. However, I’ve found a few moments to show off the new UI changes to the MyBB Merge System that have been in development for the past several months.

The main greeting page:

mybb-merge-system-welcome This page is largely the same in previous releases, but the version number is now shown always in the header so users can more easily provide the version number and make sure they are running an updated version.

The requirements check page:

mybb-merge-system-requirements-check This page is brand new. It allows us to make sure the user is running the latest version and that the /convert/logs/ directory is writable so that if there are issues later on, they can be resolved more easily by providing debug logs. The Merge System won’t allow you to continue until you are running the latest version and the logs directory is writable.

The testing information page:

mybb-merge-system-welcome-testing-information This page is also brand new. It is there to describe to the user how they should report problems.

The board selection page:

mybb-merge-system-welcome-board-selection This page is largely the same, except you’ll notice that support for a couple more versions are available for some supported forums.

The module selection page:

mybb-merge-system-module-selection Again, you will notice it is largely the same. However a few modules are missing. We have removed support for Avatars a few other ones which weren’t standardized among the board’s. Why did we remove them? They were simply too high-maintenance, didn’t work very well for many people, and didn’t seem extremely essential to converting a forum over.

The database configuration page:

mybb-merge-system-database-configuration It is essentially the same as last time, though it has been tweaked a bit and a couple of annoying bugs were fixed with it.

The database configuration page (2):

mybb-merge-system-database-configuration-running This page is run right after you enter in the database configuration details. This is a completely new page. Before, you would just be sitting and waiting for a long time wondering what was going on behind the scenes. Now it informs you with this new page. It checks the database details, and shows a progress bar describing what is going on at that moment. As you can see it was adding an import_uid field to my trunk_posts table.

The options configuration page:

mybb-merge-system-options-configuration This page has been completely redesigned from the old boring plain version that you’ve seen in old versions of the Merge System. It sports a count of how many it will import, and provide you with a nice clean interface for how many it should import per page and whether or not it should auto-redirect. The new default for “import per page” is 1000, except for attachments which is 20 since those take considerably longer to import.

The actual in-process import page:

mybb-merge-system-posts This page has again been completely redesigned. Old versions sported a long list of “Importing uid #123 Importing uid #124 Importing uid #125 Importing uid #126” Now it is a simple progress bar with what exactly it is importing below it. Once the posts page is run, a counters rebuild page is run.

The rebuilding counters page:

mybb-merge-system-rebuilding-counters This page rebuilds the counters because data such as the amount of posts, threads, users, etc are notorious for falling out of sync through various bugs in any forum software. So as such, the Merge System simply does a clean fresh recount of all of the counters. This will make sure that the counters are correct and in-sync.

The cleanup page:

mybb-merge-system-final-step-cleanup This page is completely new. In previous versions when you pressed the “Cleanup” button or if the Merge System had completed importing all the data in all of the modules, you would be left hanging with a blank page for a while as the Merge System ran some commands to “cleanup”. This now sports a new page with a nice progress bar and an indicator telling you exactly what is going on. In this screenshot the import_pmid column is being removed from the trunk_privatemessages table.

The completion page:

This page is the same as all the other previous versions, however, the reports generated are improved.

The reports generated page:

This is a sample HTML report. You will notice that the “Total Query Time” is much better formatted and there is a new “Errors” part to the report. The “Errors” section is mainly used for any errors that pop-up during attachment conversion that are unexpected and couldn’t be handled properly. This gives you a chance to correct those errors manually.

You will notice that the Merge System now uses nicer formatted numbers (comma separated) as a visual nicety and many other tweaks and improvements such as much better attachment handling. The Merge System will now check that it will be able to import attachments properly and if not, it will tell you as such and give you a chance to correct the issues so the Merge System can properly continue.

This blog post only showcases the new UI of the Merge System. What you don’t see is the completely rewritten framework and back-end to the Merge System. It now sports a much more uniform, OOP architecture that minimizes code repetition, improves consistency, improves performance, debugging capabilities, simplifies previously complex code, introduces unit testing abilities for even greater stability, and cleans up old, outdated code overall.

I hope you have enjoyed this preview to the new MyBB Merge System. It is still up in the air whether this will be a beta release, RC release or a final release and there is currently no exact release date planned. We are currently in the testing phases of the new Merge System and we hope we can box it up and send it out soon.