以前作为小组员在freeshare中添砖加瓦,听从指示完成任务,并学到了不少的细节技巧,现在作为freeshare这座大厦的设计师,经常会遇到的问题,在此记录。
1、在教新人加入freeshare时会发现上手比较纠结,因为他们之前可能做过一个web通讯录,页面功能都比较简单,而freeshare功能逻辑代码都比较复杂,比如页面中经常会嵌套页面,例子:浏览资源页--资源正文--附件内容,之前面对这样的页面很困扰,现在倒是比较清晰了,刚开始用全局搜索去定位可能会更快一些
2、一个功能是否需要打开新页面实现:如果是新建资源、编辑资源类的最好不要让编辑框出现在两个页面,比如:ueditor中的预览和全屏写作要直接在本页面打开,如果在新页面打开,关掉后就会出现两个编辑页面,用户如果没有关掉旧的编辑页面,就会造成混乱;又如,浏览资源页的静阅模式是否支持对附件删除和版本描述编辑,如果在静阅模式下如此操作,关掉后,旧页面并没有刷新,就会造成混乱。
3、我的消息的图标问题:之前评论发给search的type都是7(评论),但现在我们想用评论资源的类型加图标,于是将type改为评论的资源类型,但是由于之前已经打过的在search中无法改变,所以导致显示一些以往评论的时候图标错误(因为是7,所以都是混合图标),如果想全部都改对,只能在解析的时候再去找一遍资源类型。
4、选择群组--最近群组的显示:最近群组是存在数据库里的,格式为{“company”:“123,456”,“individual”:“678,567”},但是在取出某个版本的群组id时还要判断:这个id是否存在,是否与当前版本匹配,是否是可读写群组。如果不是则从表中删掉。我们从保证数据存入时的正确性和读出时的正确性两个角度保证操作正确。这就是代码的Robust,提高代码对抗风险的能力,其实freeshare目前在容错处理上还不够优秀,比较好的应该是后端容错+前端提示,不至于出现500等错误页面。但是同时带来的是效率的降低,增加冗余。
5、企业管理员和应用管理员统计用户活跃度:应用管理员关注应用本身的使用情况,区分web版的活跃度和Android版的活跃度。企业管理员关注本企业的活跃情况,将成员的各个终端的活跃度得分综合后排序,不区分终端。
6、freeshare支持显示视频,但是实现方式却比较有意思,在视频网站上点击分享到微博等,才会出现视频缩略图,flash链接也是在视频本身的网页上扒取的,这样不用任何鉴权验证就可以轻松获取到想要的img和flash,但是视频网站和微博接口随时都有可能修改,一旦修改,freeshare就不能播放视频了,这里处理了下容错,保证资源不会打不开。优酷等视频网站本身提供了在博客中添加视频的链接,需要用户粘贴一句html代码,但是这种方式对于编辑框不支持html的博客和“白痴”用户来说太不友好了。看了下优酷开发者接口,有可以获取视频信息的接口,这种方式应该会更好一些吧。
7、freeshare依赖common,在common中修改了一段代码,maven-clean-install后执行居然还是按照旧代码执行,各种清理重新加依赖以及各种重启后还是不行,最终发现是在freeshare web中有一个与common同包名同文件名的文件,我只在common中修改那个文件,但是执行的时候其实找的是web中的文件,eclipse可能也有问题,因为显示的文件目录是common中的,最后把web中的重复文件删掉就可以了,工程要确保不能有同包名同文件名的文件。又一次应验了那句话:所有灵异问题纠结到最后都会归结到一个傻X错误,比如:拼写、名称问题