Plone是一个可以直接执行的内容管理系统,它建立于强大免费的zope应用服务器上。Plone 是一套内容管理系统,一种网页式应用软件,简单地说,Plone 就是一部快速建站机,有了这套软件,不熟悉技术的人,也能轻松地管理网站会员和内容,类似的工具例子有Drupal、Joomla!、SharePoint 等。
Plone概况
Plone简介
- Plone非常易于安装,极其灵活,并提供一个管理WEB内容的系统,它是内部网/外部网、社区,WEB站点,项目组的理想工具。Plone起源于2000年,凭借Zope/CMF的强大功能和社区领导人Limi及Runyan的组织能力,Plone得到迅猛的发展,被公认为最优秀的开放源代码内容管理系统。
- Plone的用户包括德国汉莎航空公司、美国航空航天局在内的众多知名客户。Plone方便安装,可以通过一个安装程序, 轻松点击几下, 只需要几分钟, 便可在计算机上完成安装. 容易使用,Plone的开发团队中包括专职的可用性设计专家, 他们使得Plone在添加、修改和维护等操作更加易用。
- 国际化的Plone界面翻译成了30多种语言, 而且包括包括管理多种语言内容的工具。Plone认真地遵循相关可用性和可访问性标准。
分层式的网站架构
- Cal Henderson曾在他的撰书中表示,好的网站系统,应该像一个英式叠层蛋糕。也就是,网站系统应以分层方式,提供开发人员一个强固而延展的架构。
- Plone 系统以分层方式设计,主要分成三大层,各自负责不同功能:
- 资料储存: 预设使用物件资料库,也可以结合SQL资料库或档案系统。
- 逻辑运算: 处理流程控制判断或资料转换的工作。
- 外观呈现: 负责使用者介面或资料呈现的工作。
- 系统在开发扩充的过程,像是堆砌乐高积木,积木本身需要进行单元测试,模组结合时需要进行整合测试,以确保软件品质和系统稳健度。
Plone的特点
系统特点
- 1、容易上手
- 支持Linux, Windows, Mac OS X, FreeBSD, Solaris. 使用安装程序,只需数分钟,就可运行起来。没有复杂的安装设置过程。其它的类似系统,一般需要安装数据库,需要配置和Apache服务器的集成,需要专业人员才能完成安装。但Plone的安装是傻瓜型的,非技术人员就可以完成。
- 可用于超过35种语言,plone的设计基于多种语言管理平台。它可以处理中文,日文,甚至那些从右到左书写的语言,如阿拉伯语和希伯来语。安装相关插件后,Plone对中文有完善的支持。
- Plone采用了贴近用户现有感受的方式来设计,Plone的界面是符合工业标准的设计。
- 2、用户友好
- plone包括一个功能强大的可视编辑器,支持文本格式编排、图片和链接的插入能力。如果已经能熟练使用Office套件工作,那使用起来就是轻车熟路了。
- 所有的内容可供立即搜索,甚至包括Word文档和PDF文件中的文字。“实况搜索”功能,让所有这些触手可及。
- 上传一张图片,它自动缩放生成不同的大小,可在你的内容中使用它,不需要使用Photoshop软件。
- plone很容易定制外观风格。它能够完全套用现有的外观,或者添加一种属于自己的全新风格。另外,plone.org上有众多皮肤外观供下载选用。
- 3、功能强大
- 使业务流程成为文档工作流的一部分 - 同时附加了“傻瓜型”的安全管理。
- 自带负载均衡和智能缓存代理集成功能
- 细粒度的、基于角色的安全模型,使内容更加安全可靠。Plone的权限沙箱架构确保即使系统有安全漏洞,入侵者也不可能访问服务器或者你的网络。
- 聪明的文件夹,聪明地更新内容。Plone自动地从文件夹、搜索结果等中生成RSS聚合信息 - 这是站在信息爆炸最前沿和定制信息分发的最理想方式。
- 4、符合标准
- 满足或者超过了针对视力和行动伤残人士的美国政府508条款和W3C的WAI-AA标准。为了在所有的浏览器上运行,所有的Javascript使用都有一个替换的模式。
- 100%有效的XHTML和CSS可良好满足搜索引擎和web浏览器的需要。Plone站点在Google的搜索结果中一直保持着很高的等级
- LDAP,SQL,SOAP,Web服务(WSDL)和WebDAV -Plone 都可以结合它们一起工作
- 很容易和LDAP、活动目录和SQL数据库集成,可方便地编写认证插件进行扩展。
- 5、得到支持
- Plone采用和Linux相同的开源许可,使用开源的Python编程语言和Zope应用服务器。这避免了被供应商锁定、昂贵的许可费用,并给你一个可预知的未来 - 可自由地更改革新。
- 6、创新和可扩展性
- 数百个Plone的附加产品可供使用 - 论坛,讨论追踪器、博客、和一些协作的工具。
使用特色
- 1、快速上手的安装档案
- Windows、Linux、Mac 环境都具备自动安装档,协助使用者第一次安装就上手。
- 以Windows Installer 为例,下载Plone-4.?.?.exe 档案执行后,会出现常见的安装画面。 设定管理员帐号密码后,一路点击“Next”按钮就能完成安装。
- 执行Plone 后,可以透过Controller 来管理Plone 系统的启动与停止,设定系统的埠号。
想在Windows环境享受更多便利特性的朋友,别错过Enfold Systems公司提供的工具,例如 Enfold Desktop 软件可以让你结合MS Office来管理内容。
- 2、直观一致的操作介面
- 依照权限与角色的不同,系统会提供不同的功能,造成使用者看到略为不同的画面,但整体介面是直觉而一致的。
- 未登入的访客会看到上述的画面,包括帐号登入与行事历的方框。
- 登入后的使用者会看到My Folder 之类的管理功能。
管理员则会看到更多管理功能,例如Site Setup、Manage portlets 等。
- 便利的内容编辑介面
- Plone 内建“所见即所得(WYSIWYG)”网页编辑器,预设工具称为TinyMCE,也可以换用其他工具,例如旧版的编辑器称为kupu。
- 藉由网页编辑器,使用者可以轻松地编辑HTML 文件,包括设定文字风格(例如粗体、斜体)、对齐方式、条列方式、连结方式、插入图片等。
- Plone 可以启用即时编辑的功能,让使用者可以快速编辑特定的资料栏位,例如点击一下标题栏位,就可以直接修改标题的内容,而不必载入所有的内容资料。
- 企业级的安全与功能
- 除了操作便利的优点外,Plone的安全性极高,在 National Vulnerability Database 只发现少数的安全缺失,相对的,像PHP的CMS产品就发现许多安全缺失。
- Plone重视升级过程的相容性,也具备企业级应用的功能弹性,像是工作流程、规则触发引擎、多国语文支援、版本控制、快取设定、系统升级等。 想要维持网站的稳定及高延展性,可以采用 Entransit 软件,它也能够与.Net、Java、PHP等开发环境结合。
- 以Plone提供的 LinguaPlone 多国语文支援为例,包括能够“由右到左”显示的语系,像是阿拉伯文、希伯来文、波斯文等,而且“由右到左”与“由左到右”的内容能同时出现在同一网站。 多国语文支援是Plone的强项之一,许多欧洲地区或联合国组织选择使用Plone架站,就是看上这项优势。
- Plone开发者在改善介面美观之余,也重视操作亲和度,并注意相容于网页标准,例如,它符合US Section 508 及W3C's AA rating for accessibility 规范。
以Python和Zope为基础的Plone
- 从技术层面来看,Plone 以Zope 和Python 为基础,如果要开发新功能,就需要额外学习Zope 与Python 的技术与知识。
- Zope 是Z Object Publishing Environment 的缩写,一套以Python 程序语言撰写的Web 应用程序服务框架,它提供的服务包括网站服务器、资料库、会员及权限管理、搜寻引擎等,这些服务元件都以egg 型式(类似Java 的jar 型式) 存在,它们就扮演乐高积木的角色。
- 开发人员可以设计自己的模组或应用程序,建造属于自己的乐高世界,而Plone 就是架构在Python 和Zope 基础之上,着重于内容管理领域的应用程序。
- Plone引用一套称为 buildout 软件工具,在建置专案开发环境的过程,它能快速产生程序码样版范例,设定基本的系统选项参数,执行程序代码测试和subversion上传,大幅降低开发的门槛,并提升程序代码与软件工具再利用的效率。
Plone与Zope的发展历史
发展的背景环境
- 早期的网站服务器,如果想要产生动态网页的效果,使用CGI (Common Gateway Interface) 是最常见的方式,同时,也会配合执行环境,搭配一个程序语言及资料库软件来存取资料,例如Perl 和MySQL 就是当时常见的方案。
- 注意:继CGI 之后,动态网页广泛使用PHP 之类的方案,常见以mod_php 型式与Apache 服务器一起运作。
- Zope的作者Jim Fulton是一位Python编程好手,1996年之际,他受邀担任网站CGI程序设计的讲师,初识CGI技术的他,并不满意它的架构方式,重新以Python语言撰写了几个用于网站开发(称为网页物件出版功能)的模板,后来在继续扩充模板的情况下,Zope的系统原型就此诞生,Jim Fulton并组成一家Digital Creations公司展开Zope的开发,接近2000年之际,Digital Creations公司正式更名为Zope公司,专注Zope产品的商业化工作。
以新闻出版系统作为前身
- Zope系统最早是针对新闻媒体界的应用需求所设计,因此除了一般的会员管理、安全机制、内容物件管理、编目与索引之外,也很快纳入版本管理、工作流程管理及版型主题等服务。
- 这些入口网站所必备的服务功能,初期称为Portal Toolkit (PTK),不久再改名为CMF (Content Management Framework),变成独立的开放源码专案,由于CMF拥有良好的延伸弹性,引发更多奠基在CMF之上的扩充专案,Plone (最早称为CMFPlone,用来取代CMFDefault的角色)就是这类扩充专案中的佼佼者。
- CMF 是一个在Zope 开发环境之上的入口网站服务架框,由于它的开发焦点是在基础服务模组的研发与测试,长久以来都有不够稳定,介面不够美观、易用度不高的缺点,Plone 专案计画的主持人- Alan Runyan 与Alexander Limi,便接手解决上述的问题,没想到这样的改善构想,迅速吸引广大开发者的认同与参与,Zope与CMF便退居Plone这颗闪亮巨星幕后了。
- 这些模组分别称为Bobo、Document Template、BoboPOS。
- 以CMF为基础的扩充专案包括NuxDocument、Silva 等。
转型与跃进
- Zope与Plone仍然不停在演化,目前,两者的改版步调是独立前进,但期待趋向一致。 2005年之际,Zope的版本开始分成Zope 2与Zope 3两大体系,Zope 3是从头撰写的全新软件,它导入新的Component Architecture设计框架,优点之一是让开发流程能与Python社群紧密结合。
- Zope 3初期和Zope 2并不相容,但利用一项称为 Five 的桥接模组,让Zope 2也能应用到Zope 3的技术,例如interface、adapter、view等元件,达到逐步转型并维持相容度的效果。
- 最新版的Zope实作成果,以 Zope Toolkit 为名继续发展,它的理念是维护一份核心函式库,但并不提供特定的专案实作规范,因此成为 BlueBream 或 Grok 等洐生计画的基础,这些衍生计画都有特定的专案实作规范。相关资源参见Plone的过去与未来
Plone的社群现况
Plone的历史表现
- 2003年十月,O'Reilly与OSDir举办“开放源码社群送进COMDEX”竞赛,Plone是优胜社群之一。
- Packt举办开放源码CMS大赏活动,Plone在2006年十一月获得第三名,在2008年十月赢得Best Other Open Source CMS Award。
- 2007年六月在CMSWatch的Web CMS Report四大评比中,Plone获得极高的平均分数。
- 2007年八月Plone 3推出,正式纳入 OpenID 在内的支援。
- 2008 年二月,Google 的Highly Open Participation Contest 赞助29 项Plone 改善工作。
- 2009年九月,由索罗斯基金会支持的Open Society Institute 赞助四万美金提供Plone 开发者参加研讨会。
- 目前Zope和Plone开放源码专案分别由 Zope Foundation 及 Plone Foundation 维护与开发,并有全球超过300家商业公司提供客制化开发服务,截至2008年10月为止,超过200名开发者活跃地更新核心原码,并有网友每月主动举办 Plone Tune-Ups 线上活动。
Plone发展蓝图
- 2007 年八月Plone 3.0 推出,特色之一是导入文件版本管理功能,使用者可以锁定线上版本,在新的工作副本上编辑,完稿后再正式更新线上版本,因为编修过程都有历史记录,使用者还可以复原成之前的旧版本。
- 依照规划,整个Plone 3.x依旧属于Zope 2体系,着重于软件包装的改善,例如installer、egg、buildout等工具,还有整合了AJAX技术,包括WYSIWYG Editor、 jQuery 等工具。 举例来说,从Plone 3.1开始,模组目录名称从Products换成products,就是要提醒使用者移往新的系统架构。
- 这些新的工具与技术,经过引用及测试后,核心模组已大幅稳定,2010年9月正式问世的 Plone 4 是上述成果的里程碑,底层改用Python 2.6执行,反应速度明显提升,搭配新的样版引擎和快取模组的话,效能会更好。
- 相对来说,Plone 4是个改进式的产品,Plone 5则是革命式的里程碑,它将引进 Deco/Tiles 系统,大幅改善内容编辑的使用经验。
版本号 | 发布时间 | 主要特点 |
---|
2.0.5 | 2004/12/01 | Printer Stylesheets |
2.1 | 2005/09/06 | Archetype, selectable_view |
2.5 | 2006/06/17 | PAS, Zope3 Views |
3.0 | 2007/08/21 | GenericSetup, Staging, Workflow |
3.1 | 2008/04/22 | Portlet Manager, buildout |
3.2 | 2009/02/07 | egg, installer, jQuery update |
3.3 | 2009/08/19 | maintenace release |
4.0 | 2010/09/01 | Python 2.6 based |
4.0.2 | 2010/11/23 | bugfix release |
Plone国外社群
- EEA (European Environment Agency) 是欧盟提供环保政策资讯的单位,他们在 EIONET (European Environment Information and Observation Network) 提供GIS、专案管理、网站设计指南等工具资讯,主要的资讯由Plone担任入口网站角色。
- 在纽约市,一群爱好open source的朋友发起 The Open Planning Project 活动,他们架网站、写程序、线上讨论,以Plone为核心工具,结合pylons、wordpress、mysql等软件,目的是让全体市民能够发声、组织、分享,创造更好的公民生活。
- EngageMedia collective 提供影片分享的网站软件,以澳洲、印尼等地为服务据点,收录社会正义与环保议题的纪录片。
- 一群关心Plone商业应用的朋友,借由 GetPaid 软件计划,让Plone能提供线上募款、购物车等功能。
- 索罗斯基金会所支持的 Open Society Institute (OSI)使用Plone技术,并结合Python及Repoze开发架构,建构了 KARL 资讯系统,这套系统支援OSI组织内部及社群经营之用。
- 几个采用Plone 技术的社群专案,整理列表如下:
项目 | 描述 |
---|
CoActivate.org | a platform for social activism |
WebLion | a customized CMS for Penn State |
Plumi | a video sharing content management system |
Plinkit Collaborative | a multi-state cooperative supporting public libraries |
Objectis | a free Zope and Plone application service |
PloneGov Initiative | a collaboration for public organization |
Economics E-Journal | an open-access, open-assessment e-journal |
Connexions | a place to view and share educational material |
SchoolTool | gradebook, attendance, calendars and more |
GetPaid for Plone | a framework for online payments |
ZenOSS Core | a software to monitor netwrok, systems, application |
Plone台湾社群
- 台湾Plone社群活动通常出现在 Python 或Open Source CMS的宣传管道里,台北市经常举办 World Plone Day (全球Plone日)活动,预计每年四月间固定举行。
使用Plone应考量的因素
-
- OOTB就是随装即用的状态,完全使用预设功能来启动Plone环境,通常是在30分钟内体验Plone的主要特色。
- 然后,比较预设功能和实际需要之间,有多大的差距,再到 Plone Product 或 ContentManagementSoftware.info 网址,查询是否已有类似的模组产品满足你的需求。
- 持续学习Plone 的过程,也会认识到Python 程序语言,有助日后再学习Google App Engine、Django、Turbo Gears、Pylons 等工具。
-
如果架设的网站以正体中文为主要语言,当然会关心在本地资源的支援状况,下列是一些范例:
- 中文讯息介面翻译: http://plone.org/support/forums/i18n
- 断字断词功能: http://code.google.com/p/bigramsplitter
- 中文线上文件: http://www.iis.sinica.edu.tw/~marr/python
- 中文讨论区: http://groups.google.com/group/pythontw
- 多国语文支援: http://plone.org/products/linguaplone
- 中文Office支援: http://plone.org/products/c2.transform.msoffice
-
- 如果想在代管主机上执行Plone,会是一项挑战,因为台湾的hosting serivce provider并不主动支援Plone,支援Python的也很少,国外支援Python的代管主机虽然多,总有人会认为不方便,评估方式可点击这里查看说明。
- 例如,到 Objectis 可以直接申请Plone 3的免费主机空间,是最方便的管道之一,使用 PondCMS 可以和Amazon Elastic Compute Cloud 结合,是需要花钱的方案,而 Google App Engine 虽然支援Python 2.5.2版本,但暂时只能利用 ContentMirror 工具把静态资料放上GAE。
Plone使用手册
相关条目
参考来源