EZ Publish/EZ Publish WebDAV

来自站长百科
跳转至: 导航、​ 搜索

EZ Publish | EZ Publish安装与卸载 | EZ Publish的使用 | EZ Publish常见问题 | EZ Publish其他

webdav简介[ ]

  • WebDAV 是"Web-based Distributed Authoring and Versioning"(基于Web 的分布式认证与版本控制)的缩写(在一种基于RFC2518 的开放标准)。WebDAV 是一组针对HTTP 协议的扩展,它允许用户协同编辑和管理网站服务器上的文件。
  • 这可以通过使用一个兼容WebDAV 的客户端来完成。例如,可以使用最近的KDE 版本中的Konqueror 或微软Internet Explorer。通过使用兼容WebDAV 的客户端,用户可以连接到网站服务器并可以浏览和管理文件,如同使用一个网络文件夹或者FTP 服务器。换言之,这个协议所允许用户对Web 服务器上的文件和目录进行浏览,创建,删除,上传下载,重命名等操作。
  • 这种技术最重要的优点之一在于它使用80 端口作为网络通讯。这意味着如果可以从工作站访问这个网站,就可以通过WebDAV 管理它,而并不需要重新配置火墙。

eZ Publish 与WebDAV

  • 从3.2 版本开始,eZ Publish 提供了一个内建的WebDAV 服务器。这个实现允许用户通过兼容WebDAV 的客户端与eZ Publish 通讯。一旦建立连接,就可以浏览和管理站点的节点树。节点树会被显示为一个文件系统(由目录和文件构成)。
  • 当用户第一次连接到eZ Publish 的WebDAV 服务器,系统会显示一个兼容WebDAV 的站点入口列表。这个列表可以在"site.ini"重设文件中"[SiteSettings]"章节下的"SiteList[]"中配置。请注意,此时系统还不会要求您输入用户名和密码。换言之,任何可以访问网络的用户都可以看到这些可用的站点入口。下图演示了两个站点入口的WebDAV 界面,"example"和"plain_user"。

EzpublishWEBDAV1.jpg

当选中一个站点入口,系统会提示输入用户名和密码。参阅下图。

EzpublishWEBDAV2.jpg

提供的用户名和密码必须属于一个存在于选择的站点入口中的有效eZ Publish 用户。此外,用户必须有足够的权限才可以看到节点树的内容。下图演示了在一个WebDAV 客户端中显示了名称为"plain_user"的eZ Publish 站点入口的根节点的内容。

EzpublishWEBDAV3.jpg

如上图所示,用户可以浏览和管理"Content"和"Media"顶极节点的内容。下图演示了用户在"Content"顶极节点中浏览了若干节点后的页面。

EzpublishWEBDAV4.jpg

浏览和下载

默认情况下,所有的节点都被显示为目录。这是因为在eZ Publish 中任何对象都可以以子节点的形式存在于其它节点下。将节点显示为目录允许用户浏览节点树的结构。但是并不是所有的节点都被显示为目录。

那些包含文件数据类型的对象的节点会被显示为其所在目录中的文件。这意味着使用图片,媒体或文件数据类型的节点会被显示为文件。当下载这些节点时,eZ Publish 会把节点中的文件属性所包含的文件发送给用户。如果节点中有多个文件类型的属性,第一个属性中的文件会被传送给用户。

"webdav.ini"重设文件中的"FolderClasses[]"可以用来配置哪些类型的节点在WebDAV 客户端中应该被显示为目录。默认的配置确保“文件夹”类型的节点总是被显示为目录。如果把某个包含文件数据类型的类添加到"FolderClases[]"中,会重设上述的行为。换言之,尽管某些节点包含文件数据类型,这个配置还是可以把这些节点显示为目录。

上传

任何类型的文件都可以被上传至eZ Publish。文件会被保存为文件类的对象。换言之,每次上传一个文件,eZ Publish 会创建一个文件对象,它的文件属性会包含这个上传的文件。此外,在文件上传的位置,一个节点会被创建。这是系统默认的行文。但是,并非所有的文件都会被创建为文件对象。

