Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Desktop Sync Confirmation when New Folders Added (Confirm feature) #3148

Closed
MTRichards opened this issue Apr 23, 2015 · 31 comments
Closed

Desktop Sync Confirmation when New Folders Added (Confirm feature) #3148

MTRichards opened this issue Apr 23, 2015 · 31 comments
Assignees
Labels
Needs info p2-high Escalation, on top of current planning, release blocker

Comments

@MTRichards
Copy link

As a user, I want the desktop client to ask me if I want to sync a folder that was newly shared with me to the device I am using so that I do not fill my computer up with all of the files from a network drive or sharepoint instance when it is shared with me.

Acceptance criteria:

  •      When a new folder is shared with a user – external storage, a new internal storage folder, whatever – and the size of the folder exceeds the setting, a user is asked if they want to sync this folder to this desktop device 
    
  •      The setting for the size is in the ownCloud settings tab in the desktop client, defaults to 100 MB, and can be changed by the end user to the size of their choice (and the default is brandable) 
    
  •      When a single folder is shared and exceeds the threshold, a popup is created by the ownCloud desktop client and asks if the newly shared folder should be synced to this device – a yes no is required 
    
  •      If a user has more than one new folder, a popup for each new share is created (as this should only happen infrequently) 
    
  •      The popup identifies the name of the folder and the size 
    
  •      The popup identifies the ownCloud desktop client as the originator of the message. 
    
  •      The popup includes a message “A Folder larger than [setting] has been shared with you. Do you want to sync this folder to this device? (yes/no) 
    
  •      The popup also includes a message “This can be changed at any time in the selective sync menu.” And has a link to the selective sync menu. 
    
  •      The popup can be turned off in the settings menu, and an option to automatically sync or not sync all shares above this threshold can be set 
    
  •      ownBrander would also be able to configure the “automatically do not sync new shares larger than setting” to set default behavior 
    
@moscicki
Copy link
Contributor

Yes, that's definitely what is desired (and currently missing). On the pop-up: I am not sure if this the best way of communicating with a user. I would personally hate this (especially if that would then block the client application from other activity). I would guess it would make for a far better user experience to have a notification (and also maybe an special icon in the tray) and then a list of shared folders waiting for acceptance in a separate tab of the settings menu of the client. Or having that integrated in a smart way with the existing "Choose What To Sync" dialog (which would then need to handle the logic of excluding by default newly created folders). The latter might be too confusing though with existing functionality of Choose What To Sync.

@MTRichards
Copy link
Author

@jancborchardt thoughts?

@moscicki
Copy link
Contributor

A case should also be considered of missing information on the folder size of external mounted storage (I believe it is not always possible to provide this, or the information may be inaccurate).

@jancborchardt
Copy link
Member

Yes, I would also go for a notification instead of a popup. I missed that in the proposal. But that was also what I originally suggested in Nürnberg (and @dragotin heavily argued »no no no notification« ;)

And yes, the notification should then lead to the settings dialog and the activity tab, where pending shares should be shown up top.

@alexpyattaev
Copy link

Great idea! Also would love to have a reverse - if someone deletes shared folder, you may opt to keep a local copy. Again, one can filter major events like modifications of over 50% of files. Essentially, whenever modification to local content is pushed by OTHER USER it would be great to have a confirmation.

@jancborchardt
Copy link
Member

@alexpyattaev that’s a different topic though. Focus is on accepting shares here.

@MTRichards
Copy link
Author

Updating:
As a user, I want the desktop client to ask me if I want to sync a folder that was newly shared with me to the device I am using so that I do not fill my computer up with all of the files from a network drive or sharepoint instance when it is shared with me.

