Community Server系列之六:CS2中的关键词及数据结构

       写这篇帖子的目的在于介绍整个CS中的关键点,以我的经验来看着重应该了解的地方的一些罗列。这对初次接触CS的朋友来说我想是有帮助的。

       模块:在CS2中最主要的官方模块有(论坛Forums、博客Blogs、相册Galleries)现在只讨论主要的这三个模块,下面的文字也围绕着这三个模块进行讨论。这三个模块具有一定的共同点,CS把这三个模块抽象到一起了,这是CS的核心所在。

 

名称

说明

主要数据表

备注

Section

基本板块:论坛里表现为论坛的板块,博客里表现为每个人的博客,相册表现为每个人的相册。

cs_Sections主要保存模块数据包括模块的组别名称所有者等等。

 

CS中很重要的一个概念,几乎所有的逻辑都与此相关。

Group

组别,在CS中的几乎所有标准模块都依靠Group进行管理,论坛的Group表现为对论坛板块的分类,博客表现为博客的群组,相册也表现为群组,总之,这些模块都要依赖此进行管理

cs_Groups,主要保存分组信息

所有Section都依赖此进行组合,就算一个Section也需要一个默认Group

Settings

几乎每张表都有SettingsID的字段用来区分不同的应用,因为CS一个程序可以同时分成多个应用而互不干扰,每个存储过程,每张表都有相应的对Settings的筛选

cs_SiteSettings,站点的基本设置以XML的形式保存在此

cs_Sites站点信息,可设置多个站点

cs_SiteMappings站点和Settings的对应关系

这个概念同样重要,现在很多程序都设计成这样的模式,一句话,尽量灵活,CS的灵活性非常到位。

Thread

线程,这个感念比较抽象,但在CS中却是很重要的,这个意思可以简单的认为是一个主题,并包含这个主题所有的相关信息,比如回复数,得分等等

cs_Threads,保存每个主题信息,

cs_ThreadsRead,阅读者对每个主题的阅读情况

在每发表一篇主题(非回复)就在此表添加一条记录

Post

表示包括主题在内的所有用户发表的帖子,无论是回复还是投票或主题统统要在此记录

cs_Posts,保存Post的主要数据表其他与Post相关的表还有很多

最重要的用户数据表

Category

分类,帖子分类,此分类是针对Section进行的,每个Section都可以有自己的分类,在CS中又叫TAG,可以适当改造一下就变为时下流行的TAG功能

cs_Post_Categoriescs_Post_Categories_Parents保存每个Section的分类统计

cs_Posts_InCategories保存每篇帖子对应的分类

CS中只有对每个Section的分类管理,而缺少对整个网站的分类,我们可以按照Category模块进行扩展

Permission

授权,与Role角色挂钩,此针对各Section设置各种角色的对应权限,也就是权限矩阵

cs_ProductPermissions在此保存针对每种应用模块的默认权限。cs_SectionPermissions针对各种Section的个性权限

此处缺少对Group的默认权限,不过根据源代码扩充为支持Group默认权限的功能也很容易

Membership

建立在微软的Membership组件下的基于角色的用户管理系统,使用此功能对设置权限和对用户相关功能的扩充都非常方便

asp_net打头的数据表是Membership所需要的,另外cs中扩展了cs_Userscs_UserProfile等数据表

CS完全依靠Membership达键的用户基础管理系统,很多地方值得好好研究

Job

B/S程序需要定时处理的功能,在此称为Job,我们可以在communityserver.config文件中看到那些Job的配置,运行这些Job都是在单独的线程中执行,与用户交互无关

可以通过后台管理的Jobs Report查看Job的情况,也可通过查看Exception Report查看Jobs有无运行异常

 

熟悉这些关键词及模块对CS的掌握至关重要,希望通过此篇介绍能帮助你更快的了解CS的基础。

你可能感兴趣的:(Community Server系列之六:CS2中的关键词及数据结构)