文章标签 ‘nForum’

作为新年的礼物,nForum1.1在经过为期一个月的线上测试后,今天终于push到github上去了,相关的文档我也完善了一下,能有助于快速理解nForum1.1的前端结构,新增的文档如下: nForum1.1 Changelog nForum1.1 前端说明 nForum1.1 Ajax说明 由于一次性push了60多个commits,所以相对于nForum1.0版本代码上的修改还是很多的,如果在原来的基础上修改很大的话,merge起来会是一个比较痛苦的过程,不过大家想想fancyrabbit@newsmth,我觉得再困难的merge都是浮云了,哈哈。merge的过程除了仔细核对代码外也需要仔细对比app/config/nforum.php.example的不同,配置文件千万不要写错了。 对于kbs,最好更新的最新版本,目前我测试的nForum1.1是基于kbs r10955。 nForum1.0版本已经终结于这之前的提交,我已经打了一个1.0的tag,需要持续使用老版本的用户可以git checkout 1.0或直接去tags页面下载tar包。 还有就是可能有些小修改在changelog中没有提及到,不过会存在于commit log里面,如果有不清楚的地方可以先查看一下commit log。 web上的文档已经全部更新,欢迎访问http://xw2423.byr.edu.cn/blog/nforum 

2012年1月3日21:02 | 2 条评论
分类: 兴趣所在
标签:

时隔一个月,在经历了从正常人到“矿工”再到正常人的变化后,一个新的nForum就即将折腾出来了。 如果说原来的版本是1.0的话,这个版本为1.1比较合适,最大的改动即是前端,nForum1.1的前端结构发生根本的改变,而促使我改变的原因可能是想再次体验一下 沉醉于代码中的感觉吧。 nForum1.1致力于提供一个完整的前端基础,以实现页面的ajax化并规范一些简单的交互接口。技术路线的灵感来自于某月末日在google reader上看到豆瓣某前端工程师的演讲ppt。所以nForum1.1采用了和豆瓣说同样的javascript框架Backbone.js作为基础来构建前端MVC,在弹出窗口方面继续沿用jquery-ui的dialog组件,不过nForum进行了进一步的封装以实现与应用的紧密结合并屏蔽了jquery-ui的特性。暴露给window的变量有APP,BODY,SESSION,DIALOG,SYS,这些对象足以完成对页面的控制,具体是怎样的,可能还需要一个文档来说明。 此外,nForum1.1在html5的道路上更进一步,整体的标签在往html5上演变,对于支持html5的浏览器,在css和文件上传上都开始使用html5特性,相应的,新版本取消了原来的javascript圆角功能,对老版本的IE做了某些交互特性上的放弃,当然诸如IE6这样的s13浏览器还是可以正常访问的,不过体验会差点。。。 nForum1.1在原来的model层面上修改的很少,主要是整合了文章和邮件的转寄和回复功能;controller主要的修改是满足ajax请求并把请求方式和渲染格式完全分离,在渲染数据时html,json,xml是地位相等的。view融合api插件的思想,把所有渲染的方式统一起来,也就是说api插件和nForum web是用的相同的view。 最后就是要解决新的架构带来的新的问题,比如SEO,nForum1.1的html内的链接呈现和现在的本版一致,系统自动识别不同的spider输出原始页面以便spider能很好的访问。除此之外,IE6下对于hash的不完整识别导致url中的search部分不能很好的解析,最后无奈hacker了backbone.js的代码。 其余的特性以及详细的修改都会出现在changelog的,之后的时间里要review一下代码,在各种浏览器中测试一下关键功能,整合,测试,merge出北邮人论坛的版本,测试,发布到github日子可能还要晚点吧。 其实代码的实现是漫长的,枯燥的,痛苦的,不过当整体结构很清晰时这些也都只是时间问题了;把你对整个系统的理解用代码实现出来,在这个过程中可能会遇到各种结构问题和设计缺陷,但在一次次的迭代中结构会变的更加合理,耦合会变得更加自然,这也许就是根本的乐趣之所在。去年的这个时候nForum1.0开源了,一年过去了,nForum1.1就作为今年的礼物吧。

2011年12月2日09:56 | 4 条评论
分类: 兴趣所在
标签:

现在可以用这个标题了,我是挺高兴的。nForum API终于被我merge进nForum的主干了,这可是今年一年工作目标啊,居然在不到半年的时间里就可以发布一个可用的版本,甚是欣慰。 对于开放API来说,在我写nForum时就是由此想法,在写手机版的时候是此想法甚是强烈,从那时起基本上就开始做相关的知识积累,看过了《Restful Web Services》,或多或少的研究或使用了google,twitter,sina,qq的API后,开始尝试写适合于nForum的api。验证从简单的basic auth开始,输出支持json和xml的格式。在逻辑上api和web没有太大的区别,甚至比web更简单,最值得推敲的就是API的设计,在兼顾性能的同时,考虑开放什么样的数据,这是非常关键的。在写的过程中也碰到许多棘手的问题,比如状态,把API请求变成无状态的着实让我纠结了很久,kbs的web机制必须每次请求都要附加cookie而API确不能这样,当然这些cookie信息也不能放在url里,最后只能让服务器缓存这些信息使得外界看来API是无状态的。最后就是这次充分使用了一下phpunit,API还是挺好写测试用例的。 nForum前段时间更新了地图标记功能,原以为这个功能挺实用的,能在帖子中嵌入自定义地图和位置,对于food,travel这样的版来说应该挺有用的,但是好像没什么人对这个很感兴趣,就纯当熟悉一下google map api的用法吧。 水木终于把上线nforum提上日程了,挺高兴,能有更多的人来使用它就是一件好事,兔总fancyrabbit@newsmth也提了不少修改意见,非常感谢,希望nforum能越来越好。 nForum API的文档:http://xw2423.byr.edu.cn/blog/nforum-api 代码在:http://github.com/xw2423/nForum 还有就是有想使用北邮人论坛API的童鞋请直接找我吧,wei.xiao.bupt#gmail.com

2011年5月26日21:48 | 12 条评论
分类: 兴趣所在
标签:

项目地址:https://github.com/xw2423/nForum 今天总算把一个历史悠久的bug解决了,我也好意思把地址贴出来了。 然后弄了一个页面,把一些文档帖出来了,但是格式还没调好,家里的网络访问blog太扭曲了。 http://xw2423.byr.edu.cn/blog/nforum Life is like a box of chocolates, you never konw what you’re going to get!

2011年1月23日22:44 | 4 条评论
分类: 兴趣所在
标签: ,