story #10721 upload documents with drag'n drop
upload documents with drag'n drop

See live mockup here: https://s.codepen.io/enalean/debug/XPWvLg

I can drag documents from my local computer inside the browser to upload them.

I can drag and drop multiple elements, I can not drop a hole folder. If user try to upload direcly a folder an error is displayed.

/!\ At this step, only new documents can be created using drag and drop. Updating existing documents (creating a new version) is already done.
Given I am dropping A.txt and a document named A.txt already exists, then an error will be shown / the drop won't be accepted.

To ease development:

  • limits (number of files, max file size) are hard coded
  • When I drop files in an existing folder (inside the table view) => it uploads all the documents in that folder
  • The UI is not yet defined when I drop files in the current folder of the view (for example in the root project folder).

We need to take metadata into account:

  • if the folder has no required metadata, then we use the folder metadata for each dropped file.
  • if the folder has required metadata, a new modal is displayed and lets the user choose metadata for all uploaded files (as a mass change).

Document permissions are the same than the parent folder.

For current user, document is displayed with progress bar, for other users document is displayed in the table view only when it has at least one version completly uploaded (we don't want users to download corrupt files).

Check that uploading file is not displayed in old UI)

After Drop, the page is reloaded to show the new files.

In legacy UI it was possible to have the same document twice, now we forbid to have twice a document with the same name:

  • in REST route it throw an error
  • in UI a message indicate than an other document have the same name (even if its type is different)
  • it is possible to have a folder and a document with the same name


  • [ ] Does it involves User Interface? 
  • [ ] Are there any mockups?
  • [ ] Are permissions checked?
  • [ ] Does it need Javascript development?
  • [ ] Does it need a forge upgrade bucket?
  • [ ] Does it need to execute things in system events?
  • [ ] Does it impact project creation (templates)?
  • [ ] Is it exploratory?
Manuel Vacelet (vaceletm)
2019-01-31 11:33
2017-10-04 11:36

Referencing story #10721

Git commit