Acceptance criteria:

  •      When a new folder is shared with a user – external storage, a new internal storage folder, whatever – and the size of the folder exceeds the setting, a user is asked if they want to sync this folder to this desktop device 
    
  •      The setting for the size is in the ownCloud settings tab in the desktop client, defaults to 100 MB, and can be changed by the end user to the size of their choice (and the default is brandable) 
    
  •      When a single folder is shared and exceeds the threshold, a ~~popup~~ _notification_ is created by the ownCloud desktop client and _added to the activity tab at the top_ ~~asks if the newly shared folder should be synced to this device – a yes no is required~~ 
    
  •      If a user has more than one new folder, a ~~popup~~ _notification_ for each new share is created (as this should only happen infrequently) 
    
  •      The ~~popup~~ _notification_ identifies the name of the folder and the size 
    
  •      ~~The popup identifies the ownCloud desktop client as the originator of the message.~~
    
  •      The ~~popup~~ _notification_ includes a message “A Folder larger than [setting] has been shared with you. Do you want to sync this folder to this device?". This notification appears every 15 minutes as long as there is a decision in the activity list for the user to make. When the activity menu is viewed the notification can go away. (this is so users will be forced to decide what to do)_
    
  •      ~~The popup _notification_ also includes a message “This can be changed at any time in the selective sync menu.” And has a link to the selective sync menu.~~
    
  •      The ~~popup~~ _notification_ can be turned off in the settings menu, and an option to automatically sync or not sync all shares above this threshold can be set.
    
  •      _The notification would be possible to click, and the click would take you to the activity tab where pending shares are shown up top with a ? cloud icon (instead of the cloud with an information i as it shows for all synced files). All pending new large shares are shown at the top of the activity list. One a user has clicked on pending share and the selective sync has been opened, the share is considered read and the notification can stop. All accepted large shares are then sorted into the activity list._
    
  •       _It is possible to accept more than one share by clicking on share and going to selective sync. If a user has decided to check to sync more than one large new shared folder, the new shared folders selected are considered read, even if the user did not click on it._
    
  •      _When the share notification in the activity list is clicked, the selective sync dialog is opened with that new Shared root folder unchecked._
    
  •      ownBrander will also configure the “automatically do not sync new shares larger than setting” to set default behavior in both folder size sync threshold, as well as whether this is enabled by default.
    

@MTRichards
Copy link
Author

@jancborchardt
See updates above removed and added items. See what you think about how the activity list works.

There is not enough in your face for a user to know how to decide to sync something - if it is not synced by default, and just sits in the activity list, it will get overlooked by a lot of users. I added that a notification comes up every 15 minutes as long as there are decisions to be made about what to sync or not. AND, once a sync is decided, what does one do then?

@MTRichards
Copy link
Author

@jancborchardt
Any reason this should not be for all large folders, rather than shared folders? I think it would be a lot easier to detect any large new folder, rather than a shared new folder...and this can help solve a lot of the selective sync issue for large folders in general.

@dragotin
Copy link
Contributor

What do we do until the user decides? I hope we are able to ignore the directory until a decision was made, since otherwise we would have to stop the sync for the whole sync connection, which is probably not what we want...

@jancborchardt
Copy link
Member

@MTRichards good stuff, only two things:

  • instead of »pending shares are shown up top with a ? cloud icon« I would use the standard share triangle icon so they are easier to distinguish
  • I’d only do it for shared folders for now. Let’s solve one problem at a time before overengineering. ;)

@dragotin yeah, the folder should be ignored until the user decides. That is basically it being unchecked in selective sync.

@dragotin
Copy link
Contributor

We discovered a problem: In our PROPFIND requests which we use to discover the remote tree on the server, we do not get the size information for directories:

  <d:response>
    <d:href>/oc/remote.php/webdav/Documents/Win8/</d:href>
    <d:propstat>
      <d:prop>
        <d:resourcetype>
          <d:collection/>
        </d:resourcetype>
        <d:getlastmodified>Mon, 11 May 2015 11:50:27 GMT</d:getlastmodified>
        <d:getetag>"5550cad80fe3b"</d:getetag>
        <oc:id>00000791ocohj0dg1ba2</oc:id>
        <oc:permissions>RDNVCK</oc:permissions>
      </d:prop>
      <d:status>HTTP/1.1 200 OK</d:status>
    </d:propstat>
    <d:propstat>
      <d:prop>
        <d:getcontentlength/>
        <oc:downloadURL/>
        <oc:dDC/>
      </d:prop>
      <d:status>HTTP/1.1 404 Not Found</d:status>
    </d:propstat>
  </d:response>

That is because that caused too much load on the server. @DeepDiver1975 what do you think, can we query for the size for dirs now?

@ogoffart
Copy link
Contributor

ogoffart commented Jul 6, 2015

Here is Matt's last update comment comment with checkboxes for what's already done:

Acceptance criteria:

  • When a new folder is shared with a user – external storage, a new internal storage folder, whatever – and the size of the folder exceeds the setting, a user is asked if they want to sync this folder to this desktop device
  • The setting for the size is in the ownCloud settings tab in the desktop client, defaults to 500 MB, and can be changed by the end user to the size of their choice (and the default is brandable)
  • When a single folder is shared and exceeds the threshold, a notification is created by the ownCloud desktop client and added to the activity tab at the top
  • If a user has more than one new folder, a notification for each new share is created (as this should only happen infrequently)
  • The notification identifies the name of the folder and the size
  • The notification includes a message “A Folder larger than [setting] has been shared with you. Do you want to sync this folder to this device?". This notification appears every 15 minutes as long as there is a decision in the activity list for the user to make. When the activity menu is viewed the notification can go away. (this is so users will be forced to decide what to do)
  • The notification can be turned off in the settings menu, and an option to automatically sync or not sync all shares above this threshold can be set.
  • The notification would be possible to click, and the click would take you to the activity tab where pending shares are shown up top with a ? cloud icon (instead of the cloud with an information i as it shows for all synced files). All pending new large shares are shown at the top of the activity list. One a user has clicked on pending share and the selective sync has been opened, the share is considered read and the notification can stop. All accepted large shares are then sorted into the activity list.
  • It is possible to accept more than one share by clicking on share and going to selective sync. If a user has decided to check to sync more than one large new shared folder, the new shared folders selected are considered read, even if the user did not click on it.
  • [ ] When the share notification in the activity list is clicked, the selective sync dialog is opened with that new Shared root folder unchecked.
  • ownBrander will also configure the “automatically do not sync new shares larger than setting” to set default behavior in both folder size sync threshold, as well as whether this is enabled by default.

@ogoffart
Copy link
Contributor

ogoffart commented Jul 6, 2015

Here is a screenshot on the UI as it looks now

In that screenshot one can see that the FromUser1 folder was sot sync'ed because it was bigger than the (currently hardcoded) settings.

TODO: Show a notification popup near the system tray (I assume that this is meant by "notification" in the acceptence criteria). And put an item for them in the "Activity" tab.

Also TODO: add all the settings. @jancborchardt: in which part of the settings dialog should those option go?

@ogoffart
Copy link
Contributor

ogoffart commented Jul 6, 2015

Also would it not make sens to have this feature activated for every folder instead of just for shared folder? (Currently it is only done for shared folder bigger than the threshold)

@dragotin
Copy link
Contributor

dragotin commented Jul 6, 2015

Please, we need to remove the [Add Folder] thing. It's very confusing, I bet people will think they can create a new remote folder using that.

Better would be to have a proper button next or underneath the delete button on top. Saying: Add Sync connection or similar... @jancborchardt

@phil-davis
Copy link
Contributor

"Also would it not make sense to have this feature activated for every folder instead of just for shared folder?"
That seems sensible to me, and I am guessing it might even be easier to code - not having to bother even testing if the new folder on the server is the users own folder or one shared from elsewhere.
My typical use case is here in Nepal where internet speed varies widely from city offices (decent) to remote place or home (slow). On some client devices the user could set this quite low, to prevent much from auto-synching to the device. On others set it high so that whatever is new comes. It would be great if this applied to big folders the user created themselves "at the office" so they do not automatically sync "to home".
Also, I guess the 2 edge cases will be handled/valid:
a) set the size limit to zero effectively making it ask when any new folder appears on the server
b) set the size limit to infinite - some way to say there is no limit, effectively keeping the current behaviour for users who just want to sync everything no matter what.

@phil-davis
Copy link
Contributor

Looking at the code, those 2 edge cases (a) and (b) are handled nicely.

@dragotin dragotin added the p2-high Escalation, on top of current planning, release blocker label Jul 17, 2015
ogoffart added a commit that referenced this issue Jul 20, 2015
Issue #3148
Implement the tray notification as specified.
Unfortunately, the tray notification cannot be clicked
@dragotin dragotin changed the title Desktop Sync Confirmation when New Folders Added Desktop Sync Confirmation when New Folders Added (Confirm feature) Jul 20, 2015
@MTRichards
Copy link
Author

UPDATE:

  • Would like this to be for ANY folder that appears on the server, not just shared folders.
  • On the notification of a new shared folder, I think the single notification is appropriate given the UI. So please disregard the 15 minute notification show requirement, a notification only set once is acceptable.

@jancborchardt
Copy link
Member

Would like this to be for ANY folder that appears on the server, not just shared folders.

@MTRichards seriously? Even when you created it yourself? That sounds a bit weird and definitely something which should be a setting or a branding option.

@lbryson
Copy link

lbryson commented Jul 22, 2015

@MTRichards

UPDATE:

  • Would like this to be for ANY folder that appears on the server, not just shared folders.
  • On the notification of a new shared folder, I think the single notification is appropriate given the UI. So please disregard the 15 minute notification show requirement, a notification only set once is acceptable.

…This should definitely apply to ANY top level shared folder – even if I create it. I may create/share a folder on one device, but I don’t want that to automatically get pushed out to each of my devices. Either you create a situation where I have to rush to every device and tell it “nevermind, don’t sync this new folder!”, or where I can go at my leisure to each device to say, “Yes, do sync this new content locally”. I much prefer the latter, and it works for my users.

On notifications: a one-time pop-up (that should be acknowledged in order to disappear) is sufficient. If we can’t require an acknowledgement, then a blinky icon in the task bar should be used.

