duoshuo
多说是一个比较不错的社会化评论插件,最给力的就是针对Wordpress的插件了,在几个月的等待之后,终于盼来了多说的又一次更新——Wordpress 0.8版。

多说插件从一开始就是面向数据实时写入本地数据库的方向发展的,现在流行的很多插件,可能都已经实现了,但试过诸多插件后还是选择了多说,因为多说是个年轻的团队,善于听取用户意见,后台操作前台界面都十分简洁,而且没有像某些插件一样的捐助、非捐助版的区别。

下面粘贴部分新版插件的更新项,以及新版插件部分问题发现及总结。

新版特性

首先要提及的就是:
1、首页和文章评论数计数采用ajax方式加载,让评论统计以多说服务器数据为准。
2、在评论实时写回本地的基础上,进一步改进,在多说管理界面中做的删除、通过、标记为垃圾评论等操作,都会同步到本地数据库,实现了两者的完全同步。
3、新版在不同步数据的情况下一样可以使用。

下面是更新的细节:

[新增]ajax加载文章的评论数
[新增]热评文章挂件(小工具)
[新增]首页(仪表盘)新增多说最新评论挂件
[新增]评论管理界面增加彻底删除评论功能
[新增]用户管理界面可以直接搜索用户添加管理员
[新增]管理界面支持导入评论数据文件功能
[新增]手动同步多说服务器上的数据到本地数据库功能
[新增]调试功能开关
[新增]卸载功能(慎用)
[新增]支持Google帐号登录
[改进]大规模重构了代码,提高复用度,删除了无用的函数
[改进]完美支持WordPress 3.4
[改进]在多说管理界面中做的删除、通过、标记为垃圾评论等操作,都会同步到本地数据库(感谢众多忠实用户的反馈)
[改进]个人设置页面和站点功能设置页面直接集成iframe管理界面
[改进]网络不通畅情况下,不影响其他WordPress功能(感谢众多忠实用户的反馈)
[改进]评论管理界面的导航,更大的操作空间
[改进]文章的附件不再采用单独的评论框,而是和文章共享同一个评论框
[改进]不仅通过Akismet同时还启用多说自己的垃圾评论过滤系统处理社交用户评论(感谢众多忠实用户的反馈)
[修正]反向同步评论数据到本地时,过滤XSS代码(感谢科学松鼠会的反馈)
[修正]用户合并帐号之后无法用社交帐号登录多说的问题
[修正]特殊场景下绑定不上社交帐号的问题
[修正]一个网页中插入多个多说评论框时的bug

部分已发现问题及解决

1、回流评论重复问题
这个是我最早出现的问题,主要因为前一段试用多个社会化评论插件导致数据错乱,结果同步几次后多说服务器上数据也错了,当时还没有彻底删除选项,想清空多说账号数据,重新同步,多说技术人员建议我重新更换账号,大概也就是7月十几号的时候。此次更新从更换账号后近400条评论,没有有效的对应meta值,所以全部重新写入本地了,原以为要删除旧评论才可以,多说技术人员说删除重复的任意项即可,为了方便,后台直接删除了agent包含Duoshuo/0.8的数据,结果导致数据库中评论数不一致,这下需要更新这一个月的文章评论数了。

想了两种方案,直接mysql用游标循环更新或者用php,折腾大半夜发现对mysql的高级操作和php都不太熟悉。最后还原数据,将agent包含Duoshuo/0.8的数据author设置为同一名称,如下

UPDATE `wp_comments` SET `comment_author`='TempName' where `comment_agent` like 'Duoshuo/0.8%'

为了让wordpress自动更新评论统计,对不需要的评论做个标记,后台评论出搜索项目author,这里是搜TempName,结果设置每页100条,然后反复执行全选——移至回收站,似乎每次最多80多条,好在我需要处理的就只有300多条,最后切换到垃圾评论选项,直接清空垃圾评论即可。

注意,这里不使用sql直接标记垃圾,是因为数据库有关联,而我不清楚具体的管理所在,如果你对wordpress的数据库十分清楚,也可以直接写触发器,然后清楚多余评论。这里只对本人操作做记录。

2、回来评论头像显示为相同的一项
这个是官网很多人讨论的问题,似乎应该是服务器端的输出问题,技术人员正在赶工解决,这里也只做记录,多说的优点就是,技术人员能在服务器端之间完成的就直接完成了,客户端问题自动解决。

3、实时同步写入数据问题
官方的通告:更新到0.8版以后,老用户反馈评论不能实时写回本地。0.8版新增的功能是保持本地和多说数据状态完全一致,为此我们从前一段时间就开始记录管理员在多说的对评论操作变动记录,现在在逐步更新到本地中。每隔半个小时或新增一条评论都会触发20条老评论的数据导入,等一段时间追上现在的记录就可以了,不影响任何功能和使用,之后就可以继续实时写回本地了。

显然,每次20条这个设置依然没有变,而且用户不能定制,好在新版增加了“备份多说中的评论到本地数据库”,我为了加快同步,连续点击此按钮,一直等到提示同步0条评论时,说明已经完全同步,此后的数据就可以实时写入本地数据库了。这个其实不算是问题,就是不知道官方技术为什么没有给提出问题的用户说明这一点,可能这方面做的不成熟,不推荐使用吧。不管怎么样,我现在按照自己的做法,已经恢复了插件的正常使用了。