Many improvements were made, and bugs were fixed.
  • Is JForum useful for you? Please consider helping this project.
 
 
 
 
 

PHPBB / PHPNuke to JForum migration

Migrating from a PHPBB or PHPNuke forum to JForum is quite straightforward. We provide a command line tool that reads all information from a source database - PHPBB or PHPNuke - and convert it to a JForum database.

JForum's Phpbb2JForum is able to import most of the tables, as shown in the table below. Please note that, while there are items marked as no, is doesn't mean that JForum don't have a relative table - It only means that the table's data will not be imported by the tool.

Table NameIs data Imported?Description
phpbb_auth_accessnoJForum uses a completely different security model from PHPBB.
phpbb_banlistYES
phpbb_categoriesYES
phpbb_confignoConfigurations in JForum are completely different from PHPBB
phpbb_confirmno
phpbb_disallowno
phpbb_forum_prunenoFeature not implemented yet
phpbb_forumsYES
phpbb_groupsYESGroups are migrated, but not group roles ('permissions)
phpbb_postsYES
phpbb_posts_textYES
phpbb_privmsgsYESAll private messages are imported
phpbb_privmsgs_textYES
phpbb_ranksYES
phpbb_search_resultsnoJForum uses Lucene for search
phpbb_search_wordlistnoSame as above
phpbb_search_wordmatchnoSame as above
phpbb_sessionsnoSession information is irrelevant
phpbb_smiliesYES
phpbb_themesnoJForum uses a different template engine
phpbb_themes_nameno
phpbb_topicsYES
phpbb_topics_watchYES
phpbb_user_groupYES
phpbb_usersYES
phpbb_vote_descYES
phpbb_vote_resultsYES
phpbb_vote_votersYES
phpbb_wordsnoJForum currently does not implement this feature

Permissions / Access rights

Phpbb2JForum does not import permissions / roles, so, after the importing process is finished, you'll need to manually setup access rights for each for the imported groups. The migration tool only setup Admin access for those users who also are Administrators in the PHPBB version.

Search - Indexing the database

Downloading the import tool

Phpbb2JForum is a command line tool, which means you won't have a nice and fancy window :). Also, you'll need to have Java 1.4.

It comes with the main JForum package, and it is located in the directory /tools/phpbb2jforum, where you will find two files: phpbb2jforum.bat and phpbb2jforum.sh. The first is to be used in a Windows environment, while the second will work for any Unix based system - Linux, BSD, Mac OS X etc...

The configuration file

Before you run the tool, it is necessary to setup some configurations, like database host and username, as well the table prefixes used in your current PHPBB installation. Open the file /tools/phpbb2jforum/resource/SystemGlobals.properties in any text editor, and prepare it according to the following table:

PropertyDefault valueDescription
database.jforum.urljdbc:mysql://localhost/jforum?user=root&password=rootThis is the connection string to where JForum tables are in - to where the data will be migrated
database.phpbbphpbbName of the PHPBB database. It must be located in the same MySQL server where JForum is (specified by the property database.jforum.url
phpbb.table.prefixphpbb_The prefix of the PHPBB tables. Most installations will have the default value. If you are going to migrate from a PHPNuke forum, it is probably that the prefix is nuke_bb

Those are the only three properties you need to set.

Location of the PHPBB PHPNuke database and access rights

In order to properly work, JForum and PHPBB / PHPNuke databases must be in the same MySQL server (not the same database, but same server). Also, the database user should be able to access both databases, as JForum will try to execute queries in either JForum and PHPBB / PHPNuke instances, using the form "SELECT <fields> FROM <phpbb_database.tablename>".

Create JForum database structure

The last step before running Phpbb2JForum is to make sure that JForum's tables are created. You can do this by importing the file WEB-INF/config/database/mysql/mysql_db_struct.sql. This script will create all tables for you.

Running

MySQL table type

If you are using MySQL, it is a good idea to set the table type to MyISAM instead of InnoDB before running the migration tool. This will make the SQL statements run much faster. After you finish with the data importing, you can set it back to InnoDB.

Now, open the CMD Prompt (or a shell, if running some kind of Unix like machine) and go to the directory tools/phpbb2jforum. There are two scripts, one for Windowss - phpbb2jforum.bat - and another for Unix boxes - phpbb2jforum.sh.

As argument, you are required to inform the root directory of JForum (where you unzipped it). Example:

Windows

cd c:\JForum-2.1.8\tools\phpbb2jforum
phpbb2jforum.bat c:\JForum-2.1.8

Linux / Mac OS X / *Nix

cd /home/dev/JForum-2.1.8/tools/phpbb2jforum
sh phpbb2jforum.sh /home/dev/JForum-2.1.8

Press <ENTER> to start, and wait until the program finishes.

Permissions and first run

As stated before, Phpbb2JForum does not migrate PHPBB roles. At most, it will try to setup Admin Access for all those users who are considered Admins in PHPBB as well (User Level equals to "1"), which is enough to access the Admin Panel and setup the board according to your needs.

If, for any reason, your PHPBB administrator user cannot see JForum's Admin Panel after the migration, please check http://www.jforum.net/posts/list/399.page . In this link is shown how to set the administrator's role, which you can use as start to access the Admin Panel.