Zope/Plone内容管理系统的探讨与应用

来源:互联网 发布:cpu序列号查询软件 编辑:程序博客网 时间:2024/05/16 17:29
1  前言
互联网的发展和应用是内容管理市场的强烈推动力。8年前,内容管理(Content Management)的观念开始萌芽。如今,电子商务又变得非常流行,很多企业已看到电子商务的重要作用,开始大力发展电子商务,如OA系统、协作工作平台、协同商务。企业的信息化程度不断加强,越来越多的信息将以数字化的形态呈现在信息处理、交互、传播的过程中。越来越多的媒体和企业已经重新审视自己所掌握的内容(信息资源),并视手中的信息资源为资产。
科技信息作为一种重要的信息资源,完全可以利用内容管理系统来进行管理。本文主要探讨内容管理的基本概念,Zope/Plone内容管理系统的特点,如何在实践中搭建科技信息网。阐述了利用Zope/Plone搭建了集团公司科技信息网,为本公司级用户提供科技信息、学术交流、期刊报纸、科技文摘、电子图书、图片资料、文件下载、全文检索等服务。系统应用环境:操作系统Windows 2000,Web应用服务器Zope 2.7.0,开发语言Python 2.3.3,内容管理系统Plone 2.0.3(包括内容管理框架CMF 1.4.4)。
2  内容管理系统(CMS)的概述
2.1  Web应用中内容管理的引入
Web应用的简要发展历程分为三个阶段:第一阶段,简单的信息发布,品牌推广等;第二阶段,门户功能、销售线索搜集、客户服务、客户关系等自助服务;第三阶段,电子商务(eBusiness)等。
随着信息量不断增多与Web技术的成熟与发展,客户端技术从静态向动态的演进,Web服务端的开发技术也由静态向动态逐渐发展。Web服务端开发技术的完善也使开发复杂的Web应用成为可能,Web应用也日益复杂,Web的更新方式也有了较大的变更,其变化主要有三个阶段:第一阶段:静态更新(Static),主要特点有手工编写HTML或借用网页制作工具、通过FTP上传到服务器上、更新缓慢、容易出现链接错误、对服务器无特别要求等;第二阶段:实时更新(RealTime),主要特点有制作模板、使用动态主页技术输出HTML(CGI、Perl、ASP、PHP、JSP、Serverlet)、更新速度非常快、需要服务器上有数据库支持、对服务器资源占用很严重、现在的大多数中小网站广泛采用等;第三阶段:及时更新(Just In Time),主要特点有引入了内容管理系统、自动的内容复制功能、更新及时、不依赖于服务器平台、可有工作流支持、可进行版本控制、易扩展等。
2.2  内容管理系统
Web应用需要一个完整的开发框架或应用模型,有几种主要技术的融合方式,首先,越来越多的Web开发环境开始支持MVC(Model-View-Controller),提供了全套的开发环境;其次,门户服务(Portal Server)和内容管理系统(Content Management System)成为了应用集成的重点模型。
2.2.1  什么是内容管理
内容实质上就是任何类型的数字信息的结合体,可以是文本、图形图象、Web页面、业务文档、数据库表单、视频、声音文件等。应该说,内容是一个比数据、文档和信息更广的概念,是对各种结构化数据、非结构化文档、信息的聚合。管理就是施加在"内容"对象上的一系列处理过程,包括收集、确认、批准、整理、定位、转换、分发、更新、存档等,目的是为了使"内容"能够在正确的时间、以正确的形式传递到正确的地点和人。
内容管理是目前业内的一项热门技术和应用。对于这项新兴的技术,业内尚未有一个统一的定义,是协助组织和个人,借助信息技术,实现内容的创建、储存、分享、应用、更新,并在企业个人、组织、业务、战略等诸个方面产生价值的过程,而内容管理系统就是能够支撑内容管理的一种工具或一套工具的组合。
2.2.2  内容管理系统的功能
如图1所示,一个完整的内容管理系统应具有四大功能:内容集成、内容智能、内容管理和内容发布。

