Portal學習--各文件及數據表的作用分析
2008-01-07 16:47
357 查看
1.网站实现原理:
1>首先自定义一个XML文件用于定义网站的结构,该xml的结构由一个DataSet确定,然后再定义一个配置事务组件Configuration.cs(有6个类),用于操作DataSet来读写该xml文件,从而实现网站配置的更改及管理;
2>在客户端每次发送请求时,都会在Global.asax中的Application_BeginRequest事件中使用配置事务组件加载当前页的的配置信息(PortalSettings),如果网站的配置信息(SiteSettings)为空,也要在这里加载;
3>接着PortalSettings及SiteSettings信息传到DesktopDefault.aspx(或MobileDefault.aspx), DesktopDefault.aspx根据TabID取得当前页面的模块,再根据模块的PanelName分别显示在不同的Panel中.
2.配置文件中的表,以下是表结构描述,表中的数据全部存储在一个xml文件中.
Global:站点信息配置表
Tab:导航栏标签信息表
Module:用户模块表(显示在网站上的各个功能模块;如:快速链接,公告等)
ModuleDefinition:用户模板定义表(设置用户模板,由那个用户控件实现,系统默认给出了十个用户模板和五个管理模板,可以在扩充)
Settings和Setting:当为XML/XSL模板和图片模板时设置XML/XSL文件和图片的地址。
3.网站中各文件的作用
4.数据库中的表
Portal_Announcements:公告信息表(在公告信息模块中用)
Portal_Contacts:联系方式信息表(在联系方式模块中用)
Portal_Discussion:用户讨论留言信息表(用户讨论模块用)
Portal_Documents:用户上传文档信息表(在显示文档信息模块中用)
Portal_Events:事件信息表(在显示事件信息的模块中使用)
Portal_HtmlText:静态HTML信息表(在显示静态HTML的模块中用,可用于显示新闻等文本)
Portal_Links:链接信息表(快速链接模块和连接模块用)
Portal_Roles:角色信息表(门户网站引擎核心表)
Portal_UserRoles:用户角色关系表(门户网站引擎核心表)
Portal_Users:用户信息表(门户网站引擎核心表)
5.数据库中的存储过程:
说明:本文基本引自下面的链接,根据个人的学习体会稍做修改.
1./article/4677117.html
2./article/4677116.html
3./article/4677115.html
4.http://www.cnblogs.com/esshs/archive/2005/04/21/142478.html
1>首先自定义一个XML文件用于定义网站的结构,该xml的结构由一个DataSet确定,然后再定义一个配置事务组件Configuration.cs(有6个类),用于操作DataSet来读写该xml文件,从而实现网站配置的更改及管理;
2>在客户端每次发送请求时,都会在Global.asax中的Application_BeginRequest事件中使用配置事务组件加载当前页的的配置信息(PortalSettings),如果网站的配置信息(SiteSettings)为空,也要在这里加载;
3>接着PortalSettings及SiteSettings信息传到DesktopDefault.aspx(或MobileDefault.aspx), DesktopDefault.aspx根据TabID取得当前页面的模块,再根据模块的PanelName分别显示在不同的Panel中.
2.配置文件中的表,以下是表结构描述,表中的数据全部存储在一个xml文件中.
Global:站点信息配置表
字段 | 备注 |
PortalId | 站点ID(可架设多个门户站点而共享一个数据库,通过PortalID区分) |
PortalName | 站点名称 |
AlwaysShowEditButton | 是否总是显示编辑按钮 |
字段 | 备注 |
TabId | 标签ID |
TabName | 标签名称 |
AccessRoles | 可访问该标签的角色 |
TabOrder | 标签排序号 |
ShowMobile | 该标签是否在“移动设备浏览器”上显示 |
MobileTabName | 在“移动设备浏览器”上显示的名称 |
字段 | 备注 |
ModuleId | 模块ID |
ModuleTitle | 模块名称 |
EditRoles | 可编辑该模块的角色 |
ModuleDefId | 关联用户模块定义表的Id,指明该用户模块是由哪个模板实现 |
PaneName | 标注显示在“左中右”哪个Panel中 |
CacheTimeout | 缓存时间 |
ModuleOrder | 显示的顺序 |
ShowMobile | 是否在“移动设备浏览器”上显示 |
字段 | 备注 |
ModuleDefId | 模板ID |
FriendlyName | 模板名称 |
DesktopSourceFile | “桌面浏览器”上显示的用户控件源文件地址 |
MobileSourceFile | “移动设备浏览器”上显示的用户控件源文件地址 |
3.网站中各文件的作用
文件名 | 说明 |
Admin文件夹 | 网站管理文件夹 |
AccessDenied.aspx | 访问失败(无访问权)时复位向到的页面 |
EditAccessDenied.aspx | 编辑失败(无编辑权)时复位向到的页面 |
Logoff.aspx | 注销页面;移出身份认证信息,使Cookie无效 |
ManageUsers.aspx | 新增和修改用户信息页面 |
ModuleDefinitions.aspx | 新增和修改用户模板控件页面,可在这里添加信息用户功能模板 |
ModuleDefs.ascx | 修改模块信息的管理功能模板 |
ModuleSettings.aspx | 用户模块信息设置页面 |
NotImplemented.aspx | 当未提供相应的链接内容时,复位向到的页面 |
Register.aspx | 用户注册页面 |
Roles.ascx | 修改角色信息的管理功能模板 |
SecurityRoles.aspx | 修改用户角色的页面 |
SiteSettings.ascx | 修改网站信息的管理功能模板 |
TabLayout.aspx | 修改标签名称,访问角色以及选定显示在该标签下的用户模块及显示位置。 |
Tabs.ascx | 修改标签信息的管理功能模板 |
Users.ascx | 修改用户信息的管理功能模板 |
Components文件夹 | 各模块数据返回组件文件夹 |
AnnouncementsDB.cs | 公共信息表的数据库访问类;包含增、删、改,获取模块中全部的及单个的公告信息(以下各用户模块的数据库访问表基本上都包含这些方法) |
Configuration.cs | 配置信息相关的事务组件(有6个类) |
ContactsDB.cs | 联系方式信息表的数据库访问类 |
DesktopControls.cs | “桌面浏览器”的用户控件基类; |
DiscussionDB.cs | 讨论数据表的数据库访问类 |
DocumentDB.cs | 文档数据表的数据库访问类 |
EventsDB.cs | 事件信息表的数据库访问类 |
HtmlTextDB.cs | HTML文本信息表的数据库访问类 |
LinksDB.cs | 链接信息表的数据库访问类 |
MobileControls.cs | “移动设备浏览器”的用户控件基类; |
RolesDB.cs | 角色信息表的数据库访问类 |
Security.cs | 包含两个类PortalSecurity(网站身份认证用到的类)和 UsersDB(网站用户的数据访问类) |
Data文件夹 | 存放用户在建设网站中用到的图片,XML文件等 |
DesktopModules文件夹 | 存放在“桌面浏览器”上显示的用户控件ascx及aspx |
Announcements.ascx | “公告”模板用户控件 |
Contacts.ascx | “联系方式”模板用户控件 |
DiscussDetails.aspx | 显示讨论明细的页面 |
Discussion.ascx | “讨论”模板用户控件 |
Document.ascx | “文档”模板用户控件 |
EditAnnouncements.aspx | 编辑公告的页面 |
EditContacts.aspx | 编辑联系方式的页面 |
EditDocs.aspx | 编辑文档的页面 |
EditEvents.aspx | 编辑事件的页面 |
EditHtml.aspx | 编辑HTML文本的页面 |
EditImage.aspx | 编辑图片地址的页面 |
EditLinks.aspx | 编辑链接的页面 |
EditXml.aspx | 编辑XML/XSL模板控件中XML/XSL文件地址的页面 |
Events.ascx | “事件”模板用户控件 |
HtmlModule.ascx | “HTML文本”模板用户控件 |
ImageModule.ascx | “图片”模板用户控件 |
Links.ascx | “链接”模板用户控件 |
QuickLinks.ascx | “快速链接”模板用户控件 |
Signin.ascx | “登录”用户控件 |
ViewDocument.aspx | 查看文档页面 |
XmlModule.ascx | “XML/XSL”模板用户控件 |
Docs文件夹 | 门户文档(发布网站时可不要) |
Images文件夹 | 存放门户网站框架所必需的图片 |
MobileModules文件夹 | 存放在“移动设备浏览器”上显示的用户控件文件夹和DesktopModules中内容差不多 |
SourceViewer文件夹 | Starter Kit 源代码浏览器用到的一些文件(发布网站时可不要) |
Uploads文件夹 | 文档模块中上传到服务器上的文档可放在该目录下 |
ASPNETPortal.css | 样式文件,修改它可以改变网站外观 |
Default.aspx | 入口页,判断程序是在“桌面浏览器”中运行还是“移动设备浏览器”中运行,然后决定转到那个首页(DesktopDefault.aspx OR MobileDefault.aspx) |
DesktopDefault.aspx | “桌面浏览器”中运行的首页 |
DesktopModuleTitle.ascx | “桌面浏览器”中模块标题控件。 |
DesktopPortalBanner.ascx | “桌面浏览器”中页面的Top部分,包含导航栏标签和当前用户信息 |
Global.asax | 初始载入网站的配置文件。 |
MobileDefault.aspx | “移动设备浏览器”中运行的首页 |
MobileModuleTitle.ascx | “移动设备浏览器”中模块标题控件。 |
PortalCfg.cs | 用户配置文件的数据集设置架构文件,包含对配置文件中各个数据表的属性、方法和事件定义 |
PortalCfg.xml | 用户配置文件的XML数据 |
PortalCfg.xsd | 用户配置文件的架构 |
Web.config |
Portal_Announcements:公告信息表(在公告信息模块中用)
字段名 | 类型 | 含义 | 备注 |
ItemID | Int | 链接Id | 主键(自动编号) |
ModuleID | Int | 所属模块ID | 决定该公告在哪个模块中显示(模块ID:用户配置文件PortalCfg.xml中的模块ID,以下皆同) |
CreatedByUser | Nvarchar(100) | 创建者 | 记录创建和修改该公告的用户 |
CreatedDate | Datetime | 创建时间 | 记录创建和修改该公告的时间 |
Title | Nvarchar(100) | 名称 | |
MoreLink | Nvarchar(150) | 更多细节的链接 | |
MobileMoreLink | Nvarchar(150) | 移动细节链接地址 | 在“移动设备浏览器”上的更多细节链接地址 |
ExpireDate | Datetime | 有效日期 | |
Description | Nvarchar(2000) | 描述 |
字段名 | 类型 | 含义 | 备注 |
ItemID | Int | 链接Id | 主键(自动编号) |
ModuleID | Int | 所属模块ID | 决定该联系方式在那个模块中显示 |
CreatedByUser | Nvarchar(100) | 创建者 | 记录创建和修改该联系方式的用户 |
CreatedDate | Datetime | 创建时间 | 记录创建和修改该联系方式的时间 |
Name | Nvarchar(50) | 联系人姓名 | |
Role | Nvarchar(100) | 联系人角色 | 与系统框架中的角色不同,理解成职位更合适 |
Email | Nvarchar(100) | 联系人Email | |
Contact1 | Nvarchar(250) | 联系方式1 | |
Contact2 | Nvarchar(250) | 联系方式2 |
字段名 | 类型 | 含义 | 备注 |
ItemID | Int | 链接Id | 主键(自动编号) |
ModuleID | Int | 所属模块ID | 决定该讨论在那个模块中显示 |
Title | Nvarchar(50) | 讨论标题 | |
CreatedDate | Datetime | 创建时间 | 记录创建该讨论的时间 |
Body | Nvarchar(100) | 留言内容 | |
CreatedByUser | Nvarchar(100) | 创建者 | 记录创建和修改该讨论的用户 |
DisplayOrder | Nvarchar(100) | 显示顺序 | 记录回复的讨论的时间和本身提交的时间(可用作讨论留言的排序和显示回复关系) |
字段名 | 类型 | 含义 | 备注 |
ItemID | Int | 链接Id | 主键(自动编号) |
ModuleID | Int | 所属模块ID | 决定该联系方式在那个模块中显示 |
CreatedByUser | Nvarchar(100) | 创建者 | 记录创建和修改该联系方式的用户 |
CreatedDate | Datetime | 创建时间 | 记录创建和修改该联系方式的时间 |
FileNameUrl | Nvarchar(250) | 上传至服务器中的文件路径,(可由系统重新命名) | |
FileFriendlyName | Nvarchar(150) | 文档名称 | 友好的文件名称显示 |
Category | Nvarchar(50) | 类别 | |
Content | Image | 内容(二进制) | 上传到数据库中的内容 |
ContentType | Nvarchar(50) | 类型 | 上传文件的类型 |
ContentSize | Int | 大小 | 上传文件的大小 |
字段名 | 类型 | 含义 | 备注 |
ItemID | Int | 链接Id | 主键(自动编号) |
ModuleID | Int | 所属模块ID | 决定该事件在哪个模块中显示 |
CreatedByUser | Nvarchar(100) | 创建者 | 记录创建和修改该事件的用户 |
CreatedDate | Datetime | 创建时间 | 记录创建和修改该事件的时间 |
Title | Nvarchar(100) | 事件名称 | |
WhereWhen | Nvarchar(150) | 发生地点 | |
Description | Nvarchar(2000) | 描述 | |
ExpireDate | Datetime | 有效日期 |
字段名 | 类型 | 含义 | 备注 |
ModuleID | Int | 所属模块ID | 决定该静态HTML在哪个模块中显示(主键,限定一个模块只对应一个静态HTML文件) |
DesktopHtml | Ntext | 桌面HTML内容 | |
MobileSummary | Ntext | 移动摘要 | 在“移动设备浏览器”上显示的摘要 |
MobileDetails | Ntext | 移动细节 | 在“移动设备浏览器”上显示的细节 |
字段名 | 类型 | 含义 | 备注 |
ItemID | Int | 链接Id | 主键(自动编号) |
ModuleID | Int | 所属模块ID | 决定该链接在那个模块中显示 |
CreatedByUser | Nvarchar(100) | 创建者 | 记录创建和修改该链接的用户 |
CreatedDate | Datetime | 创建时间 | 记录创建和修改该链接的时间 |
Title | Nvarchar(100) | 名称 | |
Url | Nvarchar(250) | 链接地址 | |
MobileUrl | Nvarchar(250) | 移动链接地址 | |
ViewOrder | Int | 排序号 | |
Description | Nvarchar(2000) | 描述 |
字段名 | 类型 | 含义 | 备注 |
RoleID | Int | 角色Id | 主键(自动编号) |
PortalID | Int | 门户网址ID | 可架设多个门户站点而共享一个数据库,通过PortalID区分 |
RoleName | Nvarchar(50) | 角色名称 |
字段名 | 类型 | 含义 | 备注 |
UserID | Int | 用户Id | 关联用户信息表(Portal_Roles) |
RoleID | Int | 角色Id | 管理角色信息表(Portal_Users) |
字段名 | 类型 | 含义 | 备注 |
UserID | Int | 用户Id | 主键(自动编号) |
Name | Nvarchar(50) | 用户姓名 | |
Password | Nvarchar(50) | 密码 | 采用MD5的加密方式存储 |
Email | Nvarchar(100) | 用户Email | 用于登录,并设置成唯一性索引(可防止注册相同的Email,这样设置后当有相同的Email插入时程序就会抛出异常,捕获这个异常就可判断Email是否重复,这样就可以省掉判断Email是否重复的代码) |
存储过程名称 | 说明 |
Portal_AddAnnouncement | 添加新公告 |
Portal_AddContact | 添加新联系方式 |
Portal_AddEvent | 添加新事件 |
Portal_AddLink | 添加新链接 |
Portal_AddMessage | 新建一条新的讨论留言,其中@ParentID的参数为被回复留言的Id,通过该ID找到该留言的DisplayOrder,加上新增留言的时间就是新留言的DisplayOrder。 |
Portal_AddRole | 添加角色信息 |
Portal_AddUser | 添加一个新用户,返回用户的Id |
Portal_AddUserRole | 添加用户角色关系 |
Portal_DeleteAnnouncement | 删除公告信息(注:以下删除部分若无特殊说明均为删除指定ItemID的信息) |
Portal_DeleteContact | 删除联系方式 |
Portal_DeleteDocument | 删除用户上传文档 |
Portal_DeleteEvent | 删除事件信息 |
Portal_DeleteLink | 删除链接信息 |
Portal_DeleteModule | 当删除一个模块时,联动的删除该模块相关的全部信息 |
Portal_DeleteRole | 删除角色信息 |
Portal_DeleteUser | 删除用户 |
Portal_DeleteUserRole | 删除角色用户关系 |
Portal_GetAnnouncements | 根据ModuleID(模块ID)返回有效期内的公告信息 |
Portal_GetAuthRoles | 根据PortalID及ModuleID返回模块的可访问角色AccessRoles及可编辑角色EditRoles.不过像是没有用到该存储过程,而且该存储过程涉及的表(Portal_Modules,Portal_Tabs)在数据库中没有(在用户配置文件中有类似的表),通过这个存储过程可以继续加强对模块的权限管理. |
Portal_GetContacts | 根据ModuleID(模块ID)返回联系方式 |
Portal_GetDocumentContent | 根据文档的(ItemID)获取存储在数据库中的文档信息 |
Portal_GetDocuments | 根据ModuleID(模块ID)返回用户上传文档信息 |
Portal_GetEvents | 根据ModuleID(模块ID)返回有效期内的事件信息 |
Portal_GetHtmlText | 根据ModuleID(模块ID)返回静态HTML文本信息 |
Portal_GetLinks | 根据ModuleID(模块ID)返回连接信息,并按(ViewOrder)排序号排序 |
Portal_GetNextMessageID | 获取讨论的下一条留言 |
Portal_GetPortalRoles | 获取指定门户站点(指定PortalID)的全部角色信息 |
Portal_GetPrevMessageID | 获取讨论的上一条留言 |
Portal_GetRoleMembership | 根据角色ID获取该角色对应的用户成员信息 |
Portal_GetRolesByUser | 根据用户Email获取用户角色信息 |
Portal_GetSingleAnnouncement | 根据公告的(ItemID),获取单个公告的信息 |
Portal_GetSingleContact | 根据联系方式的(ItemID),获取单个联系方式的信息 |
Portal_GetSingleDocument | 根据文档的(ItemID),获取单个文档的信息 |
Portal_GetSingleEvent | 根据事件的(ItemID),获取单个事件的信息 |
Portal_GetSingleLink | 根据链接的(ItemID),获取单个链接的信息 |
Portal_GetSingleMessage | 根据留言的(ItemID),获取单个留言的信息 |
Portal_GetSingleRole | 根据角色ID,获取单个角色的信息 |
Portal_GetSingleUser | 根据用户Email,获取单个用户的信息 |
Portal_GetThreadMessages | 根据父留言信息的DisplayOrder,返回按时间顺序和回复关系返回子留言信息 |
Portal_GetTopLevelMessages | 根据ModuleID(模块ID)返回顶层留言信息 |
Portal_GetUsers | 获取全部的用户信息,并按Email排序 |
Portal_UpdateAnnouncement | 更新公告信息 |
Portal_UpdateContact | 更新联系方式信息 |
Portal_UpdateDocument | 更新文档信息,当未找到指定文档ID时添加新的文档信息 |
Portal_UpdateEvent | 更新事件信息 |
Portal_UpdateHtmlText | 更新静态HTML文本信息 |
Portal_UpdateLink | 更新指定的连接信息 |
Portal_UpdateRole | 更新角色信息 |
Portal_UpdateUser | 更新用户信息 |
Portal_UserLogin | 根据email和password返回登录的用户姓名(用于判断用户登录是否通过) |
1./article/4677117.html
2./article/4677116.html
3./article/4677115.html
4.http://www.cnblogs.com/esshs/archive/2005/04/21/142478.html
相关文章推荐
- Liferay中portal-model-hints.xml文件的作用
- 分析.cpp文件编译生成的汇编文件里语句的作用
- Ubuntu 根目录文件作用分析
- openWRT自学---针对backfire版本的主要目录和文件的作用的分析整理
- Ubuntu根目录文件作用分析
- stm32F4各个库文件的作用分析
- Ubuntu根目录文件作用分析
- Portal學習--核心類分析
- Ubuntu根目录文件作用分析
- Ubuntu根目录文件作用分析
- 分析.cpp文件编译生成的汇编文件里语句的作用
- Ubuntu根目录文件作用分析
- Ubuntu 根目录文件作用分析
- Android中将布局文件/View添加至窗口过程分析 ---- 从setContentView()谈起
- 进一步学习文件组对于数据库的作用???
- 用蓝牙接口分析电脑、手机文件传输
- wav文件格式分析详解(网络转载)
- 利用python 提取log 文件里的关键句子,并进行统计分析
- MySql 外键约束 之CASCADE、SET NULL、RESTRICT、NO ACTION分析和作用
- Hibernate3源码分析之hibernate.cfg.xml配置文件与SessionFactory类