转换论坛:webwiz 7.9 -> phpBB3

webwiz是一个基于ASP的论坛,由于此官方论坛已经停止维护,官方网站很长时间无法登录了,由于ASP的先天缺陷,而且正好PHPBB3也已经到RC1了,就决定把这个论坛进行转换。

1、实际情况
我们使用的WEBWIZ 7.9使用的是ACCESS数据库,并且在使用过程中有一定的修改,但我不清楚有哪些修改,因此,你的转换若有问题,也请反馈你的实际情况。
头像有三种,一种是系统提供的,在avatars目录下,另一种是用户上传的头像,放在uploads目录下,还有一种是HTTP连接,就是放在另外网站上的头像。
WEBWIZ的附件是直接存放在uploads目录下,但数据库里没有任何相关信息。
WEBWIZ的密码是采用了HASHEncode+Salt的加密算法,和SHA1类似,但不同。

2、转换程序
phpBB3只提供了从phpbb2的升级程序,在phpbb的官方论坛上搜索到了一个从webwiz到phpbb2的转换程序,但其转换的内容不完整,因此就决定自己写一个。而且PHPBB3现在已经采用了UTF8编码,要求数据库也要采用UTF8编码,MYSQL 4.1之后的程序也提供了UTF8编码。
首先需要转换ACCESS数据库到MYSQL,我前面有介绍过如何进行转换
我是使用了knoda进行数据转换的,在ubuntu系统下,注意,转换好后,数据库是默认为UTF8编码的。
转换完后,导出mysql数据。

mysqldump --default-character-set=utf8 -uroot yourdb > yourdb.sql

要修改此SQL文件,使之成为UTF8编码。替换所有的utf8为utf8,并在文件的开始添加:

SET NAMES utf8;
SET CHARACTER_SET_CLIENT=utf8;
SET CHARACTER_SET_RESULTS=utf8;

然后转移到测试服务器上,并进行相应的导入工作。

在http://www.phpbb.com下载最新的phpbb3,根据安装提示,安装一个默认的空白的PHPBB3系统,假如你的数据库是phpbb。
并把webwiz论坛的所有文件拷贝到同一个服务器上,二者目录可以在一个层次。
如:

/var/www/phpbb
/var/www/webwiz

然后把我提供的转换程序拷贝到phpbb/install/convertors目录下,即convert_webwiz.php和functions_webwiz.php文件。
同时修改phpbb/includes/auth/auth_db.php文件,若你想让你的用户重新申请密码的话,也可以不修改这个文件。

