在JiveJdon FrameWork基础上做一个通用的网站构建平台,一点想法请大哥们多多指教

07-01-24 JavaMouse
我是一个在国企工作的小职员,没有什么大的项目经验,所以有些想法可能很幼稚,真诚的期待朋友们能对我的一点想法指点一二,先谢过了!

一、扩充点

1、将论坛数据库变为一个通用网站数据库

2、权限控制基于角色实现

二、一点想法

1、将论坛数据库变为一个通用的网站数据库

这里我所考虑的主要问题就是实现一个网站建设的通用后台,我希望最终用户能够像创建论坛一样自由的创建他们自己的网站栏目,每个

顶级栏目对应一张数据库表结构,表结构命名以栏目名称命名,所有表字段除特殊字段(如信息量很大的字段)全部采用字符串类型,在用户

创建顶级栏目的时候,由用户告知在该栏目中需要维护的字段,而网站建成后的前台信息维护界面由数据库信息自动产生,由于其通用性,因

此其数据库表结构是可变的,我的想法如下:

1.1、固化一些描述栏目信息的表结构,提供具体网站栏目信息的管理

表1:栏目信息表

在这个表里,主要是存储网站配置的栏目信息,包括栏目ID、栏目名称、栏目描述、创建者、创建日期、更改日期

@栏目ID--每一级栏目占用2位字符编码(字符为数字),子栏目ID继承父栏目ID加2位编码

@栏目名称系统中唯一

@其他略

表2:栏目列结构表

这个表主要存储各顶级栏目对应的数据库表的列信息,这便于实现前台信息维护界面的自动生成,包括:栏目ID、字段名称、字段描述、

特殊标志

@栏目ID--记录顶级栏目的ID

@字段名称--栏目对应数据库表的列名称

@特殊标志--判断该字段是否大容量信息字段标志,如图片,音品文件等

@其他略

对于大容量信息字段,可以在数据库中设置为二进制、图片等等类型,这中间也可能用到其它的一些东西如

htmledit一类的东西,需要用户开发相应的Java类做相应处理

其他表:具体栏目的数据库表,这些标由用户在创建顶级栏目时候自动创建,并且这些表结构固化以下列:

@栏目ID--这个ID其实对应的应该是叶子栏目的ID,由于ID的继承,可以得到其顶级栏目的树结构

@信息ID--栏目内容的ID(int类型)

@其他字段--如果想在网站中有类似“评论”的功能的,可以设置类似jiveMessage中的pre**ID的字段

1.2、修改JiveJdon类

顶级栏目类似于Forum,变动不会很大,还需要附加栏目树结构的解析类

栏目的内容类似于Message,如果不考虑类似“评论”功能的话,它将是一个平面化的message,如果考虑的话可以有如下方式实现

a、直接在栏目内容标内实现类似jiveMessage的表结构

b、另外在数据库附加一张表,该表专门存储评论信息(因为评论信息的数据库结构比较固定),我觉得这种方式比较合理

2、权限控制

基于角色实现系统的权限控制,总体实现权限的控制粒度到表记录,呵呵,好像是不会表达了,我想设置两种权限实体,一个是用户,一个

是用户组,系统可以为它们分配角色使具有相应权限,一个用户的权限=用户权限+所属组的权限,两者的加和,另外角色权限在栏目层次中实现

继承,即上级栏目权限自动延伸到下级栏目。程序实现方面只基于角色,而数据库内部只固化一个角色表,超级管理员在配置文件中,用户表和用户组表都将作为栏目被创建,具体可用操作如下:

a、超级管理员创建用户组(用户组作为一个栏目)

b、超级管理员创建用户(用户作为一个栏目)

c、超级管理员创建角色(角色是数据库中固化的一张表)

d、超级管理员分配角色给用户或者组

e、用户执行权限内操作

2.1、数据库表结构

表1、角色表

@角色id

@栏目id--该角色具有权限的栏目id

@其他--指对栏目信息的操作权限,如:增、删、改、发布等

不行了,头发热了,就写到这里吧,这个想法我正着手在做,由于菜的不行,还请高手指点其中的利弊。

         

1
allthink
2007-01-25 10:33
有意思,也有这个想法,关注中

junphine
2007-09-03 14:27
我觉得有必要发展为内容管理系统。好像drupal就是由论坛发展过来的。

猜你喜欢