安装ZOPE包 难度:新手 技能: 你应该知道如何在你的操作系统上使用命令行。你应该知道如何安置Python和Zope3(并且在阅读本章之前做好这些事情)。 问题/任务: 在安装了Zope3之后,你就可以用它来做很多事情了。 然而,还有一些有趣的第三方的包,比如关系数据库适配器和Wiki实现。 本章将演示如何安装这些包,尤其是由Zope仓库支持的包。 解决方案: 在Zope3中安装第三方的包比在Zope2中更加Python化和明确化。 一个Zope3的附加包可以放在你的Python路径的任何地方,就像其他的Python包一样。 这意味着你可以使用distutils包来分发你的附加包。 然而,当你安装完成包之后,Zope3框架并不知道这个包,当然也没有所谓的魔术包检测技术来发现可用的包。 Zope3框架是采用Zope配置标记语言(Zope Configuration Markup Language,ZCML )来配置的。 Zope特定的Python 包也使用ZCML来向Zope中注册他们的组件。 因此我们将必须在启动过程中注册包的根ZCML文件。 在这章我将要演示如何安装Zope3的"Wiki"应用。 如果你正使用仓库版本的zope3,它已经安装过了,但是其安装步骤对于其他包来说都是一样的。 第一步:决定安装路径 决定在什么地方安装包可以说是最困难的难题中的一个,因为包可以放在路径层次任何地方。 例如,Jim Fulton的Buddy Demo包是一个顶级的Python 包,凭此Wiki应用就放在zope.app并且Jobboard Example放在zope.app.Demo里。 然而,我们通常想将任何的第三方的包放在公共的Zope3目录结构中,因为随后它将更加容易的被找到。 当我们决定了Zope3的包根目录,我们就准备就绪了。 For the repository distribution the package root is Zope3/src, where Zope3 is the directory that you checked out from the repository, i.e. 对于仓库分发版,包的根目录是Zope3/src,Zope3就是你从仓库中检出的那个目录。例如:svn://svn.zope.org/repos/main/Zope3/trunk。 对于分发版,包的根目录是Zope3/lib/python,这里的Zope3默认是/usr/local /ZopeX3-版本或者是在配置(configure)时指定的前缀(--prefix)。 因为我们将要安装的是wiki应用,所以我们必须去Zope3/zope/app目录,这个目录在每一个Zope安装里都应该有的。 第二步:从SNV获得wiki应用程序 下一步是取得包。 通常你大概仅仅需要下载一个TAR或者ZIP文件并解压在它的目录里。 然而,对于wiki应用是没有这样的压缩文件,所以我们必须从SVN取来这些包。 假定在你的电脑上已经安装了SVN客户端,你可以使用以下的命令来从Zope X3 3.0 分支匿名检出Wiki的包。 svn co svn://svn.zope.org/repos/main/Zope3/branches/ZopeX3-3.0/src/zope/app/wiki wiki (译者注:在翻译本文档的时候,该路径已经改变了,请用SVN客户端从Zope目录开始浏览并定位wiki的路径。) 当SVN允给你给创建的目录起任意名字的时候,有必要将其命名为Wiki,因为导入包的时候假定使用这个名字的。 当命令行返回后,那个包应该位于Zope3/Zope/app/wiki下面。 第三步:注册包 下一步是向zope3框架注册包的新组件。 为了实现这个,我们必须在package-includes目录下放一个文件。 在仓库体系中,这个目录在Zope3里。 在分发版安装中,它位于Zope3/etc。 此刻进入这个目录,增加一个文件叫wiki-configure.zcml,并输入以下内容: 1 <include package="zope.app.wiki" /> Package-includes目录有特殊的意义。它可以执行所有以-meta.zcml结尾的文件。这个目录将在所有的元指令被初始化的时候被执行,并且所有以-configure.zcml结尾的文件在所有其他的配置项完成后被计算。 当你保存文件之后,Zope将能计算那个wiki包的配置。 第四步:确认安装 如果Zope3正在运行,停止它。启动Zope3并阅读启动时打印出来的消息。如果启动时没有任何错误信息,那么你的包已经成功安装了。 注意Zope3(与Zope2相反)并不向你展现哪些产品已经成功安装了,因为"Zope add-on"还没有一个正式的概念。 然而,你通常可以通过进入ZMI来立即断定一个安装是否成功。如果"Wiki"对象对于新建内容类型已经生效,那么你就知道该配置被正确的装载了。 第五步:添加一个示例Wiki 在浏览器里输入http://localhost:8080/或者根据你Zope3安装的位置来定的URL。点击导航区(左上角)的"top"文件夹。 增加一个示例工作看板: 点击动作菜单的"增加"。 从内容类型列表中选择"Wiki "。 在文本输入框中键入"wiki "(不含引号),然后点击"增加"按钮。 因为Wiki对象提供了一个自定义的增加屏幕,你必须通过点击"增加"按钮再一次确认。 你此刻将在对象列表中看到一个Wiki入口。为了试用这个对象,仅仅点击"Wiki"即可。 好吧。就像你看见的那样,安装一个Zope3的附加包相当于安装一个Python的包的方法,只不过你需要指定一下对应这个包的ZCML文件而已。