// Check password ...
// added for webwiz conversion
// HashEncode is webwiz function.
global $phpbb_root_path, $phpEx;
require($phpbb_root_path . 'includes/functions-webwiz-hash.' . $phpEx);
if (!$row['user_pass_convert'] && (md5($password) == $row['user_password']
or HashEncode($password.$row['salt'])==$row['user_password']))
{
if (md5($password)!=$row['user_password'])
{
// Unconverted password
$sql = 'UPDATE ' . USERS_TABLE . '
SET user_password = "'.md5($password).'"
WHERE user_id = ' . $row['user_id'];
$db->sql_query($sql);
}

if ($row['user_login_attempts'] != 0)

这个前面的$sql语句中要添加一个字段:salt。

若修改了此文件,还要拷贝functions-webwiz-hash.php到phpbb/includes/目录下。
然后就可以在PHPBB的安装界面那儿进行系统的转换了。

下载:webwiz 7.9 converter

phpbb 3.0 rc1发布

终于发布RC1了,而且开始提供升级支持了,也开始接受语言包和MOD了。

Hello,

We are very pleased to announce the availability of the phpBB3 RC1 package. This is the first release candidate which is meant to become the Gold release if no more bugs or problems arise. Of course there may be more than one release candidate.

With this release we will give full support, allow uploading language packs as well as modifications and styles. Please note that during the first few weeks support questions may not be answered as fast as with the 2.0.x line. We also only give support to those having a clean RC1 installation, previous conversions or updates will not be supported. We encourage only those running the release candidate wanting to test out the new version, it is still recommended to wait for the full release; after all this is a release candidate.

To re-iterate the support guidelines, we won’t support the following installation types:

* Updates from phpBB3 Beta versions to phpBB3 RC1 and higher
* Conversions from phpBB 2.0.x to phpBB3 Beta versions
* phpBB3 Beta installations

We give support for the following installation types:

* Updates from phpBB3 RC1 to any higher version (not relevant at the moment)
* Conversions from phpBB 2.0.x to phpBB3 RC1 and higher
* New installations of phpBB3 RC1 and higher

For all those not needing support and want to take the risks… the database update file is present, though we were not able to provide a full update path due to the style and database changes. If you are running on mysql 4.0.3 or less you should completely re-install, because the complete schema changed for these versions.

A short explanation of how to do a conversion is included within the provided INSTALL.html file, please be sure to read it.

Conversions from 2.0.x to phpBB3 RC1 may be problematic, depending on your setup and the amount of MODs you installed. If you want to be on the safe side we suggest still waiting for later releases before you fully convert your 2.0.x installation.

phpbb 3.0 beta 3发布

经过漫长的等待,终于要接近发布RC1版了。
这个beta3也有一个重大的变化:终于要全面支持UTF8了,这对中文来说真是个好消息。
不过感觉目前的phpbb3好像落后vb3很多,vb33已经全面支持ajax等功能,而phpbb要到3.2版本才会加入。

vb & phpbb

因为论坛要增加一个新版面,但是有问题,后来联系服务商才处理好。

在处理中,自己在本地机器上又搭起了apache2/php5/mysql5,下载了vb3.5,进行了简单的测试,感觉不错,好像vb要开始支持utf8了。

但从原来的gb2312转换到utf8好像还有一定的麻烦:
1、备份sql文件,好像有几个表要单独处理,如附件、头像等。
2、编码转换,iconv

不过,还是期待phpbb 3.0,vb的版本就不升级了。(不知道年底能否出来正式版,呵呵)

PHPBB 3尝试

一直想在PHPBB3的基础作二次开发成为CMS系统。
但最近几次的尝试都失败了。
PHPBB3+MYSQL倒没有什么问题,但PHPBB3+POSTGRESQL一直都有问题。
今天又用snapshot尝试了一下,发现还有有很大的问题。
只好在往后放一放了。

几个错误都还没有修改,在这儿记录一下:
1、includes/session.php, 607行,把goroup by 改为order by
2、viewtopics.php, 184行,t和f两个表声明的次序反了。
3、includes/functions_posting.php, 62行,group by 多余了。
还是有错误(全文搜索),没有再检查下去了,等待发布beta版本。

连接邮件列表和论坛:mail2forum

一直以来,想把邮件列表和论坛能有机结合起来。然后看到http://www.ubuntuforums.org/采用了VBB,就结合了邮件列表的功能,但不知道结合的程度如何。
无意中,在mapserver的邮件列表中讨论采用邮件列表还是采用论坛形式进行技术讨论中,发现有人提出可以采用二者的结合形式:mail2forum, http://www.mail2forum.com,可以和phpbb论坛有机的结合起来。
在自己的机器上,进行了初步的尝试,安装了PHPBB和M2F插件,发现其还不能有机的和mailman(我所使用的邮件列表)结合起来。

或许,可以考虑,采用一种变通的办法来处理:在邮件列表中加入一论坛专用的邮件帐号,专门用于邮件列表的in,out则直接发送给该邮件列表,但要注意其不能接受自己的邮件,否则会形成死循环。有待进一步测试。

access到mysql的转换问题

因为想把WEBWIZ论坛转换为PHPBB论坛,需要把ACCESS数据库转换到MYSQL数据库,从网上找了一些转换软件,也都可以转换。
但存在一些问题:
1、中文转换不完全(部分中文丢失,问题非常严重)
2、转换过来的SQL语句不完全符合MYSQL的SQL语法。

因此,放弃此方案。或许可以自己写转换脚本,使用PEAR直接读ACCESS库,估计没有这个问题。

PHPBB提供的转换方案:http://www.phpbb.com/phpBB/viewtopic.php?t=233799 (试验了其他的转换软件)