Core: [enhancement] Ability to move files to any folder in the web UI

Created on 27 Aug 2014  Â·  39Comments  Â·  Source: owncloud/core

Currently, as far as I can see, it is only possible to move a collection of files / folders to another location by dragging them to a folder onscreen or to a folder represented in the navigation breadcrumb.

My most common usecase for moving files / folders is to shift files from the InstantUpload folder to other folders (not subfolders) in my ownCloud install. Currently it seems this can only be done by cut and pasting them in a synced folder on my local computer running the sync client.

I propose 2 possible solutions, both of which could be used in tandem. A technically simple, and a drag and drop UI option:

  1. Use the "cut and paste" metaphor, ie. select multiple files and a "Cut" (and possibly a "Copy" button, too) or "Move" button appears next to the "New" and "Upload" buttons. After clicking that, it changes to a "Paste" or "Move files here" button so the user can navigate to the new folder, click the button and complete the move.
  2. Drag and drop - When the user drags a selections of file(s)/folder(s) to a folder / navigation breadcrumb folder, after a moment the files app opens the corresponding folder, while keeping the users dragged selection. This is essentially the same as Dolphin's option called "Open folders during drag operations". In this case I could move pictures from "Instant Upload" to "Personal"/"Kids"/"August Picnic" by dragging the pictures from instant upload, to the Home icon in the breadcrumb nav, then the personal folder etc.
1 - To develop files design enhancement statuSTALE

Most helpful comment

Would be great to see this feature in core

All 39 comments

There is an app http://apps.owncloud.com/content/show.php/Files+move?content=150271 maintained by @eotryx . Do you think it meets your needs?

The drag and drop solution was partially discussed here: https://github.com/owncloud/core/issues/6380#issuecomment-30525573

Sometimes I also miss a cut and paste solution :smile:

Let's continue the discussion here @owncloud/designers

@schiesbn - By and large that app does meet my needs, with a few caveats:

  1. Obviously it needs manual installation, which for something as basic and universal as moving files from one folder to another seems a bit of technical overkill for a common use case.
  2. It requires users understand and type file paths (ie. that "/" represents being inside another folder etc rather than the common English usage of it meaning an alternative / different way of stating something) That's fine for CLI geeks like me, but I suspect most home / enterprise users would not be so forgiving.
  3. The user interface is still a bit clunky. I tried to move 3 images by selecting all three and clicking the "Move" icon. Afterwards only one was there. I hadn't noticed that to move all 3 I had to click on a different "Move" icon at the top. Really, if the user has multiple files selected and they ask to move, it makes sense to move all selected files. Similarly it doesn't give any feedback when the operation is successful.

One thing the app _does_ do well though, is that it gives the option to copy as well as straight move. Whether this is necessary or not is another matter, but worth considering.

So overall, I'm fine with this as a workaround for my personal use case, but I would question closing this issue based solely on that when moving files from one folder to another seems like something that most users are likely to need at some stage, and that should be able to be accomplished without manually installing apps and then forever after needing to type file paths for every operation.

Thanks for pointing this out though. I _will_ be using it, and hadn't noticed as I basically only install apps from the ownCloud admin.

I don't think this issue should be closed.
We shall look into implementing the drag and drop with delayed hover, which seem to be the neatest and easiest solution.

copying/moving files is a feature which should be implemented. If you have for example files stored in your own folder and want to copy them to a shared folder now you have to use the sync client

@nona00 if you have files in "/subdir" and want to copy them to "/subdir2" it is still possible to first open "/subdir" then drag and drop the files to "/". Then go to "/" and drag and drop files into "/subdir2".
Not so convenient, I know.

@PVince81: if you do this, the file is removed from "/subdir". I want to have the same file in "/subdir" and "/subdir2"

Someone should move the app to the core and improve it. This is a basic functionality for a file managing application such as ownCloud. It's such a pain currenly to manage files as we have to use the workarounds described above.

I would love to see these features develop. If I'll gladly help on the design / interaction level!

Still not implemented in Owncloud 8.2. The app suggested isn't compatible with 8.2 either. Why don't you implement such an essential and basic feature into Owncloud directly?

Why don't you implement