@MTRichards
Copy link
Author

@jancborchardt Yes. We get a ton of feedback on this option, particularly when working with 1) large files, or 2) external storage of any kind.

See @phil-davis above, I think it is a quite good articulation of the value. @Lbryson-lifesize too.

Maybe we should look at making this part of the install wizard, where the default is 100MB (is this too low?). Not too thrilled about adding installation steps.

Some points:

  1. Default it all works, unless it is a big folder (current threshold is 100MB - might be too low for default)
  2. You can decide to turn off this feature for each client independently in settings - so it all can just sync automatically anyway
  3. You can set the threshold on each machine so this behavior can be customized
  4. We are just deselecting selective sync until it is confirmed, so you can always add it here - and you get both a notification and a warning.
  5. Even if you own it, if you shared a folder with someone else and THEY put 1TB of data in a new folder in it, you are stuck with it - also a large complaint

@phil-davis
Copy link
Contributor

"I may create/share a folder on one device, but I don’t want that to automatically get pushed out to each of my devices."
Yes, that's me too. Regardless of who the creator or owner is (myself on another device or someone else with write access to something that is mine or shared with me or...) there are some devices where it will be great to control what new stuff "just comes". In some cases I can see users setting the limit to zero on a device. That way they they can go to the device whenever they like and will be presented with all the new folders and can choose what they want downloaded.
For business purposes I would mostly be using shares that are not "owned" by the users themselves, so actually most new folders that my users will see are in fact shared folders that meet the original requirements here. So for that use it does not matter about the limit also applying to folders created by the user themselves.
But for more home-style use, I suspect there will be lots of people who would want to make use of this for controlling their own sharing "to themselves" on multiple devices.
And thanks for the work going into this - it will be much appreciated :)

@scolebrook
Copy link
Contributor

This is looking great and addresses a number of issues raised by a wide range of users and managers in our organization. We have many users using ownCloud to transport large video files from remote locations to edit staff in our office as well as numerous other large shares of various kinds. The ability for users to veto a sync that is unexpectedly large, whether they own the folder (because someone dumped a huge file in there) or something was shared with them (a software repository for support personnel for example full of isos and dmgs) will be very welcome.

@MTRichards
Copy link
Author

One add:
@ogoffart, I think we should up the default from 100MB to 500MB please.

@lbryson
Copy link

lbryson commented Jul 22, 2015

“I think we should up the default from 100MB to 500MB please.”

@MTRichards:

I’d favor more conservative settings rather than opening it up so much.

More importantly, make it as easy as possible for administrators to push out sane defaults (e.g. through registry settings or such), which the user may then override. …then it does not matter what the owncloud client-install defaults are, I can override it by default as an administrator; then the user can override that, if they know what they’re doing.

@Dianafg76
Copy link

I tried this, and I have a quenstion :

  1. I have 2 users (user1 , user2 )
  2. User 1 , I have a folder called MP4 files over 500 MB ( for example , 612 MB ​​)
  3. I go to the server and share the folder (MP4 files) for user 2
  4. Go to the desktop client user- 2 appears: There are new folders that.....", This is OK
    screen shot 2015-08-07 at 10 11 11
  5. I go to the server again, and I have removed the option to share with usuario2
  6. I go to the client desktop user 2 and has not disappeared folder (MP4 files) .
    screen shot 2015-08-07 at 10 11 11

My question is : should disappear when I deleted the folder on the server the option to share the folder with other users?

@Dianafg76 Dianafg76 removed the ReadyToTest QA, please validate the fix/enhancement label Aug 7, 2015
@danimo
Copy link
Contributor

danimo commented Aug 10, 2015

@Dianafg76 Please always set needs info when you're stuck. Thanks!

@ogoffart
Copy link
Contributor

My question is : should disappear when I deleted the folder on the server the option to share the folder with other users?

Yes, ideally they should. I have created a new issue for this: #3612

I am closing this issue, but please continue to test and report bugs as new issues.

@Dianafg76
Copy link

@ogoffart Many thanks!!

@boweeb
Copy link

boweeb commented Sep 15, 2016

So... what about the comment from @lbryson?

More importantly, make it as easy as possible for administrators to push out sane defaults (e.g. through registry settings or such), which the user may then override. …then it does not matter what the owncloud client-install defaults are, I can override it by default as an administrator; then the user can override that, if they know what they’re doing.

Is there another issue tracking this administrative capability or did I miss something? I whole-heartedly agree that the admin should have some power here.

This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Needs info p2-high Escalation, on top of current planning, release blocker
Projects
None yet
Development

No branches or pull requests