EZ Publish安装包的使用详解.docx
《EZ Publish安装包的使用详解.docx》由会员分享,可在线阅读,更多相关《EZ Publish安装包的使用详解.docx(30页珍藏版)》请在冰豆网上搜索。
![EZ Publish安装包的使用详解.docx](https://file1.bdocx.com/fileroot1/2023-1/1/060046be-ee56-4293-844b-e6dec76c0354/060046be-ee56-4293-844b-e6dec76c03541.gif)
EZPublish安装包的使用详解
EZPublish安装包的使用详解
✓出处:
站长百科
✓原文地址:
✓本电子书整理自站长百科EZ_Publish/EZ_Publish_安装包的使用擎词条,查看内容请访问网站。
从3.8版本开始,标准安装包不包含在eZPublish发行版本中。
它们以".ezpkg"文件是形式单独发行。
可以通过安装向导自动从远端软件仓库下载或手动从安装包下载地址下载。
安装包概述
一个安装包是一组特殊格式的方便安装/卸载的文件。
系统允许创建安装包并把它导出为".ezpkg"文件。
这是安装包发行的一般方法。
当".ezpkg"文件被导入后,它会被加入本地eZPublish的系统软件仓库中。
它们中的大部分都可以被安装和卸载。
下表揭示了在管理界面中可用于安装包的全部操作。
∙远端软件仓库
位于远端软件仓库中的安装包可以被安装向导下载并安装。
但是,管理界面不能从远端软件仓库下载安装包。
系统会用"http:
//packages.ez.no/ezpublish/4.0"作为默认的远端软件仓库。
如果希望使用其它的远端软件仓库,需要在"settings/override/package.ini.append.php"中的"[RepositorySettings]"配置"RemotePackagesIndexURL"。
∙系统/内部软件仓库
默认情况下,所有的安装包都位于"var/storage/packages"目录中。
这个目录是系统主软件仓库且它的子目录被称为“系统软件仓库”或“内部软件仓库”。
子目录名也被用作软件仓库的名称。
安装包根据开发商的名称排序。
例如:
从ez.no下载的安装包在"ez_systems"内部软件仓库("var/storage/packages/ez_systems")内保存。
没有开发商的和本地的安装包会被保存在"local"软件仓库("var/storage/packages/local")。
也可以将"var/storage"下的其它位置作为系统主软件仓库。
下例演示了如何通过修改"settings/override/package.ini.append.php"将主软件仓库的位置换成"var/storage/importedpackages"。
安装包类型
系统支持以下类型的安装包:
•内容类安装包
•内容对象安装包
•扩展安装包
•站点风格安装包(界面安装包)
•站点安装包
∙内容类和内容对象安装包
内容类安装包可以保存类定义。
如果定义了一些类,又希望在其它站点中使用它们,可以把这些类定义导出到一个内容类安装包中。
这个安装包可以随后被导出为".ezpkg"文件。
这个文件可以在别的站点被导入并安装。
内容对象安装包用来保存实际的内容对象。
如果创建了一些对象又希望在其它站点中使用它们,可以把对象导出为内容对象安装包。
安装包向导会让选择希望包含在安装包中的节点和/或子树。
也可以在安装包中包含对象的类定义,不同站点入口中相关的模板。
选中的对象可以与它所有的版本和翻译一起导出或可以指定自定义的参数。
可以选择导出所有的节点指派或只导出主节点,也可以指定如何处理关联对象。
∙数据类型串行化支持
在3.8版本中,所有的内建数据类型都与安装包系统兼容。
都支持对象和类串行化。
如果使用附加数据类型但是不支持串行化,那么在导出/导入包含这种数据类型的类定义和/或内容对象时会收到系统警告。
∙扩展安装包
这些安装包保存扩展文件。
如果创建了一个扩展又希望在其它站点中使用它,可以把扩展导出到扩展安装包。
管理界面允许创建扩展安装包。
∙界面/站点风格安装包
站点风格安装包保存站点界面风格。
这类安装包允许简单地改变站点的外观。
站点风格安装包包括非内容的图片(logo,页眉,图像外观元素等)和两个CSS文件("site-color.css"包含pagelayout的颜色代码,背景图等信息,"classes-color.css"包含类模板的风格)。
注意:
站点风格安装包不能被安装/撤销。
如果导入多个界面安装包,下一节会解释可以通过管理界面来切换它们。
∙改变站点风格
假设已经导入了一个新的站点风格安装包。
要根据安装包改变站点的风格,参阅如下步骤:
1.在管理界面点击“设计”标签,然后从左侧菜单中选择“外观”。
2.从站点风格列表中选择需要的风格
3.点击“发布”按钮保存改动
4.到实际的站点刷新页面。
如果改动不生效,请清除缓存。
∙站点安装包
这种特殊的安装包提供站点示例如“新闻”,“商店”,“图片库”等等。
主要用于演示和学习目的。
站点安装包不包含任何对象。
但是,他们包含对其它安装包的依赖以及特殊的配置和脚本。
这些安装包不能被安装或撤销。
站点安装包可以被想象为在安装向导中使用的一种“描述安装包”。
(如果从内部软件仓库中删除站点安装包时,不会影响以安装系统的行为。
)不能在管理界面中创建站点安装包。
安装向导会自动从远端软件仓库下载可用的站点安装包并要求用户用户选择安装。
它会自动下载选择的站点安装包和它的所有依赖包,将它们导入系统并显示成功导入的安装包列表。
(如果所有安装包已经被保存在内部软件仓库,这一步会被忽略。
)除站点风格安装包外,所有依赖安装包都会被自动安装。
例
"Shopsite"安装包v.2.0.6包含对以下安装包的依赖:
•三个内容对象安装包"Products","Multi-priceproducts","DynamicVATproducts"。
•一个站点风格安装包"Theme04"。
•一个扩展安装包"ezpaypalextension"。
从安装向导中选择"Shopsite"安装包会从"http:
//packages.ez.no/ezpublish/4.0"下载这个安装包与其它五个依赖安装包。
下载的".ezpkg"文件会被解压到"var/storage/packages/ez_systems"目录。
安装向导会自动安装"Products","Multi-priceproducts","DynamicVATproducts"和"ezpaypalextension"安装包。
"Shopsite"和"Theme04"安装包不会被安装。
当安装向导结束了,可以手动或通过管理界面安全删除"shop_site"安装包。
删除站点安装包不会影响它的任何依赖包。
创建安装包
管理界面允许将类定义,内容对象,配置,界面风格等导出为不同类型的安装包。
这个功能通过内建的安装包创建处理器实现。
可以创建以下类型的安装包:
•内容类安装包
•内容对象安装包
•扩展安装包
•站点风格安装包(界面安装包)
内建的安装包处理器被保存在"kernel/classes/packagecreators"目录。
注意,没有对应站点安装包的处理器,因此不能在管理界面中创建此类安装包。
本地创建的安装包被保存在"local"系统软件安装包。
下一节解释了如何创建不同类型的安装包。
∙内容类安装包
下例演示了如何创建内容类安装包。
1.在管理界面中点击“设置”标签,然后点击左侧的“安装包”链接。
系统会显示"local"系统软件仓库中的安装包列表。
(这个界面也可以通过"/package/list“访问。
)
2.点击页面底端的“创建新安装包”按钮。
系统会显示安装包创建对话框。
可以在这个对话框中选择四种安装包创建向导中的一种(这个界面也可以通过"/package/create"访问)。
在上图中选择“导出内容类”然后点击“创建安装包”按钮
3.安装包会询问导出何种类(参阅下图)。
从列表中选择需要的类然后点击“下一步”按钮。
4.现在可以输入关于内容类安装包的信息。
输入名称与简介。
然后点击“下一步”按钮。
5.系统还需要一些安装包的维护信息。
输入这些信息然后点击“下一步”按钮。
6.最后一步,可以输入一些这个版本中的修改(参阅下图)。
点击“继续”按钮,安装向导会创建安装包并显示它的简介。
∙内容对象安装包
下例演示了如何创建内容对象安装包。
1.在管理界面中点击“设置”标签,然后在左侧选择“安装包”链接再点击“创建新安装包”按钮。
在安装包创建对话框中选择“导出内容对象”然后点击“创建安装包”按钮。
(参阅下图)
2.安装向导会询问包含哪些对象(参阅下图)。
以下文字描述了如何使用“添加节点”,“添加子树”和“删除所选”按钮来选择对象。
•“添加节点”按钮允许添加单独节点到安装包中。
点击这个按钮后,系统会显示“内容结构”对话框。
用这个列表选择希望包含的节点。
下图演示了这个对话框("Newarticle"节点被选择)。
注意,同时可以选择多个节点。
可以通过点击节点的名称在列表中导航。
如果需要的节点在“内容结构树”外,点击上箭头图表直到到达内容树根节点。
(这一操作将允许例如:
切换到“媒体库”内容树并选择图片对象)可以重新配置如何显示这个列表。
例如:
可以设置每页显示的项目数(点击"10"/"25"和"50"链接)。
如果希望浏览以缩略图形式浏览图片对象,点击“缩略图”按钮。
选择好需要的节点后,点击“确定”按钮保存的选择。
•“添加子树”按钮允许添加整个子树到安装包中。
如果点击这个按钮,会看到“选择导出子树”对话框。
这个对话框与节点选择对话框很类似。
唯一的区别在于在这个界面选择节点意味着整个子树会被包含在装包中。
假设选择某个文件夹下个某个子树(参阅下图)。
选择所需子树后,点击“确定”。
•向导会显示选择的节点和子树。
如果选择了错误的节点/子树,用复选框勾选项目然后点击“删除所选项目”按钮。
如果内容正确,点击“下一步”按钮。
•在下一个对话框中应该选择需要的导出属性。
可以包含对象,类定义和关联的模板(模板可以来源于多个站点入口)。
选择的对象可以与他们所有的版本和翻译一起导出或也可以指定导出选项。
下图演示了这个对话框的外观。
选择适当的属性然后点击“下一步”按钮。
•剩下的三个步骤允许输入关于安装包,维护和修改信息。
这些已经在上述“内容类导出”步骤中讨论过。
∙扩展安装包
下例演示了如何创建扩展安装包。
1.在管理界面的“设置—安装包”页面中点击“创建新安装包”按钮。
在安装包创建对话框中选择“导出扩展”然后点击“创建安装包”按钮。
2.导出向导会显示现存扩展的列表。
选择需要导出的扩展(如下图所示)然后点击“下一步”按钮。
3.剩下的三个步骤用于输入安装包,维护和变更信息。
∙界面/站点风格安装包
下例演示了如何创建站点风格安装包。
1.在管理界面的“设置—安装包”页面中点击“创建新安装包”按钮。
在安装包创建对话框中选择“站点风格”然后点击“创建安装包”按钮。
2.导出向导会要求选择一个缩略图,它应该是一个屏幕截图或描述外观的图标。
图片应该为120像素x103像素(长x宽)。
下图演示了这个对话框。
选择图片文件,然后点击“下一步”按钮。
3.下一个对话框要求提供两个CSS文件:
"site-colors.css"文件包含pagelayout的颜色代码和背景图和"classes-colors.css"包含类模板的风格。
如下图所示,选择文件然后点击“下一步”按钮。
4.如果在的主题中使用图片,可以在下一个页面中上传这些图片。
上传好图片后,点击“下一步”。
5.剩下的三个步骤用于输入安装包,维护和变更信息。
∙站点安装包
不能通过管理界面创建站点安装包(没有针对站点安装包的处理器)。
它们只能手动创建,这意味者必须手动编辑"package.xml"文件。
导出安装包
内部软件仓库中的安装包可以被导出为".ezpkg"文件。
以下步骤演示了如何导出安装包。
1.在管理界面中选择“设置”标签,然后选择左侧的“安装包”链接。
系统会显示位于"local"系统软件仓库中的安装包列表(参阅下图)。
这个界面也可以通过"/package/list"访问。
如果希望浏览其它内部软件仓库中的安装包,从下拉框选择软件仓库名,然后点击“改变软件仓库”按钮。
2.找到希望导出的安装包然后点击名称。
系统会显示安装包简介页面(如下图)。
点击“导出到文件”按钮来下载".ezpkg"文件。
导入安装包
".ezpkg“文件可以被导入系统。
例如:
上传,解压,保存到适当的内部软件仓库。
下例演示了如何导入站点风格安装包。
1.在管理界面中选择“设置-安装包”,然后点击“导入新安装包”按钮(参阅下图)。
2.从的电脑上选择需要的".ezpkg"文件(如下图)并点击“导入安装包”按钮。
系统会从".ezpkg"文件中导入安装包并显示安装包简介。
请参阅“改变站点风格”节了解如何应用导入的界面风格。
删除安装包
以下步骤演示了如何从系统软件仓库中删除安装包。
1.在管理界面中选择“设置-安装包”,然后选择一个内部软件仓库并点击“改变软件仓库”按钮。
2.选择希望删除的安装包(如下图)然后点击“删除所选”按钮。
注意:
如果删除一个已经安装的安装包,它不会被卸载。
只有安装包文件会被从内部软件仓库中删除。
安装安装包
在内部软件仓库中的安装报可以被安装。
注意,不能安装站点安装包和界面安装包。
在安装安装包时,系统会创建内容类,内容对象,应用配置等等。
注意,从3.8版本开始,与安装包有关的信息会被保存在"ezpackage"数据库表中。
∙内容类安装包
下例演示了如何安装内容类安装包。
1.在管理界面中选择“设置-安装包”,选择要使用的软件仓库,然后点击“改变软件仓库”按钮。
找到需要的安装包,然后点击它的名字。
系统会显示安装包的简介(如下图)。
点击“安装”按钮。
2.系统会显示安装包的项目(如下图)。
仔细阅读这些信息然后点击“安装安装包”按钮。
如果要取消安装,点击“跳过安装”按钮。
3.如果某些类已经存在,系统会提示用户如何解决冲突(如下图)。
如果希望用新的类替换现存类(注意,旧类对应的所有的对象会被删除)。
只有了解在做什么,否则不要使用这种方法。
其余的选项允许跳过类安装或创建新类(两种情况下,现存的类和对象都不会被修改)。
点击“继续”按钮后,系统会安装安装包并显示简介。
∙内容对象安装包
下例演示了如何安装内容对象安装包。
(因为处理类冲突的步骤已在上例中解释过,本例中假设没有类冲突。
)
1.在管理界面中选择“设置-安装包”,选择要使用的内部软件仓库,然后选择“变更软件仓库”按钮。
找到要安装的安装包,点击名称然后点击“安装”按钮。
2.系统会显示安装包的内容(如下图)。
仔细阅读这里的信息然后点击“安装”按钮。
如果要取消安装,点击“跳过安装”按钮。
3.如果安装包除了包含对象外,还包含这些对象的模板,系统会询问这些模板应该被安装到哪个站点入口(参阅下图)。
选择选项,然后点击“下一步”按钮。
4.下一个对话框揭示了对象会被安装到什么位置,同时也允许选择其它安装位置。
选择需要的位置然后点击“继续”按钮。
5.如果某些被安装的对象已经存在(例如:
如果与另外一个对象有相同的remote_id),系统会询问如何解决冲突(如下图)。
点击“继续”按钮后,系统会安装安装包并显示简介。
∙扩展安装包
下例演示了如何安装扩展安装包。
1.在管理界面中选择“设置-安装包”,选择要使用的软件仓库,然后点击“变更软件仓库”按钮。
找到要安装的安装包,点击名称,然后点击“安装”按钮。
2.系统会显示安装包的内容(如下图)。
点击“安装安装包”按钮。
如果要取消安装,点击“跳过安装”按钮。
3.如果某些项目已经存在,系统会询问如何解决冲突(如下图)。
点击“继续”按钮后,系统会安装安装包并显示简介。
卸载安装包
以安装的安装包可以被卸载。
例如:
假设已经通过安装向导安装了"Shop"标准站点安装包,然后决定只保留"multi-priceproducts",而不要简单价格商品。
在本例中,可以安全地卸载"Products"安装包(这个内容类安装包包含简单价格商品)。
以下步骤演示了如何卸载。
1.在管理界面中选择“设置-安装包”,选择"ez_systems"软件仓库然后点击“变更软件仓库”按钮。
找到要卸载的安装包然后点击名称。
系统会显示安装包简介(如下图)。
点击“卸载”按钮
2.系统会显示要被删除的项目(如下图)。
点击“卸载安装包”按钮或点击“跳过卸载”取消卸载。
如果列表中的某个项目不能被删除,卸载流程会自动终止。
例如:
“文件夹”类不能被删除,如果它被某个定级节点使用。
3.如果某些被删除的项目在安装之后被修改过,系统会在删除它们之前询问(如下图)。
可以选择保留或删除这些项目。
选择后点击“继续”按钮。
4.系统会显示简介。
注意,被卸载的安装包仍然会被保留在系统软件仓库中(它们会被标记为“已经导入”)并且可以被再次安装。
package.xml格式
本节描述了安装包系统所使用的重要的XML标签。
这些标签在安装包目录中的"package.xml"中。
∙安装项目
安装包安装流程由安装项目决定。
这总是在和标签中指定。
(注意,不允在在"package.xml"文件中使用两个标签。
)安装项目由- 标签定义。
下表揭示了这个标签的属性。
例
假设一个类安装包包含三个类"myarticle","myfolder"和"myproduct"。
这些类的xml文件为:
"classmyarticle.xml",“class-myfolder.xml"和"class-myproduct.xml"。
这些xml文件被保存在"myclassdir"子目录中。
在本例中,"package.xml"将包含以下内容:
filename="class-myarticle"
sub-directory="myclassdir"/>
filename="class-myfolder"
sub-directory="myclassdir"/>
filename="class-myproduct"
sub-directory="myclassdir"/>
这会要求系统按照以下顺序安装三个"ezcontentclass"类型的项目:
•myarticle
•myfolder
•myproduct
卸载项目
安装包卸载流程由卸载项目决定。
卸载项目在和标签中。
(注意,"package.xml"中不能有两个标签。
)卸载项目由- 标签定义。
依赖安装包
一个站点安装包通常会依赖于其它安装包。
在安装向导中选择一个站点安装包,系统会下载,导入并安装它的依赖包。
安装包的依赖包总是在和中的和标签中。
依赖包通过标签定义。
下表揭示了标签的属性。
例
"News"站点安装包的"package.xml"包含以下内容:
name="news"
min-version="1.0"/>
name="media"
min-version="1.0-3"/>
name="t01"
min-version="1.0"/>
这意味着"News"安装包依赖于以下安装包:
•news(1.0以上版本)
•media(1.0-3以上版本)
•t01(1.0以上版本)
在安装向导中选择"News"站点安装包,系统会下载这个站点安装包以及它的依赖包。
除了站点风格安装包外,所有的依赖包都会被自动安装。
自定义安装脚本
可以通过管理界面安装的安装包可以包含特定的自定义安装和卸载脚本。
一个自定义的脚本在安装/卸载流程的任何位置为调用。
这些脚本可以是互动脚本且可以显示附加的安装向导步骤。
互动脚本基于"eZPackageInstallationHandler"的“安装步骤”机制。
下例演示了如何实现一个自定义安装脚本。
例
假设需要对内容对象安装包"Products"(位于"ez_system"软件仓库,"var/storage/packages/ez_systems/products")开发一些安装后步骤。
要实现一个安装后互动脚本,参阅如下步骤:
1.在package目录中创建以下子目录
•post-install
•post-install/templates
2.编辑"package.xml"并在和中添加如下内容:
filename="myinstallscript"
sub-directory="post-install"/>
3.在"post-install"中创建"myinstallscript.xml"(这个文件必须包含安装脚本的简介)并在其中添加如下内容:
xmlversion="1.0"encoding="UTF-8"?
>
classname="myInstallScript"
description="Thisismycustominstallstep"/>
这会告诉系统"post-install/myinstallscript.php"中的PHP类"myInstallScript"实现了附加的安装步骤。
安装脚本的介绍文本会在安装包流程开始时显示(如下图)。
在"post-install/templates"中创建"myownstep.tpl"(用于的安装脚本的模板)并添加如下代码:
{includeuri="design:
package/install/error.tpl"}
{includeuri="design:
package/install_header.tpl"}
Thisis