Copy operation details

(on Windows OS since Drive 1.7 release)

The Copy operation is not natively supported by the Windows file system. For example, the copy of a non-empty folder is performed item by item, and the copy operation of a file is broken into many individual operations on both the source and the destination files (which are not related from the perspective of the file system driver). The ideal approach here is to forward the copy operation performed on the same volume automatically to the server whenever possible. We use two approaches to satisfy this requirement; the first one is for files and the second one is for folders.

The heuristic file copy operation detection

The heuristic copy operation detection relies on the match of the attributes and content of the source and destination files. The source and destination files must be located on the same volume. The matching attributes are filename, size, modified date, and last but not least the content of the file (if the file is not empty). A digest is built from the filename and the file content by a matching algorithm for the source and destination file candidates.
File candidates are identified according to following conditions: Finally the matching is triggered when the source or the destination candidate is closed. The following conditions must be met for the copy operation to be identified:

The folder copy detection

The folder copy detection works for applications that use Windows Shell API for copy operation (e.g., Windows Explorer). This API is used by both Copy/Cut & Paste and Drag & Drop user actions. The source and destination folders must be located on the same volume. The algorithm uses an “all-or-nothing” approach, which means that if the copy operation on a folder fails for some reason, the fallback (which is to copy item by item) is not performed. In other words, if the operation cannot be done entirety, no partial operation should be executed.
There are, however, some conflicting cases in which the copy operation is performed item by item. These are:

The folder rename, move and delete

To keep the behavior of the copy operation consistent with the rename, move and delete operations, it was decided that these operations should behave in the same manner, i.e. all-or-nothing. Please consult the paragraph above for the explanation of the all-or-nothing approach.


Send feedback about this documentation to: support@xythos.com

Copyright © 2014  Blackboard, Inc.  All rights reserved.