一、CommunityServer背景
Web2.0大潮,带动了web技术摆脱了单纯的论坛、CMS的开发,转而进入社区应用开发。但是要知道,连基础协议都是http,那么也别指望有啥新应用技术一鸣惊人,大多数还是各类成熟技术的结合、融合。
Myspace、Flicker等应用的脱颖而出,导致了市场要求技术开发多注重社区产品、相册、博客等典型web2.0应用的开发。在这背景下,CommunityServer(简称cs)项目诞生了,
Telligent Systems 贡献了这个项目,推给了广大.net开发人员。这个项目集合了asp.net Forum DotextBlog 、Gallery作为基础,并逐渐加入其他的模块,组成了一个庞大的系统—无论是系统还是其功能。
当然,.net不像java社区,开源并不彻底,毕竟这是微软的地盘,商业利益商业模式考虑始终是重要的,但这个瑕不掩瑜,仔细研究这个系统,大家还是可以学习到微软.net平台的一些精髓。我认为,学习其设计思路和实践技术是剖析这个系统的最现实意义,他有助于你了解微软的.net技术,并应用与自己的项目中。
本人下载研究的是2.1.61025.2版本,也将以此版本作为分析的蓝本。
最新的代码,请访问官方站点 :
http://communityserver.org/ 官方站,中文站点是国内爱好者维护的:
http://communityserver.cn/
二、CommunityServer全景分析
CS由12个项目组成,分别是:
CommunityServerComponents
基础组件工程,系统架构基础,最有看头
CommunityServerControls
控制层工程,webControl类UI
SqlDataProvider
一个按照数据层接口实现的数据访问组件工程,实现了操纵数据库的全部基础功能
在以上几个基础工程之上,实现对于具体应用的几个工程:
CommunityServerForums
对应论坛的工程,提供论坛处理逻辑
CommunityServerGalleries
相册工程
CommunityServerBlogs
对应博客工程
CommunityServerFiles
文件夹工程
CommunityServerReader
在线RSS阅读功能工程
CommunityServerRollerBlogs
新闻聚合工程
CommunityServerSearchBarrel
实现站内搜索框架的工程
CommunityServer.Spam
实现模块插件的工程
最后,CommunityServerWeb 实现以上工程的最终应用,让诸位都有用武之地:)。
趁着国庆长假,将CS的阅读心得整理一下,供此项目高手参考并相互切磋,也整理下自己的技术