hello,
I'm fairly new to PunBB, been playing with it for a few days, and I am totally taken by it's awesome simplicity and elegance
I too am planning to move a forum from miniBB to punBB - where can I get the conversion script? the server listed above appears to be down.
I did start planning my own converter already, so I'll post below what I discovered so far (the relationships between the tables in miniBB and punBB) in case that's useful - maybe I can help to complete the script...
the following may look broken if the lines break up - copy/paste into a text editor with NO wordwrap!
PunBB MiniBB
========================================================== ==========================================================
punbb_forums minibb_forums
.id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT `forum_id` int(10) NOT NULL auto_increment
.forum_name VARCHAR(80) NOT NULL DEFAULT 'New forum' `forum_name` varchar(150) NOT NULL default ''
.forum_desc TEXT DEFAULT NULL `forum_desc` text NOT NULL
.moderators TEXT DEFAULT NULL NULL
.num_topics MEDIUMINT(8) UNSIGNED NOT NULL DEFAULT '0' SELECT Count(topic_id) AS num_topics FROM minibb_topics WHERE forum_id = $forum_id
.num_posts MEDIUMINT(8) UNSIGNED NOT NULL DEFAULT '0' SELECT Count(post_id) AS num_posts FROM minibb_posts WHERE forum_id = $forum_id
.last_post INT(10) UNSIGNED DEFAULT NULL SELECT post_time FROM minibb_posts WHERE forum_id = $forum_id ORDER BY post_time DESC LIMIT 1
.last_post_id INT(10) UNSIGNED DEFAULT NULL SELECT post_id FROM minibb_posts WHERE forum_id = $forum_id ORDER BY post_time DESC LIMIT 1
.last_poster VARCHAR(200) DEFAULT NULL SELECT poster_name FROM minibb_posts WHERE forum_id = $forum_id ORDER BY post_time DESC LIMIT 1
.closed TINYINT(1) NOT NULL DEFAULT '0' 0
.admmod_only TINYINT(1) NOT NULL DEFAULT '0' 0
.disp_position INT(10) NOT NULL DEFAULT '0' `forum_order` int(10) NOT NULL default '0'
.cat_id INT(10) UNSIGNED NOT NULL DEFAULT '0' 1
`forum_icon` varchar(255) NOT NULL default 'default.gif'
---------------------------------------------------------- ----------------------------------------
punbb_topics minibb_topics
.id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT `topic_id` int(10) NOT NULL auto_increment
.poster VARCHAR(200) NOT NULL DEFAULT '' SELECT username FROM minibb_users WHERE user_id = $topic_poster // if no records or username is NULL then set poster = 'Guest'
.subject VARCHAR(255) NOT NULL DEFAULT '' `topic_title` varchar(100) NOT NULL default ''
.posted INT(10) UNSIGNED NOT NULL DEFAULT '0' `topic_time` datetime NOT NULL default '0000-00-00 00:00:00'
.last_post INT(10) UNSIGNED NOT NULL DEFAULT '0' SELECT post_time FROM minibb_posts WHERE topic_id = $topic_id ORDER BY post_time DESC LIMIT 1
.last_post_id INT(10) UNSIGNED NOT NULL DEFAULT '0' `topic_last_post_id` int(10) NOT NULL default '1'
.last_poster VARCHAR(200) DEFAULT NULL SELECT poster_id FROM minibb_posts WHERE topic_id = $topic_id ORDER BY post_time DESC LIMIT 1
.num_views MEDIUMINT(8) UNSIGNED NOT NULL DEFAULT '0' `topic_views` int(10) NOT NULL default '0'
.num_replies MEDIUMINT(8) UNSIGNED NOT NULL DEFAULT '0' SELECT Count(post_id) AS num_replies FROM minibb_posts WHERE topic_id = $topic_id
.closed TINYINT(1) NOT NULL DEFAULT '0' (`topic_status` && 1) == 0 ? 1 : 0
.sticky TINYINT(1) NOT NULL DEFAULT '0' (`topic_status` && 8) == 8 ? 1 : 0
.moved_to INT(10) UNSIGNED DEFAULT NULL NULL
.forum_id INT(10) UNSIGNED NOT NULL DEFAULT '0' `forum_id` int(10) NOT NULL default '1'
`topic_poster` int(10) NOT NULL default '0'
---------------------------------------------------------- ----------------------------------------
punbb_posts minibb_posts
.id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT `post_id` int(11) NOT NULL auto_increment
.poster VARCHAR(200) NOT NULL DEFAULT '' `poster_name` varchar(40) NOT NULL default 'Anonymous' // if 'Anonymous' make it 'Guest'
.poster_id INT(10) UNSIGNED NOT NULL DEFAULT '1' `poster_id` int(10) NOT NULL default '0'
.poster_ip VARCHAR(15) DEFAULT NULL `poster_ip` varchar(15) NOT NULL default ''
.poster_email VARCHAR(50) DEFAULT NULL SELECT user_email FROM minibb_users WHERE user_id = $poster_id
.message TEXT NOT NULL DEFAULT '' `post_text` text NOT NULL // detect tags and replace with regular smilies: <img src="http://www.synapse-audio.com/forum/img/emos/grin.gif" border="0" align="" alt="">
.smilies TINYINT(1) NOT NULL DEFAULT '1' 1
.posted INT(10) UNSIGNED NOT NULL DEFAULT '0' `post_time` datetime NOT NULL default '0000-00-00 00:00:00'
.edited INT(10) UNSIGNED DEFAULT NULL NULL
.edited_by VARCHAR(200) DEFAULT NULL NULL
.topic_id INT(10) UNSIGNED NOT NULL DEFAULT '0' `topic_id` int(10) NOT NULL default '1'
`forum_id` int(10) NOT NULL default '1'
`post_status` tinyint(1) NOT NULL default '0'
---------------------------------------------------------- ----------------------------------------
punbb_subscriptions minibb_send_mails
.user_id INT(10) UNSIGNED NOT NULL DEFAULT '0' `user_id` int(10) NOT NULL default '1'
.topic_id INT(10) UNSIGNED NOT NULL DEFAULT '0' `topic_id` int(10) NOT NULL default '1'
`id` int(11) NOT NULL auto_increment
---------------------------------------------------------- ----------------------------------------
punbb_users minibb_users
.id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT `user_id` int(10) NOT NULL auto_increment
.username VARCHAR(200) NOT NULL DEFAULT '' `username` varchar(40) NOT NULL default ''
.password VARCHAR(40) NOT NULL DEFAULT '' `user_password` varchar(32) NOT NULL default ''
.email VARCHAR(50) NOT NULL DEFAULT '' `user_email` varchar(50) NOT NULL default ''
.title VARCHAR(50) DEFAULT NULL `user_occ` varchar(100) NOT NULL default ''
.realname VARCHAR(40) DEFAULT NULL NULL
.url VARCHAR(100) DEFAULT NULL `user_website` varchar(100) NOT NULL default ''
.icq VARCHAR(12) DEFAULT NULL `user_icq` varchar(15) NOT NULL default ''
.msn VARCHAR(50) DEFAULT NULL NULL
.aim VARCHAR(20) DEFAULT NULL NULL
.yahoo VARCHAR(20) DEFAULT NULL NULL
.location VARCHAR(30) DEFAULT NULL `user_from` varchar(100) NOT NULL default '' // crop to 30 chars
.use_avatar TINYINT(1) NOT NULL DEFAULT '0' 0
.signature TEXT DEFAULT NULL NULL
.disp_topics TINYINT(3) UNSIGNED DEFAULT NULL NULL
.disp_posts TINYINT(3) UNSIGNED DEFAULT NULL NULL
.email_setting TINYINT(1) NOT NULL DEFAULT '1' `user_viewemail` tinyint(1) NOT NULL default '0'
.save_pass TINYINT(1) NOT NULL DEFAULT '1' 1
.notify_with_post TINYINT(1) NOT NULL DEFAULT '0' 0
.smilies TINYINT(1) NOT NULL DEFAULT '1' 1
.show_img TINYINT(1) NOT NULL DEFAULT '1' 1
.show_avatars TINYINT(1) NOT NULL DEFAULT '1' 0
.show_sig TINYINT(1) NOT NULL DEFAULT '1' 1
.link_to_new_win TINYINT(1) NOT NULL DEFAULT '1' 1
.timezone TINYINT(2) NOT NULL DEFAULT '0' 0
.style VARCHAR(25) NOT NULL DEFAULT 'Oxygen' 'Synapse'
.num_posts INT(10) UNSIGNED NOT NULL DEFAULT '0' SELECT Count(post_id) AS num_posts FROM minibb_posts WHERE poster_id = $user_id
.status TINYINT(1) NOT NULL DEFAULT '-1' 0
.last_post INT(10) UNSIGNED DEFAULT NULL SELECT post_time FROM minibb_posts WHERE poster_id = $user_id ORDER BY post_time DESC LIMIT 1
.registered INT(10) UNSIGNED NOT NULL DEFAULT '0' `user_regdate` datetime NOT NULL default '0000-00-00 00:00:00'
.last_visit INT(10) UNSIGNED NOT NULL DEFAULT '0' `user_regdate` datetime NOT NULL default '0000-00-00 00:00:00'
.last_action INT(10) UNSIGNED NOT NULL DEFAULT '0' 0
.admin_note VARCHAR(30) DEFAULT NULL NULL
.activate_string VARCHAR(50) DEFAULT NULL NULL
.activate_key VARCHAR(8) DEFAULT NULL NULL
`user_interest` varchar(150) NOT NULL default ''
`user_newpwdkey` varchar(32) NOT NULL default ''
`user_newpasswd` varchar(32) NOT NULL default ''
`user_sorttopics` tinyint(1) NOT NULL default '1'
---------------------------------------------------------- ----------------------------------------
NOTES
I need to figure out how to convert from the datetime type used in miniBB, to the
integer timestamp (standard unix timestamp??) used in punBB.
two features I'd like to see added to punBB:
punbb_forums.forumicon really needs to be added - it's a feature that doesn't cost any processing time, and it's something useful that almost every forum has. My pretty icons that I made for miniBB would be lost otherwise.
punbb_users.interests really should be added too - it's a useful feature that most users really appreciate, and it's a great opportunity for users to say something about themselves and get to know each other. Maybe this could be simply be called "profile text", have it support BBcode, and present it on the user's profile form as the place where s/he can put whatever information they'd like to share, such as their interests - when converting from miniBB, we could add "interests:" in boldface in this field before copying user_interest there.
if I make such enhancements for punBB, is there a chance these features could be integrated into the "official" punBB by the developers? having to install mods or addons for such minor feature would be a drag for most users, I think...