WP Microblogs 0.4.0 版本升级

时光飞逝, 没想到距离这个插件发布已经快一年时间了. 网站因为考研而荒废了很久, 考研初试结果仍是个未知数, 希望能通过吧.

先说明一个问题. 关于前一段时间频繁有朋友反馈插件不能更新的问题, 我头疼了很久, 在前一阵子 GoDaddy 解析不稳定时我将域名交给 DnsPod 解析, 结果也出现了这个问题. 因此我怀疑插件不能更新是由于 DnsPod 的某些防止攻击的手段过激反应造成的 (因为插件要通过 WordPress 的 CronJob 实现自动更新), 但不久之后 DnsPod 似乎作出了修正, 现在几乎没有不能更新的反馈了. 即使这样, 我依然加入了检查 Cron Job 的功能——很短的一段代码, 感谢之前推荐的插件 BackWPup.

WP Microblogs 0.4.0

一、增加

1. 自动更新用户信息

这是一个小更新, 如果您变更了微博头像、名称之类的信息, 插件会自动同步修改, 不再需要您在后台选择「更新信息」.

2. 一键关注

一直有朋友希望能实现这个功能, 但一键关注功能除非官方支持, 否则第三方是没有能力加关注的 (只有获得用户授权才能加关注).

现在, 新浪微博、腾讯微博、Twitter 均提供了这一功能, 您可以很方便的在新版本插件的小工具的头像设定中开启一键关注.

Twitter 用户请注意, 中国大陆存在网络问题, 并不能正常显示一键关注按钮, 不信可以上推特去看 [误].

3. 图片显示开关

也是应部分朋友要求而加上的.

请注意, 老用户升级之后可能会出现图片不显示的情况, 只需要在小工具的其它设定中勾选「显示图片」.

4. Cron Job 故障检查功能

在 Cron Job 不工作时会发出警告.

二、修正

1. 改进的小工具面板

随着功能的增多, 小工具设定面板越来越长, 因此将小工具设定面板分为四个折叠板块.

2. 微博缓存逻辑优化

3. 微博更新逻辑优化

所谓「逻辑」是个让人头疼的东西, 因为要把握好它的度, 既不能造成 API 超限、资源浪费, 也不能造成更新太慢、垃圾 (指不需要的推文) 太多. 这次优化自认为效果不错.

另外, 已可以选择无限缓存, 推文展示条数上限也提高到了 100 条.

4. 腾讯微博转播信息疏漏问题

好像腾讯微博的 API 修改过, 导致某些转播没有被正确识别, 现在已修正.

三、停止对 嘀咕、做啥、人间 微博的支持

这真的是我艰难的决定, 原因如下:

  1. 这三家微博用户少, WordPress 使用者中用户更少. 尤其是人间网, 截止我发文时的 Alexa 排名为 118,437 名, 一家微博能做出这么差的排名也算不容易了;
  2. API 支持不够. 新版插件的更新方法需要翻页支持, 而做啥的 API 简陋到不如不开放, 而且很不稳定, 这几天甚至关站维护;
  3. 网站转型. 嘀咕已经转型成为图片社交分享网站, 据了解, 这家网站已经经历过从微博到 LBS 再到分享网站, 典型的墙头草;
  4. 停止小众支持, 有利于将有限的精力更好的投入到大众微博的支持中去.

四、吐槽 (可能会删掉 =. =)

腾讯微博绝对是一朵奇葩, 以我个人有限的技术与理解来看, 腾讯微博从一开始骨架就没搭好, 现在大了以后越来越难以维护.

腾讯微博每条广播的 ID 是以某种神奇的方式产生的, 没有任何逻辑性. 正常的推文 ID 是有序的, 新推文的 ID 绝对比旧的要大, 要翻页也很简单; 但腾讯微博中, 你无法利用它的 API 自由翻页. 如果要翻到第四页, 必须要从第一页开始, 告诉它第一页最后一条推文的 ID 和时间 (没错, 是时间!), 它才像收发室的老大爷那样慢悠悠的给你第二页, 然后你再问它, 它再给你第三页……全球第一智能设计

(网易微博也不能翻页, 只是我先搞定腾讯再与网易对招就没那么无语了.)

五、Q&A (自问自答环节)

  • Q: 能不能保存推文?
  • A: 暂时还不能. 如果您很想要保存微博推文, 我有一个好消息和一个坏消息要告诉您. 好消息是, 目前插件完全具备了保存推文的能力, 如果有较多反馈, 可以在下一个版本加入、或者以其它插件的形式实现这个功能; 坏消息是, 某些开放闭关平台限制 API 获取推文的数量. 例如, 新浪微博 API 至多返回 200 条推文, 其某条规范甚至明确指出: 不得抓取微博内容且进行本地备份, 有与微博同步删除功能.
  • Q: 无限缓存是什么意思?
  • A: 无限缓存指插件不再删除数据库中存放过期而不再展示的推文. 但是请注意, 插件开发的本来目的并不是保存推文, 因此您的某些操作 (例如禁用帐号) 仍会导致微博缓存被清空. 要开启无限缓存, 请在后台每个帐号保存推文条数的文本框填 0.
  • Q: 新浪微博提供新版 API 了, 怎么不更新?
  • A: 经过我几个小时的摸索, 得出的结论是, 新浪微博新版 API 尚未完善, 暂时不考虑更新. 新版 API 属于 OAuth 2.0, 应用得到的授权具有一天时间限制, 按照规范, 应用可以使用 Refresh Token 来延长授权期限. 然而, 新浪微博新版 API 仍未开放 Refresh Token 机制, 更新到新版 API 意味着您每天需要重新授权插件访问新浪微博.
  • Q: 新浪微博新版 API 能带来什么新功能?
  • A: 对于这个插件来说, 只不过可以实现「漂亮的推文链接」 (自己起的名字, 其实也很难看) 这个可有可无的功能. 上个版本的插件中, 新浪微博的链接通过 base62 编码实现了与网页版一致的「漂亮的推文链接」, 但是后来新浪微博为了体现它的优越感, 故意在链接中加上一些干扰字符, 导致插件本地生成的地址与真实地址经常不符合, 因此新版插件又取消了这一功能. 新版 API 提供了查询「漂亮的推文链接」的接口, 仅此而已.
  • Q: 可以展示我关注的人的推文吗?
  • A: 如果有需求, 下个版本可以加入.
  • Q: 谈谈插件更新计划?
  • A: 预计将要加入对于人人网的支持, 并真正实现 JavaScript 输出微博 (以前弄过一次测试版, 发现仍然能被搜索引擎抓取, 被撤了).

感谢各位的支持.

插件安装方式: 在仪表盘 (或 控制板) 的「安装插件」中, 搜索 WP Microblogs.

插件下载地址: http://wordpress.org/extend/plugins/wp-microblogs/

插件主页: //beamnote.com/2011/wp-microblogs/