Gallery: 模块:webdav:开发(devel):修订间差异

来自站长百科
跳转至: 导航、​ 搜索
无编辑摘要
无编辑摘要
第7行: 第7行:
=== 备忘 ===
=== 备忘 ===


* Support saving files in Windows: http://gallery.menalto.com/node/66332
* 在Windows中支持文件的保存:http://gallery.menalto.com/node/66332
* Does our WebDAV module or the WebDAV client need to support the 100 Continue status? Trouble is when you upload a big file, you're not prompted for username and password until after the file is transfered.
* 我们的WebDAV模块或WebDAV客户端需要支持100 Continue状态吗?麻烦处在上传大文件时,在文件传输完成之前不会被要求用户名和密码。
* Mac OS X mime-type issue: http://thread.gmane.org/gmane.comp.web.gallery.devel/3817
* Mac OS X mime-type的问题: http://thread.gmane.org/gmane.comp.web.gallery.devel/3817
* Address Windows login issue with bare w/. Bug #1694541
* 使用bare w/登入Address Windows的问题。Bug #1694541
* Possibly add active username to WebDAV URLs, for OS X?
* 可能向WebDAV URL添加活动用户名,针对OS X?
* Support disabling or at least testing if mod_dav is active? http://thread.gmane.org/gmane.comp.apache.user/67706 bug #1736862
* 支持禁用mod_dav或至少能够测试mod_dav是否为活动状态?http://thread.gmane.org/gmane.comp.apache.user/67706 bug #1736862
* Show a warning the Mount with WebDAV block if WebDAV checks fail, at least to the admin user.
* 如WebDAV 检查失败的话,使用WebDAV区块显示警告,至少管理员用户可以看到此警告。
* ItemEditWebDav doesn't set right response status on error.
* ItemEditWebDav在错误时无法设定正确的应答状态。
** We could just drop using the put_response_helper, but it supports ranges which is kinda nice. Alternatively we could force set 500 Internal Server Error on errors in WebDav.inc, as long as we don't set specialized response codes in ItemEditWebDav.inc
** 我们可以停止使用put_response_helper,不过它的支持范围挺大。或者我们可以在WebDav.inc中强制设定错误时显示500 内部服务器错误,只要我们不在ItemEditWebDav.inc设定特定应答代码即可。
* Support RFC 4331 if the quota module is installed.
* 如果安装了quota模块,则支持RFC 4331。
** Mac OS X client is requesting these properties. Should be easy to implement using GalleryQuotasHelper::getUserDiskQuota and GalleryQuotasHelper::getUserDiskUsage, however they would eventually need their own API, like RewriteApi or HttpAuthInterface. Gallery is currently preferring QuotaInterface_1_0. Or should it be GalleryQuotaInterface_1_0? It's GallerySearchInterface_1_0. If a module uses the Gallery prefix, it's class might conflict with a class in the core module. If it doesn't use the Gallery prefix, it might conflict with a class in an embedded application.
** Mac OS X客户端需要这些属性。较简单的实现方法就是使用GalleryQuotasHelper::getUserDiskQuota 和GalleryQuotasHelper::getUserDiskUsage。但它们最终还是需要自己的API,如RewriteApi或HttpAuthInterface。Gallery目前偏好于使用QuotaInterface_1_0。抑或是GalleryQuotaInterface_1_0?如果某个模块使用Gallery前缀,其类别可能会与核心模块中的某个类别产生冲突。但若不使用Gallery前缀的话,又可能会与某嵌入应用程序中某个类别发生冲突。
* This is an excellent WebDAV howto: http://plone.org/documentation/how-to/webdav
* 这是一个不错的有关WebDAV的指导:http://plone.org/documentation/how-to/webdav
* <strike>Fix permissions necessary to replace a resource. Bug #1686922</strike>
* <strike>Fix permissions necessary to replace a resource. Bug #1686922</strike>
* <strike>Support changing entities' class. Bug #1681406, review #167, review #176</strike>
* <strike>Support changing entities' class. Bug #1681406, review #167, review #176</strike>
* <strike>Add config check for all WebDAV methods.</strike>
* <strike>Add config check for all WebDAV methods.</strike>
* Test again with [http://www.webdav.org/neon/litmus/ litmus] once its ''move_coll''ection bug is fixed (currently its using COPY instead of MOVE for that test)
* 一旦litmus的''move_coll''ection bug被修复,就会再次测试[http://www.webdav.org/neon/litmus/ litmus](目前测试中使用COPY而不是MOVE)
* Test again with litmus once we support COPY
* 一旦我们支持COPY就会再次测试litmus
* Test again with litmus once the PROP tests are configurable (currently it wants to write to a namespace that we don't accept)
* 一旦 PROP测试可配置就会再次测试litmus(目前它会写至某个我们不支持的命名空间)
* Bug: Fail if DELETE requests include a URL fragment (basic litmus test suite warning)
* Bug: 如DELETE请求包括某个URL片断就会失败
* Bug: RFC 4918 6.1:
* Bug: RFC 4918 6.1:
  If a request causes the lock-root of any lock to become an unmapped URL, then the lock MUST also be deleted by that request.
  如果某请求导致任何lock的lock-root变为某个未经映射的URL的话,那么lock就必须为该请求所删除。
* Bug: RFC 4918 6.4:
* Bug: RFC 4918 6.4:
  The creator of a lock has special privileges to use the lock to modify the resource. When a locked resource is modified, a server MUST check that the authenticated principal matches the lock creator (in addition to checking for valid lock token submission).
  某lock的创建者具有特权来使用lock进行源的修改。当某个被lock的源被修改时,服务器就必须检查经授权的原则是否符合lock创建者(还有有效lock记号的提交)。
* Bug: Add support for Lock-null resource (LNR). See [http://www.webdav.org/specs/rfc2518.html#rfc.section.7.4 RFC 2518 7.4], and [http://www.webdav.org/specs/rfc4918.html#lock-null Details from RFC4918 about the behavior of the now deprecated LNR].
* Bug: 添加对Lock-null resource (LNR)的支持。请参见 [http://www.webdav.org/specs/rfc2518.html#rfc.section.7.4 RFC 2518 7.4][http://www.webdav.org/specs/rfc4918.html#lock-null Details from RFC4918 about the behavior of the now deprecated LNR]
** But note that [http://greenbytes.de/tech/webdav/draft-reschke-webdav-locking-latest.html#rfc.section.B.1.2 LNRs doesn't seem to be used by any established / non-academic WebDAV client]
** 但请注意[http://greenbytes.de/tech/webdav/draft-reschke-webdav-locking-latest.html#rfc.section.B.1.2 LNRs 貌似不被任何已发布的/非正式的WebDAV客户端所使用]
* Add support for [http://www.webdav.org/specs/rfc4918.html#lock-unmapped-urls RFC4918's lock-unmappped URLs], which obsoletes LNRs.
* 添加对[http://www.webdav.org/specs/rfc4918.html#lock-unmapped-urls RFC4918中lock-unmappped URL]的支持。
* Bug: check_locks using server relative URL
* Bug: 使用相对URL的check_locks
* Library or helper class should generate error response body for 423 Locked response status.
* 库或帮助类别应为423 Locked 应答状态生成错误应答主体。


=== copy ===
=== copy ===

2008年11月6日 (四) 16:37的版本

测试

备忘

  • 在Windows中支持文件的保存:http://gallery.menalto.com/node/66332
  • 我们的WebDAV模块或WebDAV客户端需要支持100 Continue状态吗?麻烦处在上传大文件时,在文件传输完成之前不会被要求用户名和密码。
  • Mac OS X mime-type的问题: http://thread.gmane.org/gmane.comp.web.gallery.devel/3817
  • 使用bare w/登入Address Windows的问题。Bug #1694541
  • 可能向WebDAV URL添加活动用户名,针对OS X?
  • 支持禁用mod_dav或至少能够测试mod_dav是否为活动状态?http://thread.gmane.org/gmane.comp.apache.user/67706 bug #1736862
  • 如WebDAV 检查失败的话,使用WebDAV区块显示警告,至少管理员用户可以看到此警告。
  • ItemEditWebDav在错误时无法设定正确的应答状态。
    • 我们可以停止使用put_response_helper,不过它的支持范围挺大。或者我们可以在WebDav.inc中强制设定错误时显示500 内部服务器错误,只要我们不在ItemEditWebDav.inc设定特定应答代码即可。
  • 如果安装了quota模块,则支持RFC 4331。
    • Mac OS X客户端需要这些属性。较简单的实现方法就是使用GalleryQuotasHelper::getUserDiskQuota 和GalleryQuotasHelper::getUserDiskUsage。但它们最终还是需要自己的API,如RewriteApi或HttpAuthInterface。Gallery目前偏好于使用QuotaInterface_1_0。抑或是GalleryQuotaInterface_1_0?如果某个模块使用Gallery前缀,其类别可能会与核心模块中的某个类别产生冲突。但若不使用Gallery前缀的话,又可能会与某嵌入应用程序中某个类别发生冲突。
  • 这是一个不错的有关WebDAV的指导:http://plone.org/documentation/how-to/webdav
  • Fix permissions necessary to replace a resource. Bug #1686922
  • Support changing entities' class. Bug #1681406, review #167, review #176
  • Add config check for all WebDAV methods.
  • 一旦litmus的move_collection bug被修复,就会再次测试litmus(目前测试中使用COPY而不是MOVE)
  • 一旦我们支持COPY就会再次测试litmus
  • 一旦 PROP测试可配置就会再次测试litmus(目前它会写至某个我们不支持的命名空间)
  • Bug: 如DELETE请求包括某个URL片断就会失败
  • Bug: RFC 4918 6.1:
如果某请求导致任何lock的lock-root变为某个未经映射的URL的话,那么lock就必须为该请求所删除。
  • Bug: RFC 4918 6.4:
某lock的创建者具有特权来使用lock进行源的修改。当某个被lock的源被修改时,服务器就必须检查经授权的原则是否符合lock创建者(还有有效lock记号的提交)。

copy

$entity->copy的实现不会太困难:

$entity->setId(getUniqueId());
$entity->setPersistentFlag(STORAGE_FLAG_NEWLY_CREATED);