实在受不了Community Server的弱智垃圾评论处理手段,因为它不开源,自己修改也很麻烦,所以决定迁移到Word Press。由于hanlei.name原来用的数据库服务器只对内网开放,故WP提供的直接迁移手段用不了。折腾半天后,终于找到近乎完美的解决方案:
1、用Keyvan Nayyeri编写的Community Server 2.1 BlogML Converter,格式导出CommunityServer的数据(BlogML格式)。过程很简单,按压缩包中的文档指示,把文件传到CS相应目录下,到后台访问SyndicationOptions.aspx(“RSS设置”),在BlogML那个位置点“Export”,就会在新窗口打开导出后的XML文档。
2、用Aaron Lerch编写的WordPress BlogML Import工具在WP后台导入BlogML数据。Wayne John修改了这个工具,修正了一些小问题。Wayne John版本在这里下载。
3、实际上Wayne John的版本也有问题,WP 2.7以上的都支持不好,而我的版本是2.8.1。我找到了这篇文章,根据文章指引,终于完成导入。
整个过程中有几点要注意:
1、CS要运行于ASP.NET 2.0平台;
2、第三步所需时间较长,Apache缺省的30秒执行时间不够,我修改了耗时最长的一个模块(plugin.php),使之支持60秒执行时间;
3、貌似对分类的支持还有问题,需要手工调整;
4、导入后页面上会给一个新旧链接对照表,可以据此做URL Rewrite,我的虚拟主机不支持编辑.htaccess,有空的时候在WP基础上写点代码实现跳转吧。
上面提到的BlogML导入工具,及修改后的plugin.php,可以在这里下载。