.net教程:用asp.net 2.0开发内联网
[size=3]在本系列的第一部分,我们将了解一些可能的模块,如联系与文本管理功能,并为应用程序构建sql server数据库。在第二部分,再应用vwd为内联网建立基本的联系管理模块。
联系管理
联系管理是优秀内联网的核心需求之一。它也是一个最简单的模块,是公司与个人信息的简要资料库。
由于工作环境中的用户经常要使用带一些内置联系管理功能的电子邮件,所以将内联网联系管理功能与用户本地地址簿结合起来很有好处。
可以在微软exchange环境中应用共享联系功能,在这种情况下,内联网模块可以直接以exchange为界面。如果缺少exchange服务器,用户可应用简单的输出功能手工使联系管理与内联网同步。
用于追踪内联网文件状态的基本资料库
文本管理
集中型的文本库是内联网的另一项主要功能,它提供服务器简单文件存储功能以外的关系与管理功能。
例如,文件版本、工作流及文件登入与登出功能都是文本库的基本功能。
将文本存储在磁盘上还是数据库内,这要依其它因素,如应用程序的安全性或实用性需求而定。
项目管理与时间表
项目管理功能可附加在联系管理系统之上,通过它给用户分配项目,并为项目分配资源。
如果拥有文本库,还可将文件分配给用户、资源与项目。要获得额外的功能,可将项目分解成任务,每个用户分配依赖、状态与完成此任务的用户。每天结束时,用户又可完成时间表,以表明在每项任务上花费了多少时间。
共享日历与资源预订
尽管上述三个模块是大多数内联网的基础,但在管理会议室与办公室设备方面,日历与预订计划(booking schedules)也是有效的管理工具。
存储在内联网内的联系管理、预订与共享日历可复制由microsoft outlook之类的电子邮件客户端执行的功能。
在这种情况,你需要评估整合这两个系统的最佳方法。例如,可结合exchange服务器共享日历或编写连接内联网网络服务的vbscript宏来同步会议与日历预订。
另外,还可以通过电子邮件应用内联网日历来生成会议邀请及相关内容。这可以加强它与outlook或其它使用日历功能的应用程序的结合。
建立数据库
在给页面编码时,需要设计并建立数据库。在下表中,我们建立了12个表格来存储上面讨论过的内联网模块。让我们来简单了解一下这些模块。
公司
该表格用于存储客户公司信息,因此是联系管理模块常用的表格之一。虽然现在只建立了11个域,但在生产过程中肯定需要更多。
联系人
此表格用于存储个人联系信息。联系人表格有一个可选的“companyid”域,用来将联系人与公司结合起来。在公司表格中也有一个相似的“contactid”域,用来鉴别某人是否是一个组织的主要联系人。
这种布局并不适用于所有情况,你可能需要考虑其它表格来将联系人与公司(也可能是项目)对应起来。还要注意,为使数据库尽可能简单,我们也应用联系人表格来存储雇员信息。表格结构中包含一个“isemployee”布尔值,以对此进行管理。
预订
这是一个简单的表格,它存储资源预订的起始时间,应用联系与资源id与预订建立对应。
资源
资源表格存储任何可预订的资源的名称,如会议室或笔记本电脑。
项目
这是项目管理模块的核心表格。项目记录包含名称、状态与注释。clientid域用来在公司与项目之间建立对应,联系人表格则用于客户联系人与雇员联系。
这是本教程中的基本项目管理模块
状态
此表格用于存储“未决”、“等待”、“等待批准”、“合格”与“进展中”这些状态类型。
在更为复杂的应用程序中,可能有必要区分文本状态类型与项目状态类型,则将后者与某种累计序列合并起来。
文本
文本表格存储文本管理模块使用的大多数信息。在数据库中应用blob域,但这里我们存储文件名与文本的位置。
此方法还要进行额外的编程,以保证文件系统与数据库记录保持同步。
asp.net网站的时间追踪器样本项目可作为整个内联网的基础
文本类型
此表格存储文本库中的有效文件类型表,以及mime类型与合格文件扩展名信息。
联合
虽然在执行过程中,每种类型可能需要单独的表格,但我们决定用一个独立的表格来存储数据库项目之间的联合。
例如,companyid, projected, contacted, resourceid与documentid这些域全都被没有执行的外部键引用。
任务
此表格存储联合项目的任务。通过contactid域向雇员分配任务,通过statusid域分配状态。
依赖
此表格用于在项目任务之间建立关系。taskid域与dependencyid域与任务表格对应,在两个记录间建立连续关系。
时间表
此表格存储雇员完成一项任务所用的时间,并提供一个可选注释域,以方便分配任务的用户记录执行项目过程中出现的问题。
此数据库是内联网的基础。包含整个sql方案,并带有一些虚构内容的脚本可随本教程一同下载。当你在本教程结束阶段建立asp.net 2.0页面时,即可拥有它的一个工作版本。
[/size]
页:
[1]