蛙蛙推荐:Ajax WawaPKM构想

逻辑设计
WawaPKM帮助你记录一些只言片语和零碎的信息,这是Ajax版。它不是饭否,也不是Twriter,它只是为了帮助你记录一些零碎的想法和捕获的信息,另外你也可以用它来记录你的工作和生活笔记,当然你也可以把你的想法和信息和别人分享。不知道这个定位是大还是小,我相信有人会有这中需求的。Ajax WawaPKM更像一个应用,而不是网站,它支持脱机使用,这归功于Google Gears;你可以用msn的帐户来登陆,这要归功于Windows Live ID;它有丰富易用的用户界面,这要归功于Yahoo! UI Library;另外它很占内存,这要归功于我不懂脚本优化,或者没法大幅度的减少内存使用(gmail,163mail,hotmail也很占内存)。

技术组成
左边是大纲,由树视图组成,可以添加、删除信息节点。右边是主工作区,由标签视图构成,其中“常规”标签是默认标签,不能删除,常规标签分左右两部分,左半部分用来分页显示当前选定信息节点的信息列表,由一个表格组成,表格的行可以选定,选定后,右半部分显示选定信息的详细信息。然后双击信息列表的某行,会在主视图里新建一个标签,并进入该信息的编辑模式。这里会用到YUi的TreeView,ContextMenu,DataSource,DataTable,TabView这几个控件及其依赖的基础组件和css样式。

所有的信息都会自动保存,每隔10秒中会自动把当前编辑的信息保存到Google Gears的SQLite数据库里。当时不会自动同步到服务器上,同步到服务器的操作是手工执行的,主要是为了减少服务器的压力,以便支持更多的人使用系统,另外Google Gears提供本地web服务器,在第一次把网页文件,脚本文件,样式文件下载到本地后可以拔掉网线,清空浏览器缓存照样使用WawaKM,就像使用windows程序一样。实际上我就想先做一个纯html版,不用任何服务端技术,而且实践证明是可行的。GoogleGears还支持全文索引,它用来给web版的WawaKM提供搜索功能。最后就是它的后台线程同步功能,再做知识漫游的时候会用到。这是Google Gears在WawaKM里的应用。

最后是Windows Live ID,我将用它来做身份验证,用它的好处是大家可以用MSN帐户登陆,省得我去搞一套会员系统。它只负责身份验证,授权和个性化信息还是要由我来实现的,也就是说我可以在我的服务器上保存用户的信息和个人偏好。其实就是把Live ID当作SSO来用。

基本上就是这三部分,初步打算先做纯离线版,只用YUI和Gears。身份验证和信息漫游等想法和技术准备成熟了再来做。因为同步还要考虑windows客户端,要制定一套ajax和windows共用的协议,现在时间确实不允许。

相关图片
仅仅是示意图,按钮的图片还没找,布局和界面上也会有所美化


相关链接
Google Gears (BETA)
http://gears.google.com/
Windows Live ID Client 1.0 SDK Alpha Release
https://connect.microsoft.com/site/sitehome.aspx?SiteID=347
Yahoo! UI Library (YUI)
http://developer.yahoo.com/yui/

目前js代码写了有20%左右,有空了我会慢慢完善。我想了想,还是发到首页上吧,毕竟写博客是为了和大家分享思想,不一定技术性多强,这才是博客,所以这篇没啥技术含量,还是发上来了,dudu老大或博客园管理团队觉得不妥就提醒一下或者干脆先给我撤下来,谢谢。

原文地址:https://www.cnblogs.com/onlytiancai/p/ajaxpkm_intro.html