第四章-深入Plone设置与管理.doc_第1页
第四章-深入Plone设置与管理.doc_第2页
第四章-深入Plone设置与管理.doc_第3页
第四章-深入Plone设置与管理.doc_第4页
第四章-深入Plone设置与管理.doc_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

深入Plone设置与管理上一章介绍了通过Plone控制面板对网站的基本设置与管理。如果需要站点更多的管理维护和定制,仅仅使用Plone控制面板是不能满足要求的,我们需要更深入地了解Plone的设置和管理操作。本章针对网站管理员、系统管理员和系统集成人员,深入介绍Plone站点的设置与管理。脚本开发人员和扩展开发人员也可以通过本章的学习了解Plone内部的工作原理。本章学习重点: 熟悉站点属性设置 熟悉站点的操作项设置 了解Plone站点的内容类型管理 了解Plone站点的成员管理 熟悉和掌握Plone站点的索引维护 掌握Plone站点升级方法 掌握Plone设置数据管理方法 了解其它工具对象4.1ZMI介绍Zope管理界面(Zope Management Interface)简称 ZMI 。这是一个管理Zope内部对象的界面,适合系统集成人员和开发人员使用。在这个界面中,可以对各个对象进行精细的调整,并可以了解Plone内部的工作原理。4.1.1初步认识ZMI进入ZMI的方法:用站点管理员登录 - 网站设置 - Zope管理界面,便进入了ZMI。另外一种方法是,在地址栏中站点地址后加 /manage 即可进入。比如站点地址是 http:/localhost:8080/Plone 在地址栏中这样输入:http:/localhost:8080/Plone/manage进入ZMI后,显示如下图 4.1 所示。【图 4.1】 Zope管理界面ZMI界面与Plone、Plone控制面板界面完全不同,界面上不友好。ZMI是提供给网站管理员、系统管理员、系统集成人员设置管理和维护站点的,*脚本开发人员* 也是通过这里进行定制开发工作。初步地了解ZMI,ZMI有两大特征:特征一:又一个类Windows资源管理器在上一章介绍的使用Plone时,对比Plone界面与Windows资源管理器界面,Plone界面非常类似Windows资源管理器界面。现在 看到 ZMI ,发现也有类似的结构:左侧是导航,中间是主体内容(罗列目录中对象);在主体内容下方可以对一个或多个对象进行重命名、复制、剪贴、粘贴、删除等操作; 在主体内容右上方可以添加对象。特征二:看到更多的对象一旦进入 ZMI ,便看到在Plone看不到的一些对象。从右上方的添加对象的下拉菜单中可清楚地看到,如下图 4.2 。【图 4.2】ZMI中添加内容可将这些对象按以下分类: 内容对象:文件,文件夹,页面等。包括 Zope 内容对象和 Plone 内容对象。 工具对象:提供某些服务的工具。Zope工具,比如数据连接,和 CMF/Plone网站工具。 代码脚本:包括显示模板的代码脚本,如ZPT,DTML,和逻辑脚本,Python脚本。注意,Plone安装后的这些对象,属于自带系统对象,如果删除可能会导致Plone不能正确运行。4.1.2对象的导入导出ZMI主体内容下方有一排按钮,可对一个或多个对象进行重命名、复制、剪贴、删除等操作,还有一个导入/导出(Import/Export)的按钮,在 ZMI 中可对内容做导入/导出操作。导入/导出操作可供在Plone站点间交换数据。 操作很简单,下图 4.3 是导入/导出的界面。【图 4.3】导入/导出界面图中,上半部分是进行导出操作,下半部分是进行导入操作。导出对象的操作步骤:1. 选择在 ZMI 目录中选择该对象,点击 Import/Export 按钮进行导入/导出操作2. 进入了导入/导出页面后,看到页面导出部分中已经选择了导出对象的 id3. 选择导出方式:o 下载到本地计算机或保存文件至服务器o 选择是否以 XML 格式4. 单击 Export (导出)按钮5. 导出操作完成,以 ZEXP 格式文件保存在本地计算机或服务器导入对象的操作步骤:1. 将 ZEXP 格式文件(提供的导出后的文件)存放至实例目录中的 import 文件夹中2. 进入 ZMI 要导入内容的目录,点击 Import/Export 按钮进行导入/导出操作3. 在导入/导出页面的导出部分选择导入的文件的文件名4. 选择是以除去导入对象的所有者权限或保持原有所有者权限5. 点击 Import 按钮导入,对象导入Plone站点中提示如不想手工上传 ZEXP 格式文件或考虑系统的安全性可用Zope的插件产品QuickImporter(下载地址:/Members/mojix/QuickImporter) 上传ZEXP格式文件4.1.3ZMI 标签页介绍在 ZMI 主体页面的顶部有一排标签页,如下图 4.4 中 Content,View,Properties,Security 等。【图 4.4】ZMI 标签页下面简单介绍几个常见或有用的。Properties标签页:对象的属性Properties标签页是管理对象属性的。属性一般有这几种类型: boolean: 逻辑(True/False) string: 字符串 lines: 多行列表,每行一个条目 date: 日期 (yyyy/mm/dd hh/mm/ss) int: 整型Propeites标签页提供了属性设置界面,可直接添加、修改、删除对象的属性。通过属性,可保存对象的一些设置。下文 4.2 节中将介绍Plone站点中的一些常用的属性设置。Security标签页:对象的安全对象的安全通俗的理解是控制各访问的用户拥有什么样的权限,这里以角色区分不同的用户。对象的安全标签页展示的列表中,每一个权限项都有一个 Acquire permission settings? 的复选框选项,这表示是否获取上一级权限设定,选择的表示获取上一级设定。这个界面不友好,如果在这里设置权限也是相当复杂的,在Plone中就将这些常用到的权限项抽象出来,在用户和权限设置的章节会介绍Plone权限设置的相关内容。Undo标签页:撤销在Undo标签页可撤销事务。典型的用途:如果不小心删除了某个对象,或者做了错误的设置,可在这里撤销从前的操作,恢复从前的数据。4.2站点属性设置站点属性设置包含两个位置,一个在站点根目录和各级目录的porperties标签页中的属性设置,和 ZMI 中 portal_porperties 的设置。4.2.1网站的基本信息看一下根目录下的properties标签中的属性,根目录以下都是继承根目录的这些属性除非另外设置该属性。常用的有 default_page , left_slots , right_slots , default_page 是设置默认页面, left_slots 、 right_slots 是设置左右侧栏。如下图:【图 4.5】站点属性(properties标签页)在这个页面中可通过在Plone控制面板的【网站设置】中设置的站点名称,站点描述,站点的寄信人姓名,站点的寄信人地址等在这里也出现了。也就是说可以在这里设置以上属性。4.2.2手工设置默认页面通过设置文件夹页面上【显示】操作中的【选择一个条目作为默认视图】,选取某一页面可设置为换默认页面。下面来介绍在ZMI中实现设置默认页面的方法。例 4.1 在ZMI中设置默认页面某一特殊的页面模版,id 为 template_view ,想设置它为当前文件夹 stuff 的默认页面,操作方法如下:1. 在 ZMI 中,进入 stuff 文件夹,选择 Properties 标签2. 在下方添加新属性区域,分别设置下面对应的内容:- Name: default_page- Type: string- Value: template_view3. 单击 Add 按钮添加这样便实现了以template_view页面为文件夹的默认页面。4.2.3左右面板列的设置还有比较常见的设置,比如:在Folder1文件夹上不显示右侧栏,或不显示右侧栏某个面板。设置方法也如同上例,设置 right_slots ,注意类型选择 line ,添加后在这个属性中不给属性值或给想要显示的属性值即可。这里列出左右侧面板(left_slot/right_slot)的属性值对照表。【表 4.1】 左右侧面板属性值对照表属性值面板here/portlet_calendar/macros/portlet日历面板here/portlet_events/macros/portlet事件面板here/portlet_favorites/macros/portlet收藏面板here/portlet_login/macros/portlet登录面板here/portlet_navigation/macros/portlet导航面板here/portlet_news/macros/portlet新闻面板here/portlet_recent/macros/portlet近期更改面板here/portlet_related/macros/portlet相关内容面板here/portlet_review/macros/portlet待审内容面板here/portlet_prefs/macros/portlet网站设置面板提示Plone3.0中提供了像Plone控制面板一样可直接在Plone站点页面中设置面板管理的工具,用管理员登录就可以轻松地管理这些面板的显示。4.2.4portal_porperties 中其它属性设置portal_porperties 集中存放各种的属性设置的文件夹。 site_properties 是站点其它属性设置,navtree_properties 是导航属性设置。进入 site_properties 页面,可看到很多属性,下面的表中有具体的介绍:【表 4.2】 site_properties属性说明属性属性说明auth_cookie_length一次登录后,cookie的保留天数,多少天内不必再次登陆?allowAnonymousViewAbout匿名用户能否看到byline信息localTimeFormat/localLongTimeFormat时间显示的长短格式default_langua元数据的缺省语言default_charset网页编码ext_editor使用外部编辑器available_editors可获得的编辑器,如Kupu等allowRolesToAddKeywords哪些角色可以在元数据中添加关键字calendar_starting_year日历的起始年calendar_future_years_available日历中可使用几年的未来年份invalid_ids哪些id不能使用default_page文件夹的缺省页面的名字search_results_description_length查询结果中描述部分显示字数ellipsis省略号typesLinkToFolderContentsInFC在文件夹内容页面中,链接到另外一个文件夹内容页面的内容类型。use_folder_contents在导航树中哪些使用folder_contentsallow_sendto是否允许页面发送功能disable_folder_sections自动定层文件夹做页首标签use_folder_tabs在内容标签中,同时显示category为folder的actiontypesLinkToFolderContentsInFC在folder_contents中,点击路径,继续使用folder_contents。typesUseViewActionInListings在folder_listing中使用view的类型,如file、imagenavtree_properties 是导航属性设置,Plone控制面板中已经支持设置导航的这些属性。4.3操作项设置操作项设置是指站点操作项和Plone控制面板操作项设置,下面逐一介绍。4.3.1认识站点操作项站点操作项是指调整Plone站点页面的一些元素,如站点操作链接(站点右上角的 网站地图 , 联系 ,网站设置 等),网站标签(如新闻,事件,成员),个人栏,内容标签(如查看,编辑,属性等),还有内容操作菜单,工作流等。站点操作项是由 ZMI 中的 portal_actions 统一管理,进入 portal_actions ,如下图 4.6 。【图 4.6】站点操作项(portal_actions)可以看到这些操作项都包括下面这些属性:【表 4.3】站点操作项(portal_actions)属性说明属性属性说明Title显示名id标识代号URL(Expression)链接URL。这是一个TALES表达式,语法将在后面章节介绍。condition(Expression)显示这个操作项的条件。这是一个TALES表达式,语法将在后面章节介绍。permission用户对当前对象需要拥有什么权限,才能显示。category分类,不同分类会在不同的地方显示,详细见下节介绍visible是否显示4.3.2站点操作项类别每一个站点操作项是通过类别(category)属性来确认属于站点页面哪块位置的操作项,下表对操作项的类别(category)的说明。【表 4.4】网站操作项类别对照表类别类别说明portal_tabs页首标签页: 如新闻、成员等document_actions内容区右上方的工具条的链接: 如打印、发送等site_actions站点链接, 网站右上方的链接object内容的标签: 如查看、编辑等folder_buttons在文件夹内容管理界面中的按钮, 如拷贝、键切、粘贴等user个人栏object_buttons操作菜单workflow工作流4.3.3站点操作项源每一个站点操作项都对应着它的操作项源,在 portal_action 页面的 Action Providers 标签页可看到,它包括:portal_workflow(工作流工具)、portal_action(站点操作项)、portal_membership (用户管理)、portal_registration(用户注册)、portal_discussion(讨论)、portal_undo(撤消)、 portal_syndication(聚合)、portal_properties(站点属性)、portal_types(内容类型)注释站点操作项源太过于分散,追溯起来很繁琐。在 Plone 3.0 版本中操作项源会集中于 portal_action 。4.3.4Plone控制面板操作项前面介绍了Plone控制面板,以及控制面板中的各个设置;在 portal_controlpanel 中可找到对应的操作项。进入 portal_controlpanel ,如下图 4.7 。【图 4.7】Plone控制面板操作项(portal_controlpanel)每个操作项中也包括一些属性,它们也有分类,分类包括: Plone Configuration: Plone设置 Add-on Products Configuration: 附加产品设置 Member Preferences: 用户选项在portal_controlpanel的Properties标签页中可以看到有一个 groups 的属性,列出的就是这三个分类。注释ZMI中的 portal_controlpanel 包括用户选项的分类,从这里也可了解Plone控制面板不仅仅只包括网站设置,用户的个人设置也是它的组成部分。4.3.5操作项图标ZMI中 portal_actionions 统一管理内容操作项、Plone控制面板操作项的图标。如下图 4.8 是 portal_actionions 页面。【图 4.8】操作项图标(portal_actionicons)通过每个操作项(action)的category和action id,都可以在这里找到相应的图标;你也可以更改或删除。4.4内容类型管理在【添加内容】的下拉菜单中可以看到不同的内容类型,它们都有自己的名字,图标,和各自的视图。常见的问题有:某个类型比如页面,能改掉它的名字或图标吗?或者:能更换文件夹的默认视图吗?如果你使用 FTP,WebDev 上传或编辑内容到 Plone 站点,可能会问上传的文件是如何对应于Plone站点中的某种内容类型的?这些问题都是属于Plone的内容类型管理。 Plone 提供了一套很成熟的内容类型管理机制。具体包括 Plone 内部的内容类型注册,内容创建控制,以及从 FTP,WebDev 等上传或编辑的文件与 Plone 中内容的映射。 如果了解了这套机制,这些问题都将会迎韧而解。4.4.1内容类型注册(portal_types)内容类型注册是 Plone 管理内部的内容类型,和它的所有属性,包括标题、图标、有哪几种视图、默认的视图等等。ZMI 中 portal_types 就是对内容类型注册的统一管理,进 portal_types 可以看到很多内容类型,如下图 4.9 。【图 4.9】内容类型注册(portal_type)在 portal_types 中有两类不同的管理类型,图 4.9 中以图标 表示的是基本的内容类型,以图标 表示的是扩展后的内容类型,扩展后的内容类型有动态的视图,而基本内容类型没有。这里主要关注扩展后的内容类型,也就是Plone的基本内容,如下方的 Document(Page)、Event(Event)、File(File)、Folder(Folder)等。进入某一内容类型,发现有这么些属性 (其它的也是如此,但在基本内容类型中没有 Default view method 和 Available view methods 属性,这正是它们的区别),如下图 4.10 是 Folder 类型的 Properties 标签页。【图 4.10】Folder类型属性页这些内容类型的属性是可以设置,比如你可能要设置某个内容类型的默认视图。下表是对这些属性简单说明。【表 4.5】内容类型属性介绍内容类型属性属性说明Title标题Description描述Icon内容的显示图标Product meta type产品的元类型product name产品名:该类型是属于哪个产品Product factory method创建方法Initial view name对象创建后的初始显示视图(Plone中暂未使用)Implicitly addable是否默认在文件夹的添加菜单中出现Filter content types是否过滤内容类型Allowed content types是否允许内容类型Allow Discussion是否允许讨论Default view method默认视图Available view method此类型可用的显示视图清单Fall back to default view如果设置的视图不存在,则回退到默认视图;否则报告NotFound异常当进入Folder类型的页面中,上图 4.10 中,Properties 标签页旁还有 Aliases 标签页和 Actions 标签页。进入 Aliases 标签页,如下图 4.11 。【图 4.11】内容类型 Aliases 标签页这是控制内容类型的一些别名方法,如图 4.11 中,Folder类型的编辑方法是 atct_eidt ,对应的别名(Alias)是 edit ,还有属性方法(base_metadata)别名是 properties ,共享方法(folder_localrole_form)别名是 sharing,查看的方法是经选择后的默认页方法别名是 view 。Plone中使用别名的方式统一内容类型的基本操作方法名称,利用别名指向相应的方法,这一点也方便Plone某操作方法的升级或替换。可单击如图 4.11 中的Method Aliases Chart 的链接,可查看Plone内容类型的别名制表。内容类型的 Actions 标签页是管理内容类型的一些操作项,比如:在Folder类型的Actions标签页中可看到查看(View)、编辑(Edit)、属性 (Properties)、共享(Share)、文件夹内容(Folder Listing)的操作项;或可看到Image类型的Actions中转换(Transform)的操作项。4.4.2内容创建控制(portal_factory)Plone的早期版本存在一个问题:如果用户仅仅点击创建某个内容的菜单项,而不真正进行编辑提交,文件夹中便会出现一个空的内容项。这显然不是我们所期望的。为解决这个问题,Plone 中默认创建内容实际在内存中的“创建器”完成。你可能已经发现:在你创建内容时,在路径栏中的路径是 portal_factory 这种形式。它其实是创建内容并不是一下子将内容创建到存放目录,而是创建内容先进“创建器”,等你保存后才会真正创建到存放目录。ZMI中的 portal_factory 可对内容是否采用“创建器”创建进行设置。可以进入 portal_factory 了解一下,进入 portal_factory 页面的 Factory Types 标签页,可以看到通过内容创建控制所管理的内容类型。 如下图 4.12 。【图 4.12】内容创建控制(portal_factory)在这个页面中,可选择需要采用创建器控制的内容,单击Save按钮保存;这种内容类型就可通过“创建器”来完成创建内容。4.4.3内容和文件映射(content_type_registry)前面在介绍内容类型的管理的时候提到 Plone 能自动处理使用 FTP,WebDev 等上传或编辑的文件与 Plone 中内容的映射。那么它是怎么做到的呢?ZMI 中的 content_type_registry 是对内容和文件映射的统一管理。进入 content_type_registry,如下图 4.13 。【图 4.13】内容和文件映射(content_type_registry)Plone通过一组规则来实现上传文件与 Plone 中的内容类型映射。 比如,文件后缀名为 txt、stx、rst、py 等映射为 ATDocument(页面类型),以 jpg、jpeg、png、gif后缀的文件映射为 ATImage 类型。各种规则详细说明见表4.6。【表 4.6】内容和文件映射规则规则规则说明extension这是由文件扩展名来匹配major_minor它采取两部分(或任一部分)去反向匹配传入的Multipurpose Internet Mail Extensions (MIME) 类型文件。如果你留下或者部分空白,那么它将匹配类型的一切。比如:用major_minor匹配图片(它后面所填部分是空白),它将匹配 image/jpeg, image/gif, image/png, 等等。mimetype_regex用正则表达式的类型来匹配name_regex用正则表达式的名字来匹配4.5站点成员管理4.5.1成员注册在 ZMI 中一个 portal_registration 的对象工具,它是提供用户登记注册以及注册时的动作。在默认Plone中,只有一个动作【注册】。在 portal_registration 的 Configure 标签页中,是对用户注册用户名的规则控制,默认的规则是这样的:A-Za-zA-Za-z0-9_*$这表示必须以字母开头,以数字或字母结尾的正则表达式,这限定了注册用户名的规则,可在 Custom member ID pattern 定义新的规则,下面是允许以邮件名作为注册用户名的例子。例 4.1 允许用邮件名作为注册用户名1. 进入ZMI中的 portal_registration 的 Configure 标签页2. 在 Custom member ID pattern 中定义新的规则:# 以字母、数字和 字符作为注册用户名.A-Za-z0-9_-+3. 单击 Change 保存设置这样就允许用邮件名作为注册用户名。4.5.2成员管理在 ZMI 中的 portal_membership 是提供成员管理。包括:外部用户文件夹的角色映射,是否为新成员创建个人区,个人区的类型,设置成员个人区,以及个人栏的操作项。先进入 portal_membership 中看一看,如下图 4.14 。【图 4.14】成员管理(portal_membership)这个页面包括4部分提交表单;上面第一部分是设置外部用户文件夹的角色映射(很少使用); 第二部分是是否自动为新成员创建个人区,如果不希望用户随便提交内容占用网站空间,可在这里关闭此功能; 第三部分是如果自动创建个人区,应该使用那种内容类型做为个人区文件夹,比如设置博客文件夹做为用户的个人文件夹就非常有用; 第四部分是设置成员个人区的文件夹id,默认是Members。再进入 portal_membership 的 porperties 标签页,如下图 4.15 。【图 4.15】个人栏中的操作项(portal_membership的action标签页)这里是提供设置个人栏的操作项,比如未登录状态下的【登录】操作项,登录后【我的文件夹】和【选项】操作项。你可以添加你想加的操作项,或不显示当前的某个操作项。portal_membership 的 Properties 标签页中,看到它有一个 title 和 一个 user_search_keywords 属性。在这里可以回顾一下,进入站点的个人空间(Members)标签,查找网站成员的页面中就是通过 user_search_keywords 中的关键字做为搜索条件。portal_membership 的 Portraits 标签页是维护网站成员的像片,在这里可以去除错误的成员像片。4.5.3成员数据管理ZMI 中的 portal_memberdata 是提供成员数据管理的,它类似一个存放了成员信息的数据库。进入 portal_memberdata 的 porperties 标签页,如下图 4.16 。【图 4.16】成员数据管理(portal_memberdata)图 4.16 中,可看到一些属性项,这些属性项便是【个人选项】中的属性项,包括属性项的默认值,如:默认编辑器:Kupu 。Plone便是通过 portal_memberdata 对象对各个成员的数据管理,这样用户就可以改变自己的某个属性值从而改变他在 Plone 站点中的环境。portal_memberdata 的 Contents 标签页中,可在这里维护成员数据。比如在数据库中删除了某个用户,但用户的一些属性记录可能还保存在站点中,这时候需要清除沉余的用户数据。在 portal_memberdata 的 Contents 标签页中可看到提示,如下图 4.17 。【图 4.17】维护成员数据一条提示站点现在有多少用户存储,一条提示站点上有多少条用户沉余记录。如果有沉余记录,单击 Prune orphaned member records 按钮就可以清除沉余数据。站点成员管理还包括 acl_user 对象存储和连接其它用户数据源,关于这些会在用户和权限设置章节具体地介绍。4.6内容目录(portal_catalog)Plone的所有内容都是以对象的形式存在。如果需要在整个网站进行搜索,则需要对Plone的所有内容建立一个目录。 类似通常黄页中目录的作用,直接从内容目录中查找对象,会大大提高内容查找的速度。 在 Plone 中其实大部分的界面都是通过索引来生成的,比如文件夹的页面,默认显示的是其文件夹的内容,以及各个内容的属性。还有查询集的页面,搜索出来的内容页面等。Plone通过portal_catalog对象,提供内容的目录服务。 portal_catalog相当于一个关系数据库的表,独立存放内容索引。包括:索引字段(index),它是指可在搜索条件中使用的字段;列字段(metadata),指搜索结果中可使用的字 段;以及数据(catalog)。4.6.1目录数据portal_catalog的 Catalog 标签页中是记录的全部的目录数据,如下图 4.18 。【图 4.18】索引数据(portal_catalog的catalog标签页)在这个页面中可以按类型分类查看目录数据(一页包含20条索引),也可查看单个目录条目页面。可对一条或多条索引手工维护,删除或更新。4.6.2目录索引(index)下图 4.19 是portal_catalog的index标签页的界面。【图 4.19】portal_catalog 的index标签页的界面portal_catalog 的 Indexes 标签页显示的是索引字段,每条索引都包含着这些字段。 下表 4.7 是索引类型说明。【表 4.7】索引类型说明索引说明ZCTextIndex如果你需要作全文检索的话就用这个(而不是TextIndex)。他提供布尔运算,括号优先运算,通用字搜寻,词组搜寻等功能。FieldIndex当你的字段是特定的值的话可以用这个,他会将整个的内容都存起来。KeywordIndex这个 index 可以与 lines 型式的 property 搭配,他可以记录一个序列的关键词,每个关键词都像 FieldIndex 一样整个被记录起来,不过只要搜寻条件符合其中一个或一个以上的关键词就会被当作的符合条件的。PathIndex搜寻对象的路径,如果你的对象是依照目录来作分类的话,可以考虑使用这个。DateIndexes类似 FieldIndex 的运作,但有针对 DateTime 的值作最佳化。DateRangeIndexes针对时间区段的搜寻所使用的。索引提供条件查询,并显示查询结果。在 portal_catalog 的 Indexes 标签页看到了便是索引的可提供的查询条件,下表中给出各查询条件的简单说明。【表 4.8】索引查询条件说明查询条件(Index)索引类型说明CreatorFieldIndex创建人DateDateIndex日期DescriptionZCTextIndex描述SearchableTextZCTextIndex可查找的文本SubjectKeywordIndex关键字TitleZCTextIndex标题TypeFieldIndex类型allowedRolesAndUsersKeywordIndex允许的角色和用户createdDateIndex创建时间endDateIndex结束时间effectiveDateIndex生效时间effectiveRangeDateRangeIndex生效时间区域expiresDateIndex失效时间getEventTypeKeywordIndex获得事件类型getIdFieldIndex获得对象IdgetObjPositionInparentFieldIndex获得对象的父级对象getRawRelatedItemsKeywordIndex获得相关内容列表idFieldIndex对象的ID(Name)in_reply_toFieldIndex回复的ID号,None表示顶层is_default_pageFieldIndex是否是默认页面is_folderishFieldIndex是否是文件夹meta_typeFieldIndexCMF的内容类型modifiedDateIndex修改时间path(indexed attributes:getPhysicalPath)ExtendedPathIndex路径(从根开始)portal_typeFieldIndexCMF中的内容类型IDsortable_titleFieldIndex可分类的标题review_stateFieldIndex评审(工作流)状态startDateIndex开始时间4.6.3目录条目信息在 portal_catalog 的 Metadata 标签页中,可看到 CreationDate, Creator, Date, Description 等等。 这是目录的元数据,也就是说是每个内容的这些信息存储在目录中。如下图 4.20 是 portal_catalog 的 Metadata 标签页。【图 4.20】portal_catalog的Metadata标签页通过索引搜索出来的结果,包含了这些元数据信息。使用API开发的时候,可直接读取这些信息。4.6.4目录的维护在 Plone 中,新创建一个内容,它会自动地在索引中创建一条新的目录数据;修改或删除 Plone 站点中的某个内容,这个内容的索引信息也会自动进行更新或删除。也就是说, Plone会自动地更新维护索引。如果出现异常,可能出现索引和站点的内容不一致的情况。比如内容已经删除,而索引还在,或者反之。这时,需手动维护索引。在 portal_catalog 的 Advanced 标签页,可以对索引手工维护。如下图 4.21 。【图 4.21】索引的维护在这个页面中,可以单击 Update Catalog 按钮对站点更新全部索引。这个过程当然可以清除站点中的错误索引。可以单击 Clear Catalog 按钮清除站点全部索引。可以单击 Clear and Rebuild 清除索引后重建索引。这些手工维护的方式,如果站点的内容较多的话,它的运行速度会非常慢。注释一个小技巧:如果你知道站点中某个内容在索引中是错误的,可在 Catalog 标签页中找到该内容的索引,手工对它删除或更新。为了监视索引进展情况,可设置每完成一定数量的索引操作就在日志中记录一下(设置为0则表示不记录)。4.7UID 索引和相关内容索引UID 是内容对象在整个站点的唯一标识。它与 Id 不同, Id 是在某个目录下的标识,只能在所在目录下才能找到对象;而 UID 是整个站点的唯一标识。所以如果你用 UID 去关联某条内容对象时,这条内容对象发生了路径变化(移到其它的目录),它而是可以关联此内容的。而通过 id 是做不到的。在 ZMI 有一个 uid_catalog 对象和 reference_catalog 对象。这两个对象是对内容 UID 做索引的和内容的相关内容做索引的,见下图 4.22 。图 4.22 UID 索引和相关内容索引分别进入这两个对象的页面,可看到它们和 portal_catalog 非常之类似,也有自己的 Indexes (索引条件) 和 Metadata (索引元数据)。uid_catalog 和 reference_catalog 也可和 portal_catalog 一样,看成独立的表,但是它们是通过一条或几条索引条件相互关联起来的。4.8网站升级从Plone的低版本升级到Plone的高版本的时候,必须手工对网站进行升级,确保网站在新的版本中能够正确运行。4.8.1Plone版本升级在Plone的软件包升级后,进行 ZMI 时,可看到如下图 4.23 。【图 4.23】portal_migration对象提示需升级实例版本其中的红色惊叹号表示,实例版本与文件系统中的软件版本不一致,需要手工升级实例版本。当 ZMI 中 portal_migration 对象提示需升级Plone版本,进入 portal_migration ,如下图 4.24 。【图 4.24】portal_migration提示Plone实例版本与文件系统中软件版本不一致可以看到提示:Plone File System: 2.5.1Plone Instance: 2.5-alpha1文件系统中软件版本 2.5.1 与实例版本 2.5-alpha1 不一致。按提示信息进入 portal_migration 的 Migrate 标签页进行升级版本。警告升级前必须事先对网站数据库文件进行备份,以免发生不测,导致数据丢失或者破坏进入 portal_migration 的 Migrate 标签页,如下图 4.25 所示。【图 4.25】portal_migration的Migrate标签页看到两行红色的提示信息,提示升级前确保对站点已做备份,提示不是以紧急用户的身份去升级。在确保都做到了两条提示的要求,现在对站点升级版本。选择 Dry run 表示不是真正地提交升级,仅仅检查是否可以正常升级。当这一步操作没提示错误表明可以升级。目前 Plone 只对正式版本提供了升级路径,如果采用的不是正式版本,则需要在下方选择一个接近的正式版本单击 Force Upgrade 按钮强制升级。在选择 Dry run 后,单击 Upgrade 按钮没有出现提示错误,这时退回 portal_migration 的 Migrate 标签页直接单击 Upgrade 按钮,升级站点版本。当升级完成后再回到 portal_migration 中( portal_migration 的 Overview 标签页),此时看到的 Plone File System(Plone文件系统中软件版本) 和 Plone Instance(Plone实例) 的版本是一致的。然后再回到 ZMI 中,portal_migration 对象前面的惊叹号消失了。这表明Plone版本升级工作已顺利完成。portal_migration 的 Setup 标签页是升级一些具体的定制方法,在 Plone 2.5 版本时已过时,逐步被portal_setup替代。4.8.2内容类型升级另外,在Plone的软件包升级后,或将数据库牵移至更新版本的软件环境中。有的Plone版本需要对Plone的内容进行单独的升级。进入 ZMI 中还看到另一个惊叹号的对象,如下图 4.26 。【图 4.26】portal_atct对象提示需升级内容类型这是 Plone 软件包升级后,Plone 提示实例版本与文件系统中的软件的内容类型版本不一致,需要手工升级实例版本的内容类型。这可在 portal_atct 中完成,进入 portal_atct 后,进入 Version Migration 标签页,如下图 4.27 。【图 4.27】portal_atct的Version Migration标签页很醒目地提示实例版本(Instance version)和文件系统中软件版本(Filesystem version)的版本号,它们不一致。升级工作就如同Plone版本的升级。portal_atct 对象的 Image scales 标签页是重新生成图片的缩略图。 Type Migration 标签页是对类型升级,将CMF内容类型升级成ATCT 内容类型,Plone 2.5 版本早已不需要此部分升级。 Recatalog 标签页是对内容重建索引,此功能已过时。4.9设置数据管理所有前面的网站设置操作,都是在ZMI界面中手工完成,最终的设置数据实际上是保存在ZODB数据库的工具对象中。这存在如下问题: 难以查找最近到底做了什么更改,不得不在各个界面上比较,更加不大可能采用版本管理工具 难以发布配置数据:不如希望一系列站点都使用相同的设置,则可能需要逐个手工设置,这个操作非常繁杂,而且容易出错 软件接口经常发生变化,如果采用API来调整配置会非常麻烦从Plone 2.5开始,Plone提供了 portal_setup 的设置数据管理工具。 可以将Plone大部分的设置数据(如邮件设置、内容类型设置、工作流等),均可导出为一组文本的设置文件(一般采用XML格式); 同时,也可将设置数据,从文件系统中导入到Plone中。这样可解决上述的问题。可在 CMFPlone/profiles/default 中查看Plone默认的网站设置。4.9.1设置数据上下文在 portal_setup 中,进行导入导出的时候,首先需要设置导入导出的上下文。导入导出的上下文决定了这次可导出那些数据,需要在软件代码中预先设置。前面章节中,在创建 Plone站点的时候,实际上就曾经选择过其中的 Chinese Plone Site 来支持中文。 Chinese Plone Site 的设置数据位于插件产品文件夹的 ZopeChinaPak/profiles/default/ 中。设置上下文时会看到如下图 4.28 所示。【图 4.28】设置数据上下文4.9.2设置数据导入/导出当设置

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论