WebDAV-issues between Mac OS X and Zope
Due to a broken WebDAV-implementation in Mac OS X, pesky system files are accumulating in Zope. Symptoms. .DS_Store and files beginning with ._ are uploaded along with regular files when using WebDAV in Mac OS X. Patchwebdav addresses this for Plone 2.1.2 and Zope 2.9.4 or later.
Strategy
We still want these system files to be made available to Mac OS X-clients, since the system expects to find them (see this technical note
from Apple). At any rate, we don't want them to be displayed inside Plone. We therefore opt to override the default PUT_factory method of Archetypes.BaseFolder before the item is created as a CMF object.Another issue is that non-Apple WebDAV-clients will not know to hide this system-files in their listings, so we'll also have to prevent them from being displayed here. We do this by overriding the listDAVObjects method of Archetypes.BaseObject.
Implementation
The patch is based on existing code by Kai Hoppert and Sidnei da Silva (see patchwebdav and ATAudioFolder.py). It is tested on Plone 2.1.2 with Zope 2.9.4, but should be applicable on newer Plone-releases.
-
patchwebdav 0.2.1a (local mirror)