数字化校园主页信息管理系统的设计和实现
作者:冯兴利 锁志海 徐墨
来源:《现代电子技术》2013年第18
        要: 旧版西安交通大学主页为静态网站,无数据库支持,制作、维护、升级和扩展的工作量巨大。为此,采用Smarty模板引擎设计开发了基于MySQL的学校主页信息管理系统,大大提高了网站的建设和运行效率。系统集成了学校统一身份认证平台,方便了用户管理,增强了身份认证安全;系统采用纯静态发布和服务器异地发布相结合的方式,全方位保证了网站的安全;系统同步了新闻、通知、学术资源等多个外部站点的信息,保证了各类信息发布的实时性、可靠性。
        关键词: 模板引擎; 静态网站; 同步; 信息系统; 数字化校园
        中图分类号: TN919⁃34 TP393.4 文献标识码: A 文章编号: 1004⁃373X201318⁃0069⁃04
        0
        西安交通大学是一所涵盖多个学科门类,集多个院系部门、本科书院、附属教学医院为一体的综合性研究大学[1],学校的日常事务涉及招生、教学、科研、就业等多个方面。学校主页承载着学校各院系、各组织机构、各本科书院以及学校师资队伍、学科建设、招生就业、科研管理等多项信息,整合了学校新闻动态、通知公告、学术信息、师资招聘等各应用系统资源,网站信息量和访问量与日俱增。
        旧版学校主页系统为静态网站。采用静态网页制作技术开发的网站没有数据库支持,在网站制作和维护方面工作量较大,无法动态更新。随着信息量及访问量的日益增加,完全依靠静态页面制作技术更新网站比较麻烦;同时,由于操作复杂,所有信息的更新仅由一到两个工作人员负责,工作量巨大;此外,静态网站改版困难、升级复杂、扩展效率低。因此旧版学校主页亟待改版。为了克服上述弊端,新版主页管理系统的设计必须实现信息的动态更新,以提高网站运行效率、降低Web应用服务器负载为前提,以保证各类信息准确、及时发布为重点,以确保网站文件安全为关键。为此,本系统基于Smarty+MySQL设计,并集成学校统一身份认证平台,采用纯静态发布和服务器异地发布的方式开发完成。
        1 系统开发技术
        1.1 基于Smarty模板引擎开发
        系统基于著名的PHP模板引擎Smarty开发完成,采用视图和逻辑控制彻底分离的设计思想,将网站UIPHP代码彻底分开,既保证了程序员在修改程序时不会影响页面设计,也使得美工在修改页面设计时不会影响程序逻辑。Smarty的使用相比其他模板引擎可获得最快的建站速度,尤其适合像交大主页这种大型网站建站使用。
        此外,Smarty强大的表现逻辑、智能的模板编译、灵活的缓存机制、高度的可配置和可扩展性以及完善的安全机制[2]提高了网站的建站效率和运行效率,加强了网站的安全。
        1.2 集成统一身份认证
        本系统登录模块采用与学校统一身份认证系统集成的方式[3]。用户在访问受统一身份认证保护的系统时,只需在登录网关时使用数字化校园身份进行一次登录就可以在本次会话中访问其他所有受统一身份认证保护的系统。
        通过集成统一身份认证网关,不仅避免了用户在多个系统间多次输入用户名和密码的繁琐过程,同时由于用户的密码在统一身份认证系统中通过https的安全传输方式进行传送,应
用系统不会获得用户密码,极大地提高了用户密码的安全性;此外每一次的认证都使用了单次票据的机制,提高了用户交互过程的可信度[4]
        1.3 全站纯静态发布
        1.4 smarty模板引擎手册 在线服务器异地发布
        将网站前后台放在同一台Web服务器上,更容易使网站后台遭受到恶意攻击。本系统采用服务器异地发布的方式,将系统前后台数据放置在不同的服务器上,后台管理产生的网页静态文件通过FTP协议上传到前台服务器,用户只需在后台点击发布即可完成网页文件的异地发布。服务器异地发布方式大大减少了网页文件被恶意篡改的风险。
        1.5 站点信息同步
        随着学校各类新闻、通知等实时信息的成倍增长,学校职能部门行政人员、院系管理人员等对学校各类信息的实时性和可靠性提出了更高的要求。站点信息同步则是满足该要求的解决办法。
        信息同步的方式根据网站数据的不同有所区别,对于HTML网页文件或jpgdocrar等可下载文件,可使用FTP协议同步;对于MYSQL等数据库文件的同步,可以采用两种方式实现:一种是使用数据库本身的同步功能,另一种是借助专用的数据库同步软件,这是因为本系统只需读取其他系统的信息,不需要对这些信息进行修改,只是单向同步。
        本系统结合以上两种方式实现同步:数据库文件借助MYSQL数据库提供的同步功能实现,而对于数据库中涉及的图片、文档、视频等下载文件则使用文件传输协议到相关应用的服务器上读取,实现本系统信息与相关系统信息的同步和共享,保证了信息发布的可靠性和实时性。
        1.6 MVC设计模式
        其中,View代表提供给用户的界面,负责信息的收集和显示,不涉及信息处理;Controller负责处理ViewModel的对应关系,并将View收集的信息传给ModelModel负责处理接收到的信息,并将处理结果传回给View[7]
        数据以及在数据上的运算构成了一个ModelModel内部运行着系统核心的商业逻辑,
