打造一個SNS、論壇、CMS等的整合系統(有源碼)
如何將SNS、CMS、論壇、博客等整合起來?這是一個長久困擾我的問題,也可能是困擾其他人的問題。今天不談具體的細節,只是談兩點總體思路,歡迎批評指正。
一、以SNS為基礎平臺,將CMS、論壇、博客等作為app加上去
互聯網各類web應用的發展已經有好多年,近些年SNS最為火爆,以我的看法,也是SNS最具包容性。
其實,可以換一種角度來看SNS,不是簡單的按照字面理解成“社會化網絡服務”(Social network service),而是理解成一個在線的多用戶操作系統。如果將SNS看成一個 web os,看成一個真正的在線底層平臺,我相信許多問題便有了解法。
雖然 facebook 的部分界面模仿了操作系統,但畢竟是外表。關鍵的還是它的多用戶插件機制。正是這一特點,讓我覺得,CMS、論壇、博客等都應該直接跑在SNS上。SNS和CMS、論壇、博客等的關系,不是并列的關系,而是操作系統和其上的應用程序的關系。只要考慮周密、設計合理,一切app都可跑在SNS平臺上。
二、多用戶系統模型
為什么SNS的火爆讓微軟也要投資2.4億美元占其1.6%的股份?我的理解是,這是因為 facebook 社會化的內在威力。還是按照上面的操作系統的角度來理解SNS,那么多用戶的SNS型在線OS和windows等OS的區別在于哪里?技術不同當然是一方面,更重要的區別在于,我以為,在線的SNS型OS具有社會化的特點。windows等本機的操作系統,雖然也是多用戶的OS,但不具備多用戶實時在線和社會化交流的能力。
如何設計一個在線的、多用戶的、帶社會化特點的用戶系統?
還是我的理解,我覺得一個復雜的多用戶的在線系統,就像一個社會一樣,會有無數個參與方。那我們就以每天身處其中的社會為例,來分析一下用戶系統的構成。一個社會往往可以分成三種類型的成員(Member):
1)自然人。也就是個人,在法律層面,他們對他們自己的私人行為負責(從私人領域的角度講,還可以包括家庭)。
2)政府。作為公共權威,政府制定法律,管理公共資源,判決糾紛,執行法律。同時,政府也是社會的直接參與者,也可以購買資源,參與經濟活動。政府由職業性質的自然人參與管理。
3)在私人領域和政府之間的領域。由不同的自然人組成的群體或活動空間,比如經濟組織(公司等)、學校、醫院、各類NGO等,你也可以理解成 civil society。
我們認為,一個在線的系統,其實也就是一個在線的微型社會,也可以劃分成不同類型的三類成員。作為成員,他們都實現IMember 接口。
1)User : IMember, 注冊的用戶,代表自然人。
2)Site : IMember, 網站,由一些特殊角色的User(比如管理員)管理。
3)Group : IMember, 群組,由多個 User 組成的,非Site型組織。
User之間可以通過發送消息、分享、留言、評論等方式互動交流,User可以安裝各類程序,來促進對在線系統的參與程度和交流深度。User也可以因為在公共領域的積極作為,而被推舉或指定為Site的管理人員。同時,User也可以自由加入各類組織Group。
Site作為公共權威或政府型機構,全面管理公共資源,對網站的介紹,對User注冊登記的核實,對各類用戶發布信息的審核管理等等。同時,Site也是在線系統的直接參與方,也可以安裝各類程序,通過各種程序,全面展現Site的形象,并通過各類app實現和User以及Group的交流。
Group往往是由一群有共同興趣,或共同目的的User組成,作為在線系統的直接參與者,Group和User,Site一樣,也可以安裝各類應用程序。
——以上是wojilu framework,尤其是“我記錄網站綜合系統”對用戶系統的理解。所以在 wojilu framework 中,直接定義了 IMember 接口,而在“我記錄網站綜合系統”中,則全面實現了這個接口,定義了 User/Site/Group 三種領域模型。正是以這三種類型的成員為基礎,“我記錄網站綜合系統”才能夠方便的集成SNS/論壇/CMS/Blog等程序,才能夠統一集成、思路一致。
需要說明的是,二次開發者完全可以通過實現IMember接口,擴展“我記錄網站綜合系統”中的用戶系統,比如創建一個“公司”這樣的領域模型,Company:IMember,讓商業用戶在系統中找到自己的位置。
總結
第一點思考,“以SNS作為基礎平臺”,已經是包括facebook在內的許多SNS的實踐,我只是做了一個簡單概括;而第二點思考,關于用戶模型,沒有參考任何既有系統,我也不了解facebook用戶模型的實現方案,所以,純屬個人想法,歡迎批評指正。
“我記錄網站綜合系統”(含源碼)下載網址:http://www.wojilu.com/

浙公網安備 33010602011771號