图1 内容管理系统的功能结构
(1)内容集成:让使用者到不同系统中寻找到不同形式的资料文档,如文档、视频、声频、图形文件等。
(2)内容智能:是内容管理系统的核心功能模块,将内容分类归档,用以帮助使用者快速定位所需内容,按照搜索方法可分为全文搜索、上下文搜索等。现在更先进的检索技术还包括智能化知识检索技术,自然语言查询等。
(3)内容管理:是内容管理系统的主要功能模块,用以提供对内容管理过程的支持,包括:
l 内容创建和编辑,用以实现各种数据、信息、文档和程序的获取并提供创建内容的协作工具,如文档和网页制作工具,数据转换(Metadata and XML)工具等。
l 内容个性化,内容的个性化是内容管理区别于传统文档管理的一个重要特征,包括根据用户喜好的用户控制个性化、根据内容相关性的数据控制个性化等。
l 存档管理,用以实现安全存贮、管理各种形式的内容。
l 工作流,用以实现用户自定义的流程和基于角色的流程控制、审批流程等。
l 安全控制,包括数据库安全控制、加密,拷贝和传播限制等。
l 生命周期管理,主要是指对内容版本的控制,如多版本控制、版本跟踪等功能。
(4)内容发布:让所有的使用者在同一个时间接收到信息,包括传统的非Web方式的图形用户界面GUI以及新近发展起来的企业信息门户等各种方式。
2.2.3  内容管理系统的分类
内容管理系统主要有框架型和应用型。框架型:本身不包含任何应用实现,只提供底层框架,具体应用需要一定的二次开发,如商业软件中有BEA的WebLogic Portal、Oracle Portal Developer Kit、IBM的WebSphere Portal、Microsoft 的Content Management Server等,开源项目中有Cocoon、Zope等。应用型:本身是一个面向具体类型的应用实现,包含新闻/评论管理、图片、文件下载、投票、论坛、成员管理、Wiki等一些子系统。如开源项目中有PHP-Nuke、XOOPS、Plone、Wiki(维基)、phpBB等。
3  Zope/Plone内容管理系统
内容管理系统作为当前一种流行的Web应用模型, Zope/Plone内容管理系统是开源项目(Open Source Software,OSS),为我们提供了一个很好的解决方案。
3.1  Zope应用服务器
Zope(Z Object Publishing Environment,Z对象发布环境)是下一代开放源码应用服务器以及门户工具,由Digital Creations开发,已经拥有一群相当活跃的用户社群。它既可以在所有Unix/Linux平台上运行,也能在Windows、Mac OS上运行,不但能集成到其他流行的Web服务器,也带有自己的Web服务器,Zope 2.7可到http://www.zope.org下载,安装可参考有关手册。提供了清晰的数据/逻辑/表示的分离,带有可扩展的内置对象和强大的集成安全模块。还有大量的第三方产品支持。Zope采用Python语言编写,在性能敏感的部件上采用了C语言编写。
3.1.1  Zope的简要特点
与其它Web应用服务器相比,Zope可以更好更快的创建Web应用程序,主要特点有:免费、一套完整的平台、第三方产品的支持、易扩展、可在大多数操作系统上运行、高效的协同开发、提供多种和可扩展的安全框架、只使用浏览器就可以创建Web应用程序(IE、Mozilla、Netscape)等。
Zope提供了所有必须的工具,能集成来自任何数据源的所有数据和内容,构成一个连续、可维护的Web应用,如Web服务器、Web方式的管理界面(ZMI)、对象数据库(ZODB)、内容管理、内置搜索工具、强大的数据共享、安全授权、版本管理、XML的支持等。
Zope 2.7应用服务器的管理界面(ZMI)如图2所示。

图2 Zope 2.7应用服务器的管理界面(ZMI)
3.1.2  Zope体系结构
Zope体系结构如图3。
ZServer,这是Zope内置的Web服务器,用于提供内容服务。这个web服务器还通过FTP、 WebDAV和XML-RPC协议提供服务。
Web Server(Web服务器),Zope还可以和现有的Web Server结合在一起,比如Apache或者Microsoft IIS,以及其它支持通用网关接口(CGI)的Web服务器。
Zope Core(Zope核心),这是Zope的核心引擎,它控制如何显示,以及控制管理界面和对象数据库。
Object Database(对象数据库),使用Zope的时候,大多数情况下是在处理存储在Zope对象数据库中的对象。
Relational Database(关系型数据库),数据不一定要存储在Zope对象数据库中,Zope中可以使用其它的关系型数据库,比如 Oracle, PostgreSQL, Sybase, MySQL等等。
File System(文件系统),Zope还可以使用存储在服务器文件系统中的文档和其它文件。
ZClasses,可以通过使用Web管理界面来添加新的对象。
Products(产品),Zope中还可以通过在Zope服务器中的文件系统里安装"产品"文件来添加新的对象。