可以配置系统,从而系统可以根据上传的文件类型创建不同类型的对象。例如,默认的配置确保上传的图片被创建为图片对象。这种行为是由MIME 类型和类的映射来控制的。映射可以通过"upload.ini"重设文件中"CreateSettings"章节下的"MimeClassMap[]"来配置。"DefaultClass"配置确定如果没有合适的匹配,哪个类应该被用作默认类。这个选项通常被设置为"file",这意味着系统不识别的类型会被创建为文件对象。

下例演示了默认的映射。

MimeClassMap[]
MimeClassMap[image]=image
MimeClassMap[video/quicktime]=quicktime
MimeClassMap[video/x-msvideo]=windows_media
MimeClassMap[video/vnd.rn-realvideo]=real_video
MimeClassMap[application/vnd.rn-realmedia]=real_video
MimeClassMap[application/x-shockwave-flash]=flash

"MimeClassMap[]"中的每个单元必须通过另外一个配置块来进一步配置。这个配置块揭示了被映射的类的细节。这个配置块必须包含以下信息:

• 目标类的类标识符(后面追加"_ClassSettings"后缀)。

• 用于保存文件的类属性标识符。

• 用于保存文件名的类属性标识符。

• 对象名模式

下例演示了默认的图片类映射配置块。

[image_ClassSettings]
FileAttribute=image
NameAttribute=name
NamePattern=<original_filename_base>

上例告知eZ Publish 当图片被上传,实际的文件数据会被保存在"image"属性中。图片的名称会被保存在"name"属性中("name"为属性的标识符)。"NamePattern"告知系统应该如何生成上传图片的名称。它可以包含文本和特殊字符(由尖括号环绕"<"和">")。下表揭示了可以使用的标签。

EzpublishWEBDAV5.jpg

自定义上传处理器

可以通过使用自定义的上传处理器来对上传的文件做特殊处理。自定义的上传处理器必须被包含在扩展中。当某种特殊类型的文件被上传后,处理器必须被自动触发。这可以通过"upload.ini"重设文件中"[CreateSettings]"章节下的"MimeUploadHandlerMap[]"来配置。例如,以下的配置会确保所有上传的图片(无论为何种类型的图片)都会被"ezimageuploadhandler.php"中定义的"ezimageuploadhandler"类来处理。

MimeUploadHandlerMap[image]=ezimageuploadhandler

也可以配置某些特定类型的文件被这个上传处理器处理。下例演示了如何配置只处理JPEG 图片。

MimeUploadHandlerMap[image/jpeg]=ezimageuploadhandler

上传处理器本身必须被放置在扩展中名称为"uploadhandlers"的目录中,如下:

eZ Publish
|
-extensions
|
-example
|
-uploadhandlers
|
-ezimageuploadhandler.php

以下代码演示了一个自定义上传处理器的框架。

include_once( 'kernel/classes/ezcontentuploadhandler.php' );
class eZExampleUploadHandler extends eZContentUploadHandler
{
function eZExampleUploadHandler()
{
$this->eZContentUploadHandler( 'Example file handling', 'example' );
}
/*!
Handles the uploading of example files.
*/
function handleFile( &$upload, &$result,
$filePath, $originalFilename, $mimeInfo,
$location, $existingNode )
{
// Implement your import/conversion routine here
copy( $filepath, "var/cache/example.jpeg" );
}
}

webdav配置[ ]

本小节了如何将eZ Publish 配置为WebDAV 服务器。请注意DNS 与Web 服务器也需要被配置。

第一步:启用WebDAV 服务器

WebDAV 的主开关必须被打开。为"webdav.ini"创建一个全局的重设文件并确保它包含以下内容:

[GeneralSettings]
EnableWebDAV=true
第二步:添加需要的站点入口

为了允许WebDAV 访问特定的站点入口,站点入口的名称必须在"site.ini"重设文件"[SiteSettings]"章节中的"SiteList[]"中配置。确保"site.ini"的全局重设文件包括必要的配置。下例演示了如何为"plain_user"和"example"站点入口启用WebDAV。

[SiteSettings]
SiteList[]
SiteList[]=plain_user
SiteList[]=example
第三步:清除所有的缓存

