MPA

From the to-do list: MPA V1.0: Import/ local / Offline

❏ Rework Uploading files

Comments

Pierre henri Seylan on August 30, 2019:

After testing the app for months, it seems that having uploads always activated or deactivated is not the best option.
This works best for apps like dropbox, since those are focussing on one folder.
However the MPA is able to track files everywhere on the HD, which makes the uploading more tricky.
The user might just want to import files locally, but forgot that the uploads are activated, and vice versa.

To make the uploading more flexible, we should change the logic to the following:
  • the user can sync or unsync given folders 
  • the user can upload files on demand 

This way it is always clear to the user the files will be uploaded when imported.


A. Logic:
A1. Sync items:
Synching items defines if the item and it's sub items will be uploaded to the cloud.
For example, if a folder is synched, all the files included in this folder are uploaded, including the new ones.

When importing files to the personal library, those aren't synched at first, the user needs to manually sync the folders or collections.

The items which can be synched are:
  • collections
  • folders

A2. Unsync items:
When a previously synched item is unsynched, the new files added to this items are not uploaded.
However, files that were already uploaded remain unchanged.


A3. Uploading files:
If plain files are imported in the personal library, those aren't uploaded at first.
The user can then riight click the files and select "upload" to trigger the upload.

A4. Exsiting logic:
One aspect to take care of, is the sync which occur when re-opening the app.
Currently when re-opening the app, all new imported files are uploaded if uploads are activated.
In the new system, only new files of synched folders and collections should be uploaded.

B. Interface:
B1. Sync/ unsync :
To sync and unsync items, the user can right click the folder or collection.
A Sync (or unsync) option is displayed in the option menu.
The icon should be the cloud icon.
Those options should be displayed as first options in the list.

B2. Uploading files:
For plain files, the cloud icon is used for "upload".
However, this option is displayed instead of the existing "download" option.
The download option is available only if the files is already uploaded.

Note: plain files don't display the "sync" option

B3. Cloud mark:
The cloud icon on the right side of the files and folders should remain, it keeps displaying the status of the files and folders.

B4. Sound library uploads:
The "Sound library uploads" option displayed in the options menu and preference panel can be deactivated for now.
Later on, it will be modfied to choose if the instruments and other pluginns datas should be auto-synched.

Pierre henri Seylan on September 23, 2019:

Feedback:

Below is some preliminary feedback.

1.  Upload plain files:
The behavior described in the section A3 doesn't seem to be implemented, when right clicking a file, it only shows "download".
  • download should be replaced by "upload" for files which are local only 

2. Sync collections:
When right clicking a collection, the "sync" option doesn't appear 

3. Sync folders and collections new files:
When new files are added to a synched folder or collection, the upload is not triggered.
Here, we should use the file watcher, if a folder/collection is synched, it is monitored so that new files added to this item are uploaded.

note: this might be more complex as it seems, since:
  • folders can be a local directory or a virtual folder which doesn't exist locally (cloud folder)
  • files which were already registered, but only local, can be added to synched collections, which should trigger an upload

4. UI- Unsync icon:
For "Unsync" let's use the same icon as used for the offline mark.
This icon appear in the side menu when the app is offline, see below:


5. UI- details pages:

Let's add the sync/ unsync option in the options list of the details page, for folders and collections.
This new option should be displayed right after "download"

Pierre henri Seylan on October 3, 2019:

Feedback:

1. Cloud Mark:
When a file has finished to upload to the server, we should display the cloud icon on the right side of the item row, see the screenshot below.
Note that sometimes this is working correctly, but if you are testinng few cases you should get the issue where the file's status is not updated.


2. sync sub folders:
For the case of nested folders.
If the root folder is synched, then all sub folders should be synched as well.

3. Files synching test cases:
below is some feedback for all the files upload tests cases.
The ones whitout issues are not reported here.

3.1 add local file to folder:
Case:
-The files are already registered in the DB
-Files are then moved to the folder
-> files are not uploaded 

Test scenario:
-Create a new folder 
-Synch this folder
-Import files in the personal sound library (not to the folder)
-move the files to the folder (via drag and drop)

The files are not uploaded, expected is that the files are being uploaded since they are added to a synched folder.


3.2 add file to synched collection:
Case: 
-The collection is synched
-Exsiting files are then added to the collection
-> files are not uploaded 

Test scenario:
-Create a new collection
-Synch this collection
-Import files in the personal sound library (not to the collection)
-add the imported files to the collectrion via the "add to" option 

The files are not uploaded, expected is that the files are being uploaded since they are added to a synched collection.

Pierre henri Seylan on October 4, 2019:

Feedback #3:

2. sync sub folders:
This works correctly when initially importing folders.
However, it should be possible to decouple sub folders sync.
This means that the user can sync/unsync sub folders individually.

3.3 add files to unsyched folder on HD:
Case: 
-The folder is not synched
-Files are added directly in the local folder via the finder
-> files are not added in the app

This case works only if the folder is synched, however if not synched, the new files are ignored and don't appear in the app.

Test scenario:
-Create a new folder in the finder
-Import to the personal library via drag and drop
-Keep the folder not synched
-Add new files to the folder in the finder

4. App goes offline during upload:
If the app goes offline during the synchronnization, it will currently freeze the progress bar, without clear indication that the upload/download process has stopped.

To improve this behavior, let's do the following:

UI:
  • the circle with the number of task is now replaced by the loading spinner, the same size and same color
  • the orange progress bar and % amount become gray (same color as the spinner circle)

Logic:
After few seconds, an error message appears "the following files couldn't be uploaded"
Let's instead keep the task on pause indefiitely, with the UI for the task section displayed like the description above.
When the app does online again, the task should resume and complete the upload/download.

Karim Alabtakh on October 9, 2019:

done

Pierre henri Seylan on October 25, 2019:

In the latest builds, some bugs have (re)appeared for the files uploads.


1. sync broken:
When items are synched, the files arte no longer uploaded.
Test: click "sync" on a folder/collection -> no files upload is trigger

2. Upload files manually:
When right clicking on files and select "upload" the upload is triggered, but the files disapear once the upload is complete.