图3 Zope体系结构
3.2  Plone内容管理系统
Plone是基于Zope系统的优秀开源项目,包括CMF,特点是易用、功能强大,可管理发布HTML、Word、PDF等各种类型文档,支持工作流(Workflow)、用户管理、新闻/事件按排、全文搜索等功能,适合用作搭建对外网站、内部网系统、文档发布、协同群件系统等。Plone 2.0.3可到http://www.plone.org下载,安装可参考有关手册。
3.2.1  系统特点
l 易用:Plone的开发团队中包括专职的可用性设计专家, 他们使得Plone的添加、修改和维护等操作更加易用,支持结构化文本。
l 多语言:Plone界面支持30多种语言,系统本身也包括管理多种语言的工具。
l 标准:Plone遵循相关可用性标准和可访问性标准开发,支持IE、Mozilla、Opera等浏览器,以及PDA等手持设备上的浏览器;支持HTTP、HTTPS、FTP、WebDAV、XML-RPC等多种标准协议。
l 开放源代码:Plone使用和Linux相同的许可协议(GPL)。用户可以直接使用Plone,而不需要支付任何许可费用, 并可在其上进行定制扩展。
l 可扩展:有丰富的第三方产品可供选择,如讨论区、图片库、投票等,可以很容易扩展Plone系统,增加新的特性和内容类型。Plone本身也是一个开发平台,可使用Python、ZPT、DTML脚本语言进行更多地定制开发。
l 跨平台、支持多种数据库。
操作系统:Linux、Windows、Mac OS X, Solaris 和 FreeBSD;
数据库:可同绝大多数的关系数据库系统(开源的和封闭源代码的)进行接口。
3.2.2  主要功能及第三方应用型产品
Zope是一个高可扩展的系统,Plone作为Zope的第三方产品,继承了这个特点,可以在Plone的基础上扩展各种应用,可以很轻松地安装和卸载,并可以进行个性化定制。
Plone系统本身所具有的主要功能:页面文档管理(Document),其他形式的内容管理-有图片(Image)、文件(File)、链接(Link)、查询集(Topic)、文件夹(Folder)、新闻(News)等,查询检索(Search),权限管理,工作流系统(Workflow System),成员管理(Members),还有评注文档、站点参数配置、第三方产品的安装、定制站点界面等。
其他第三方产品(可在http://www.zope.org下载):
l 论坛--CMFBoard和CMFForum,可以设置一个或更多的子论坛;每个子论坛可以设置不同的状态。
l 图片--CMFPhotoAlbum和CMFPhoto,建立一个图片集文件夹,可以轻松自如地管理图片,可以添加图片,编辑其属性(主题、描述、上传图片);还可以对图片进行变换(旋转、翻转);浏览图片时可以分页显示。
l ZWiki--ZWiki是在Zope平台上提供的Wiki服务。它在功能上比传统的Wiki有所区别,主要有:Wiki名字的更灵活;可选的标记格式,如:结构化文本、HTML/DTML、Wiki标记语言、无格式文本等;页面的层次化,即可以显示出页面创建的级别,可以直接看到包含当前页面的父文档链接。
l 文件--由于Zope除了对数据库的支持,Zope还支持文件系统。可以把指定的当地文件系统的文件信息加载到站点中的一个文件夹,也支持HTTP上传文件,并对文件添加注释,可创建子目录。
l 调查--PlonePopoll,可以自由地建立各类调查,只要编辑其调查的问题及选择的项目,就可以生成一个调查,每位用户都可以对调查投出唯一的一票;并且可以对调查结果作简要的图形分析,显示投票总数及每个项目的票数。
3.2.3  Plone完全支持中文
Plone支持中文的目标是:(1)界面支持中文;(2)支持中文查询;(3)其他应用程序也支持中文。Plone 2.0.3已默认支持中文(由润普科技ZopeChina提供),标准的Plone安装后,自动支持中文的界面,但是不支持中文的全文检索,结构化文本也不太支持中文。根据润普科技ZopeChina提供的方案,需要下载CJKSplitter和ZopeChinaPak的最新版本安装,建立Plone站点时选择"Default Chinese Plone"的个性化Plone设置,界面即可支持中文。最大特点是支持任意的语言:中文简体、繁体、日本、韩文、欧洲。通过设置,可以让Plone支持中文全文搜索;其他应用程序只要有汉化包也就可以支持中文,即*-zh-cn.po或*-zh.po,也可使用第三方产品Localizer进行本地化。
4  利用Zope/Plone内容管理系统整合科技信息
4.1  科技信息网项目背景
科技信息作为企业一种技术资源,根据企业的发展状况,科技管理主要产生的信息有:科研课题、学术论文、图片资料、期刊图书等,包括文字、图片、图表及视频,信息资源丰富、内容容量大、借阅访问者多。如何把科技信息通过网络的形式建设成为公司的知识资源开发利用中心,实现上述信息资源的集成与共享,加快公司在科研、生产和经营方面获取信息的速度。
科技信息网的规划建设,涵盖了从内容采集、存储管理、编辑审核一直到传递服务的全部内容管理生命周期的管理。整合公司的科技信息资源,提高信息的利用率,最大限度地共享科技信息。
4.2  基于内容管理技术的系统设计
建立科技信息网的目的是为了实现将来自科技管理处各职能室的科技信息(含文字、图片、图表)全部整合,并通过这一系统公司各部门对科技信息的共享。将总体需求划分为核心应用需求(信息采集、信息分类、信息编辑、信息发布、信息检索、安全管理等)和辅助应用需求(用户管理、日志管理、访问统计、站点调查、信息提示功能、支持多语言、数据的维护、站点的个性化设置、在线统计、日历等)。
4.2.1  整体功能框架
科技信息内容管理系统的整体功能框架如图4。

图4 科技信息内容管理系统的整体功能框架
4.2.2  硬件系统结构
基于Zope架构进行多层体系结构设计,在公司的局域网中可以实现多用户、多操作系统的应用,可以在不同的时间、办公地点进行内容的管理,更有效地整合科技信息,实时地为用户提供科技信息;系统可以轻松地对对象内容的扩展,增加各种形式的内容。用户只要通过局域网用浏览器就可以浏览信息,硬件系统结构如图5。

图5  硬件系统结构图
4.3  Zope/Plone内容管理系统的配置与应用
前文提到Zope/Plone内容管理系统的众多特点及功能,并且使用Zope/Plone来搭建科技信息网,考虑到信息的多来源、多形式,有图书文献采集的科技文摘、科技活动中产生的科技信息、科技图书馆的报刊杂志、学术交流活动产生的论文资料(包括Word)、公司各项活动中荣获的奖励证书图片及科技图片、图书馆的电子图书(PDF、CEB、Word、Html)、常用文件下载(应用程序、Word资料、各类表格)等。
4.3.1  Plone第三产品的安装及应用
在Zope系统中建立一个Plone站点,根据Plone的基本特性和科技信息网的需求,需要充分了解Plone现有的一些第三方产品,建立一套第三方产品的使用方案。Plone默认普通文档主要有页面文档(Document)、事件(Events)、新闻(News),这些文档都不能很好地与图片、附件等其他资料混合在一起,很难适应我们具有文本、图片、附件为一体的信息。同时Plone没有完整的图片发布与管理产品,当然也没有调查、统计等第三方产品。可以安装第三方产品,如:PloneArticle(Plone文档)、CMFPhoto和CMFPhotoAlbum(图片资料)、ZWiki、ZAAPlugins和ZattachmentAttribute(附件)、PloneExFile、PloneLoginHistory(登录历史)、PlonePopoll(调查)、WhoOnline(在线统计)、MxmCounter(访问统计)等。
4.3.2  安全及权限设置
有了完备的第三方产品后,整个系统的功能基本实现,为了能符合硬件系统机构的要求,每位员工能协同工作,Plone为用户提供了文件夹的角色分配。内容的所有者可以为其他用户分配角色,即可使多用户对内容进行管理。
4.3.3  系统的应用
通过对Zope/Plone内容管理系统的合理配置,搭建了一个稳定、高效、安全的科技信息网,如图6。

图6 科技信息网
5  结束语
随着企业经营模式的变化和技术的不断发展,从内容管理诞生到今天,关键技术的研究侧重于支撑内容管理平台的核心技术研究,主要包括XML和元数据技术、工作流管理技术、应用集成技术以及数据检索和挖掘技术。Zope/Plone内容管理系统作为开源项目,正适应内容管理关键技术的发展要求,笔者尝试为企业或部门建立一个稳定、高效、安全的内容管理系统--科技信息网。通过基于内容管理技术的科技信息网可以有效管理企业的现有智力资产,保持企业的核心竞争力;建立学习平台,不断提供员工的素质,提升企业的素质;减少重复劳动,工作都可以在此前积累的基础上继续进行,避免员工或组织内的重复劳动;建立协同工作平台,提高工作效率。

参考文献
[1] (美)H.M.Deitel,P.J.Deitel,J.P.Liperi,B.A.Wiedermann著,周靖译,《Python编程金典》,清华大学出版社,2003年6月
[2] (美)Roger S.Pressman著,梅宏译,《软件工程-实践者的研究方法》第五版,机械工业出版社,2003年3月
[3] 王咏刚,《Web开发技术史话》,《程序员》2004年第五期
[4] 新华社待编稿库项目组,《运用内容管理,整合信息资源》,《中国传媒科技》2004年第五期
[5] 韩啸、曹辉,《内容管理的关键技术》,《中国传媒科技》2004年第五期
[6] http://www.cmswire.com
[7] http://www.zope.org(Zope官方网站),The Zope Book (2.6Edition)
[8] http://www.ZopeChina.com(Zope中国网站)
[9] http://www.plone.org(Plone官方网站),The Plone Book (2.0 Edition)

原创粉丝点击