@e-alfred because »we« also have other things to do and are not that many people. You are very welcome to contribute – this is an open source project.

@e-alfred - probably a better person to talk to about this would be the creator of the original move files app. They understand it already, and would probably have the easiest time updating it. When there is a working app, then it's a smaller change to discuss, including the functionality in core.

Of course, as Jan points out, anyone is welcome to get the code happening themselves, whether by doing the coding, hiring someone, opening a bounty, exchanging favors with a dev etc.

Well, I got the app running on the latest Owncloud release.

But this feature is also missing from the Enterprise Version, which costs quite a bit. Essential things like these should at least exist in an enterprise-class software.

@e-alfred How did you get it working?

@Bugsbane I used this app: https://github.com/leizh/owncloud-files_clipboard/tree/0.4.1

It works pretty well. It shows cut/copy and paste if you select one or more files/folders.

Oh nice, files_clipboard seems a bit nicer and more integrated (via multiselect) than the slightly cumbersome files_move tool.

The source is at https://github.com/leizh/owncloud-files_clipboard, made by @leizh – do you still actively work on this? @DeepDiver1975 @PVince81 @schiesbn maybe this would be something to integrate?

I support it but at a slow pace. files_clipboard is a few hours work, with some contestable design choices (use of sessionStorage to store the clipboard). I use it only in a private context and I do not have the time to maintain a enterprise-grade feature. Nonetheless, I think the ability to move files is an essential feature which should be in core.
On the question of interaction, my feeling is that copy/paste is the most appropriate to a page-based file manager like ownCloud.

What are your thoughts here @karlitschek @DeepDiver1975 @PVince81? Should it stay an app, or is this something which would be good in core? Move or Cut/Copy is certainly a pretty core feature of a file manager and we only do it via drag&drop right now.

Cut/Copy I'm not sure.

But drag and drop + delayed hover that auto-opens folders would be nice to have in core.

Here are some drawbacks of the drag and drop with delayed hover :

  • the action is not visible to users (the copy with a modifier even less)
  • unwanted moves can happen
  • is slow and perilous if the target directory is far
  • does not work well if a scroll is needed
  • is not adapted at all to mobiles (conflict with the scroll on the page, moves between tabs are impossible)

@leizh good points

Drag and drop is also quite problematic if one has a hierarchical tree structure with a lot of subfolders. To move them up to the root (!) and then to the other folder one by one is just insane. It would be a tiny bit easier if one could move files from one browser window to another browser window (with the source and destination folders open respectively). But simply clicking a button like "cut" or "copy" and "paste" in the respective directory is simply the easiest.

Another point is that every serious file manager (desktop- or web-based) has these features nowadays and Owncloud should have those in the web interface of the files app as well. If one has to use the web interface without a local sync client running/accessible (which is pretty obvious for a web app that this happens if you access Owncloud with a browser from a public/shared/someone else's computer) then ease of use is a major point.

Both cut/paste as well as drag & drop is expected by people, so both are basically things we need to have. The difference here is that drag & drop we need to perfect, while cut/paste is something entirely new we need to implement.

Would be great to see this feature in core

Why not a modal "select your target folder in this hierarchy treeview" popover, with a filtering searchbar in it to speed things up?

Drag and drop for me is going to be a bunch of wasted time. I think it could be a good idea, but I don't think it should be the only way to move stuff around. I know it can be convenient in some scenarios, but I need cut & paste because I have complex folder structures. I've used Files_Move and Files_Clipboard, and they were both useful... until they stopped working and broke other apps.

We REALLY need this as a built-in function. One of the PRIMARY functions of ownCloud is file management, and we don't even have basic functionalities built-in like cut+paste.

I am "dying" here, I can't use either of the apps that previously provided this.

Drag & drop can work, providing the existence of a clipboard as an intermediate step:
You drag whatever file from wherever into a clipboard. At that stage, no file is moved anywhere yet.
You go to the directory you want, and you drag again the file from the clipboard zone to the target directory.
The clipboard should include a button for each file or directory to be removed from it ("Cancel", if you prefer). Another switch could allow enabling copy instead of move (but move should be the default).

That sounds both simple and powerful enough to me, the chance of doing a wrong manipulation is low, and it should be easy to understand as everything is visible through the whole process.
You can do batch operations and reorganize all the directories at once on the web interface.

Of course, this is easy to describe, and since my developing ability are limited to simple 200 lines Python scripts, you'd better not wait for me to implement it, this is just a suggestion.

Can we get this assigned to a milestone please? This has been open since 2 years ago.

Is anyone here interested in implementing as a pull request for this in 9.2 ?

Regarding the feature itself, I think having both the clipboard approach and drag and drop with delay would be nice.

Unfortunately I'm quite busy with many other things so I'm not sure I'll have time to do it myself, but I can provide some assistance.

I'm very interested and frankly I see this as one of the major features missing from OC.
I think we can discuss what way is best, but any way is better than nothing. I can imagine
1) drag&drop with delay
2) clipboard
3) move to button (where you could pick the destination)
4) two-panel environment, explorer-like, with folders in one panel and tree in the other.

