Gallery2:Modules:webdav:devel - Gallery Codex
Personal tools

Gallery2:Modules:webdav:devel

From Gallery Codex

Testing

TODO

  • Support saving files in Windows: http://galleryproject.org/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.
  • Mac OS X mime-type issue: http://thread.gmane.org/gmane.comp.web.gallery.devel/3817
  • Address Windows login issue with bare w/. Bug #1694541
  • Possibly add active username to WebDAV URLs, for OS X?
  • Support disabling or at least testing if mod_dav is active? 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.
  • ItemEditWebDav doesn't set right response status on error.
    • 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
  • Support RFC 4331 if the quota module is installed.
    • 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.
  • This is an excellent WebDAV howto: 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.
  • Test again with litmus once its move_collection bug is fixed (currently its using COPY instead of MOVE for that test)
  • Test again with litmus once we support COPY
  • Test again with litmus once the PROP tests are configurable (currently it wants to write to a namespace that we don't accept)
  • Bug: Fail if DELETE requests include a URL fragment (basic litmus test suite warning)
  • 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.
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).

Copy

Implementing $entity->copy shouldn't be difficult:

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