以前作為小組員在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錯誤,比如:拼寫、名稱問題