Once more, please implement the easiest variant and THEN discuss, if there would be any other solution...

I think the drag and drop with delay variant is the easiest ti implement because it doesn't add any new UI elements and doesn't require new APIs. Goal is to adjust the drag and drop code to have a delay that triggers FileList.changeDirectory() when hovering on a breadcrumb or a folder.

The way I see it, the solution could come in two pull requests, one for drag and drop and one for the clipboard solution, as both don't affect each other.

As for 3), this would require using the file picker dialog. Not sure if it supports folder selection currently.
4) would change too much, would be more a candidate for a separate app or folder view. (on the topic of folder view, ideal would be to make the files app extensible to let other apps add their own views of the FS, as discussed in https://github.com/owncloud/core/issues/17357)

ideal would be to make the files app extensible to let other apps add their own views of the FS, as discussed in #17357

This is exactly what I've been wanting for as long as ownCloud has had public code available, so we can finally get a view of image folders more like what Gallery does without everything being scaled into tinier than postage stamp size thumbnails or cropped into squares.

Using 9.0.8 on shared hosting. I used Ctrl+click to select several files with the intention to move them to another folder. Ye old legacy drag and drop only worked if the folder was visible on screen. If the destination folder was not visible on screen, drag and drop didn't work because the page wouldn't auto-scroll. Why not have an option to copy/move files to any directory? This is such a basic feature for any file manager. How has this popular request remained open through two major releases?

How has this popular request remained open through two major releases?

Most likely for the reasons already pointed out above: https://github.com/owncloud/core/issues/10656#issuecomment-162520540

If no one is stepping up to implement something stuff stays unimplemented. Sad but just the hard truth.

But as there is an existing and working app as also pointed out in a few comments above https://apps.owncloud.com/content/show.php/files_clipboard?content=167818 you can use this one for now until some one is stepping up to implement this.

Yeah, I've installed that app. However, let's not imply that it is anything other than a rudimentary workaround.

Some WIP PR here if someone wants to help testing... https://github.com/owncloud/core/pull/26103

Just to add here... the cut/paste app referenced above is not available in the marketplace in newer owncloud versions (above 10.0).
Current link: https://marketplace.owncloud.com/apps/files_clipboard

It is a community app. Isssue https://github.com/owncloud/core/issues/33973 is waiting for the "owner" of the app to do a release.

My main reason for posting something was due to the "stale" tag. Being able to move a set of files from one sub-directory directly to another seems like fairly core functionality unless I am missing some other way to do this. (I just did it on my owncloud instance by creating a new subdirectory and then moving the files into it and then moving the temporary subdirectory up the tree and back down.)

While I agree that drag-n-drop would be optimal, the cut/copy/paste is already implemented. The title of this github issue does not specify drag-n-drop as the solution. Adoption of the cut/copy/paste into core, or even just making it a supported app, would arguably resolve this 5+ year old issue. That is already the functionality implemented in the smartphone app interface. In the end it seems like having both drag-n-drop and cut/copy/paste would be optimal for the webUI, as drag-n-drop is more sensitive to slipped fingers, but that is somewhat a matter of opinion.

Thanks for your work. I'm just trying to make constructive suggestions.

Was this page helpful?
0 / 5 - 0 ratings