至此,eZ Publish 部分的配置就完成了。现在清除所有的缓存以确保系统使用最新的配置。

第四步:设置DNS 记录

设置用于访问WebDAV 的DNS 记录(例如:子域名)。这些记录必须指向web 服务器的IP 地址。例如,如果您通过"www.example.com"访问web 页面,应该为WebDAV 配置"webdav.example.com"。

第五步:配置web 服务器

在eZ Publish 根目录中有一个文件"webdav.php"。这个文件提供了真正的WebDAV 界面。每次当一个WebDAV 客户端给服务器发送一条命令时,web 服务器必须都自动执行这个文件。以下内容演示了如何在Apache 配置文件中配置WebDAV。

<Virtualhost 128.39.140.28>
<Directory /path/to/ezpublish>
Options FollowSymLinks Indexes ExecCGI
AllowOverride None
</Directory>
DocumentRoot /path/to/ezpublish
RewriteEngine On
RewriteRule . /webdav.php
ServerAdmin admin@example.com
ServerName webdav.example.com
</VirtualHost>

注意:确保您在virtual hosts 定义之前有一条"NamedVirtualHost"记录。

第六步:测试

启动一个兼容WebDAV 的客户端/应用程序并尝试连接服务器。

Internet Explorer

最近版本的Microsoft Internet Explorer (6.0.2800.1106 或更新的版本)包含一个内建的WebDAV 客户端。目标地址必须以web 文件夹方式打开。

1. 启动Internet Explorer

2. 访问“文件”菜单,然后选择“打开”,系统会显示一个对话框。

3. 在对话框的地址栏中输入WebDAV 服务器的地址,在最后追加一个"#",例如:http://webdav.example.com/#

EzpublishWEBDAV6.jpg

4. 确保勾选“以web 文件夹方式打开”复选框。

5. 点击确定。您应该可以可用的站点入口以目录的形式显示出来。

KDE/Konqueror 确保有最新版本的Konqueror(3.1.3 或更高版本)。打开Konqueror 窗口并通过访问WebDAV 的URL,例如:"http://webdav.example.com/",来浏览WebDAV 服务器。

EzpublishWEBDAV7.jpg

参考来源[ ]

EZ Publish使用手册导航

EZ Publish安装卸载

EZ Publish正常安装 | EZ Publish手动安装 | EZ Publish自动安装 | EZ Publish安装向导 | EZ Publish虚拟主机设置 | EZ Publish使用扩展 | EZ Publish的卸载

EZ Publish的使用

模板使用:

EZ Publish节点模板 | EZ Publish系统模板 | EZ Publish Pagelayout页头信息 | EZ Publish Pagelayout变量 | EZ Publish 模板注释 | EZ Publish 模板变量类型 | EZ Publish 模板变量用法 | EZ Publish 调查数组和对象 | EZ Publish 模板控制结构 | EZ Publish 函数与操作符 | EZ Publish URL处理 | EZ Publish 内容提取 | EZ Publish 模板重设系统
系统功能: EZ Publish 系统记帐 | EZ Publish 策略功能 | EZ Publish 多语言使用(一) | EZ Publish 多语言使用(二) | EZ Publish 集群的使用 | EZ Publish 安装包的使用 | EZ Publish Cronjob脚本的使用 | EZ Publish 多货币功能 | EZ Publish 通知功能
其他功能: EZ Publish 增值税(VAT)系统 | EZ Publish 改进的商品配送系统 | EZ Publish 多语言URL别名 | EZ Publish 登录后高级重定向 | EZ Publish 检索引擎 | EZ Publish WebDAV | EZ Publish 视图缓存

EZ Publish常见问题

EZ Publish 安装常见问题 | EZ Publish 使用常见问题

EZ Publish其他

EZ Publish内部结构 | EZ Publish内容与界面 | EZ Publish内容管理(一) | EZ Publish内容管理(二) | EZ Publish配置模型 | EZ Publish模块与视图 | EZ Publish URL 翻译 | EZ Publish 界面 | EZ Publish访问控制 | EZ Publish网络商店 | EZ Publish工作流