File Copy / File Move / Rename
Copying files from one folder or bucket to another or from one storage provider to another can be performed in the File Fabric Web File Manager, from mobile or desktop Apps, or through APIs.
The procedure for copying will be different dependent on the client used.
How a file is copied is dependent on whether it is a single file or multiple files.
Prior to a Copy or Move being started a metadata refresh of the directory or directories is completed prior to the copy or moving commencing.
Transfer of single files is generally synchronous. The client waits until the copy is completed.
If multiple files are copied then this may be delegated to the Task Manager and executed in the background asynchronously. Background asks can be monitored through the Task Manager when logged into the File Fabric in a browser.
There may be occasions when copying one ore more files from one cloud storage provider to another breaks some nomenclature or naming conventions preventing the copy occurring. If this occurs then the user will be informed (copy being executed synchronously) or the error will be logged in the task manager (copy being executed asynchronously).
The process for moving a file is:
- Copy file to new location
- Move existing file to trash (where possible / if trash is turned on)
As with copying files the procedure for moving files will be different dependent on the client application used.
Moving files are generally executed asynchronously
How a rename is processed is dependent on the storage. For some storage providers a rename is as simple as an API request, for others it involves:
- Copying the file as the renamed filename
- Removing the original file
Note that for Object Storage a rename is potentially a very expensive operation, particularly if the rename is at the folder level. This is because in Object Storage folders are actually objects and filenames actually encompass the prefix of the folder in their name so naming a folder with many files or sub folder nesting within it require every single file and folder in the hierarchy to be renamed, which itself involves a copy, a delete, and a move to Trash operation.
Naming conventions, storage available and other factors may prevent some or all of the files being moved to complete. If this occurs then a user could end up with some files that have been moved and reside in the new location and some files not being able got moved and residing in the old location. If this occurs then a user will need to resolve this manually.
There can be occasions when a file is unable to be deleted and moved to trash during a move. If this occurs then a file(s) could end up in two places, the old and the new. If this occurs then a users will need to resolve this manually.
When files are being copied or moved locks are put in place on the parent folder to prevent other actions creating data integrity issues. These locks are removed once the operations are complete, but if this is occurring on a team folder and other users attempt to process file operations that encompass delete, update or modify then they will be unable to do so until the processes are complete.
Audit logs document file events in their entirety and should be the first port of call when in estimating copies or moves of files / folders.