Gallery:模块:webdav:开发(devel)

来自站长百科
Firebrance讨论 | 贡献2008年11月6日 (四) 16:39的版本
跳转至: 导航、​ 搜索

测试

备忘

  • 在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);