Task #77988

Moving folders between local file storages does not work

Added by Steffen Wargalla over 5 years ago. Updated almost 2 years ago.

Status:
Accepted
Priority:
Must have
Assignee:
-
Category:
File Abstraction Layer (FAL)
Target version:
-
Start date:
2016-09-18
Due date:
% Done:

0%

Estimated time:
TYPO3 Version:
6.2
PHP Version:
Tags:
Complexity:
medium
Sprint Focus:

Description

Trying to move one folder to another storage leads to an flash error message in the backend file module >Directory ... was not moved to "/". Write permission problem?<

Source and target storage are using both the local filesystem driver and are writable, readable, accessible and online.

I tried to debug this issue and tracked it down so far to $this->absoluteBasePath = null in the LocalDriver class. I have not figured out why this is null at this point, but it leads to an error while checking permissions on an malformed file path, due to $this->absoluteBasePath = null.

Thank you


Related issues

Related to TYPO3 Core - Bug #94609: Moving a file to a different storage will not invalidate or modify the processed entryNew2021-07-21

Actions
#1

Updated by Stephan Großberndt about 5 years ago

  • Status changed from New to Accepted

I can confirm this issue on TYPO3 6.2:

Create a second local storage, try to cut a folder in default fileadmin/ and paste it to the second local storage.

#2

Updated by Riccardo De Contardi about 5 years ago

Confirmed with 8.5.0, when moving folders

Test procedure:

Test 1 (image)

1) I created a new folder tempfileadmin/ at the same level of fileadmin
2) I created a new file storage tempfileadmin with base path:"tempfileadmin/"; "relative"; "Is browsable";"Is publicly available";"Is writable";"Is online"
3) I uploaded an image in fileadmin using filelist module
4) I cut the image and pasted it onto tempfileadmin

Result: the image has been moved.

Test 2 (folder)

1) I created a new folder under fileadmin, called "test" (using filelist module)
2) I uploaded 4 images in /fileadmin/temp/ using filelist module
3) I cut the folder "temp" and pasted it onto tempfileadmin

Result: Error: "Directory "/test/" WAS NOT moved to "/"! There might be a problem with write permissions"

#3

Updated by Angelo Previtali almost 4 years ago

Is there any news concerning this issue for the actual TYPO3 version 8.7.?

will this be fixed somehow?

#4

Updated by Susanne Moog almost 3 years ago

  • Tracker changed from Bug to Task
  • Complexity set to medium

This is not really a bug but has never been implemented, the code currently looks like this:

    protected function moveFolderBetweenStorages(Folder $folderToMove, Folder $targetParentFolder, $newFolderName)
    {
        throw new NotImplementedMethodException('Not yet implemented', 1476046361);
    }

(same for copy) - if someone wants to implement that, please go ahead.

#5

Updated by Sybille Peters almost 2 years ago

Outlining possible implementation:

Apart from moving the folders in the file system, this must be done:

sys_file:

  • sys_file.storage must get changed: old storage -> new storage
  • sys_file.identifier must get changed: old path -> new path
  • folder_hash and identifier_hash should get recalculated. If not, the file will get reindexed in sys_file and you will get duplicates

sys_filemounts

  • update base as in sys_file.storage
  • update path as in sys_file.identifier

processed:

  • the files in _processed have changed

... ?

I would add tests to check if:

  • files get reindexed again (creating duplicates)
  • embedded references still work (they should, because sys_file.uid stays the same). What about processed (scaled) files?
#6

Updated by Sybille Peters 6 months ago

  • Related to Bug #94609: Moving a file to a different storage will not invalidate or modify the processed entry added

Also available in: Atom PDF