用于维护内部数据,并为外部对象访问和修改内部数据提供相关的命令或查询。同时当内部数据发生变化时,Model会将这个变化消息广播给所有与之相关的View[8]
        1.7 高速缓存技术
        Smarty模板引擎提供的高速缓存技术可为指定页面生成缓存,亦可全站生成缓存。当缓存变量$smarty⁃>caching开启后,Smarty在加载模板文件时首先会在缓存目录(可由程序员自定义)中查相应文件,若当前模板文件和配置文件没有变化,Smarty不再对该文件进行重新编译,而是直接从缓存目录中读取,如果该文件存在,则直接使用它,否则对文件进行编译并保存到缓存目录下以便下次使用[9]
        2 系统数据库设计
        经过分析,学校主页信息管理系统需要以下两个表:
        2.1 栏目分类表
        学校主页包含众多信息,需要对不同的信息进行归类。因此创建一级、二级及二级以上
栏目表来存储栏目信息成为数据库设计的首要问题,本表包含栏目编号、父类编号、上级栏目编号、栏目标题、栏目类型、链接地址、栏目装饰图片、管理人员、添加/更新时间、栏目状态(启用/禁用)、栏目序号等字段。
        2.2 文章信息表
        本表用于存储学校主页包含的所有栏目及其子栏目下的所有类型的内容信息,表中包含该篇文章所在栏目的栏目编号(该编号与栏目分类表的栏目编号相关)、文章标题、关键字、摘要、标题转向链接、标题图、正文(包含文字、图片、附件、视频、Flash等)、添加/更新时间等字段。
        该表除了包含上述公用字段外,还可以为特殊栏目定制字段,例如为博士生导师栏目定制的字段有:姓名、姓名拼音(此处为自动提取汉字拼音,可由管理员编辑,便于多音字的处理)、性别、所在学院、所属学科、学历、所属党派、个人简介、工作简历、研究领域方向、科研项目、学术及科研成果/专利/论文、、、个人主页链接、联系地址、是否在其他学院兼任博导、个人照片等。
        3 系统功能设计
        3.1 用户管理
        1)系统登录认证模块集成学校统一身份认证平台,并在此基础上增加用户角分类和用户IP地址验证两种方式,实现系统的三层安全访问。
        2)可对管理员进行新增、编辑、删除、激活或锁定等操作,被锁定的账户不再具备后台管理权限,激活后方可使用。
        3)既可以对所有栏目统一设置管理员权限,也可为某个栏目单独设置管理员权限。
        4)可在系统日志中查看管理员登录系统的具体时间、登录时长和IP地址来源。
        3.2 栏目管理
        1)可对栏目信息进行新增、删除、修改、排序等操作。
        2)网站的栏目层级不受限制,可根据实际情况建立所需层级的栏目。
        3)可对栏目状态进行启用禁用编辑,禁用后的栏目及其子栏目将不能使用;启用后方可正常使用。
        4)提供栏目类型选择功能,可设定栏目内容为一篇文章多篇文章外部链接等形式。
        3.3 文章管理
        1)提供文章的增加、删除、编辑、排序、置顶等功能。
        2)提供检索功能。所有文章均可按照关键字、标题进行分栏目或全站检索。
        3)内置功能完备的文章编辑器,在充分兼容主流浏览器的基础上所见即所得;支持各种复杂的文本、超链接、表格、图片、Flash、视频文件、公式、附件的插入和编辑;支持WordExcel等类型的文档直接导入,导入时能够保留文档的所有内容,包括格式、表格、图片等。
        4)可对内容进行暂存预览发布等操作。
        5)能够实现从新闻网、学术资源平台、通知公告、师资招聘等网站抓取信息并在本网站进行展示。
        6)能够导入已有的博导数据库,并将其字段和数据转换成适合本系统数据库使用的字段和数据。
        3.4 发布管理
        1)网站采用动态更新、全站纯静态发布结合服务器异地发布的方式,使用FTP技术远程自动上传网页和文件[10]
        2)网站发布可自动完成,也可通过手工方式选择性的单个或批量发布完成。
        3.5 统计管理
        具备网站访问量统计功能。系统使用开源Web统计软件Piwik统计网站的访问量。Piwik是一套基于Php+MySQL技术构建的开源网站访问统计系统,其前身是phpMyVisitesPiwik能够针对站点、栏目和文章分别进行总访问量、年访问量、月访问量等多种形式的统计;能够统计浏览者的IP地址、来源网站、访问时间、停留时长、访问次数、所用浏览器版本/操作系统版本/显示器分辨率等信息;同时可将统计结果进行导出和打印[11]

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。