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

Sync Status Icons in File Browser #1818

Closed
MTRichards opened this issue May 27, 2014 · 36 comments
Closed

Sync Status Icons in File Browser #1818

MTRichards opened this issue May 27, 2014 · 36 comments

Comments

@MTRichards
Copy link

Basic Concept:
A small overlay icon that lies on top of files and folders inside the desktop client finder, explorer and equivalent app for Linux – something akin to the Box or Dropbox icons.

If the system is offline, there are no overlay icons present. BUT if a file has unsynced changes, the circular (static) icon remains as long as the system is offline indicating it is waiting to sync. Then it gets a circular icon spinning once it starts syncing when the system is online.

The icons for Folders are set like this:

  • Green Check – All files within the folder (all the way down the tree) are synced with the server, and there are no problems to report
  • Circular Icon – Some or all files and folders in the directory are waiting to sync or are actively syncing. Note this icon does not spin.
  • Yellow warning triangle – there is an error in syncing somewhere in the directory such as a path longer than 255 characters, or a bad character in a name, or a file firewall problem
  • Red error Icon – there is a fatal problem in the sync process that can’t be resolved, or no file can sync within the folder (it is possible that this folder is at the 255 character path length limit, so no file inside this folder can sync – thus this would be red). If there is a red folder icon deep in a tree all contining folders represent that red state all the way to the root folder.

All errors bubble up, so an error deep in a folder structure bubbles up to the top folder as per the rules above.

The icons for Files are set like this:

  • Green Check – This file has been synced with the server.
  • Blue circular icon – static – the file is currently waiting to sync, and they system is online
  • Blue spinning icon – moving – this file us currently syncing
  • Red error – the file is not syncing for whatever reason, perhaps a file firewall error, or a long path of bad character in the name

There are 4 related items for UX / integration with the OS:

@jancborchardt

@MTRichards
Copy link
Author

Related:
#102

@MTRichards
Copy link
Author

@danimo @dragotin When we get to this.

@dragotin
Copy link
Contributor

Cool, thanks. @MTRichards , can you find somebody to actually provide the icons drawings?

@MTRichards
Copy link
Author

Can do!

@DeepDiver1975
Copy link
Member

@MTRichards you might want to add additional icons as share indicator to tell the user that the file/folder is shared by somebody else?

In addition it is currently technical possible to tell the user that the file/folder is externally mounted - no idea if there is a need for it from the user perspective.

@MTRichards
Copy link
Author

Right now, I will put the "external" icon as an interesting option and start asking about it - not sure if a user will be interested in knowing that or not.
@jancborchardt interested in your opinion.

@MTRichards MTRichards added this to the 1.8 - UI Enhancements milestone May 27, 2014
@guruz guruz added the Design label Jun 5, 2014
@jancborchardt
Copy link
Member

I thought I commented on this here … anyway, 👍 as we discussed.

@MTRichards
Copy link
Author

@KeyboardMidas

@ghost
Copy link

ghost commented Jul 6, 2014

+1

@VincentvgNn
Copy link

@MTRichards
In issue #1743 I mentioned that these dynamic overlay icons cannot work well in Windows due to the limited number of registry slots. Icons with a ranking higher than 15 will not be displayed. As soon as more than about 2 programs are using this type of icons, there will be troubles, i.e. customers will complain about missing overlay icons.
I learned this from evaluating other cloud systems.

I love the functionality of overlay icons, but:

1. The customer has to be warned that it may give problems.
   Depending on the ranking, overlay icons from ownCloud or other programs may stop working!
2. There must be an option not using these overlay icons in case of problems.
   Switching on/off must be repaired in the registry.

While there is a big chance that overlay icons cannot be used, I personally prefer another method for showing the folder/file status.
Is there anyone who knows a better method?

Microsoft seems to know about this limitation for at least 10 years.
Somehow they keep it silent and they seem to refuse ever improving this.
For their own OneDrive they put an extra space in front of the names in the registry in order to obtain the highest ranking!
Just have a look in the registry at: “HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers”

Using the same overlay icons as OneDrive .... ?
A naughty thought that might not be accepted by MS.

@danimo
Copy link
Contributor

danimo commented Aug 4, 2014

@VincentvgNn Reuse seems like a good idea, but it's not possible due to different semantics and icon requirements. This one is really on Microsoft, and I don't see much room for improvement here. Let's try to do as good as we can and get a first version out. This can always be optimized later depending on the feedback.

@VincentvgNn
Copy link

Wuala had (has) a separately installed module for the overlay icons. Not an attractive solution while switching on/off the icons needed installing/uninstalling the software and a system restart. The worst was the existence of an overlay icon that overwrote the icon from another cloud sharing program with the same overlay name.

I agree with your approach if the user can enable/disable these overlay icons without any damage to the icons from others. A required system restart is not nice but acceptable if explained to the customer. I uninstalled SugarSync. As far as I remember, they have such a solution.

Hint: Put a space as the first character in the overlay name, ' ownCloud.....' and not 'ownCloud.....'
That's currently a higher ranking than ' SkyDrive....' (now called OneDrive).
' 0ownCloud.....' (with a space and a number) is the best until someone starts using a double space.

@jancborchardt
Copy link
Member

The ability to disable the icons is not planned, as the icons are essential to know the state of the file. Disabling them makes no sense. It would be an unnecessary option which would clutter the settings.

@VincentvgNn
Copy link

@jancborchardt
The only sense of disabling would be preventing complaints from clients who lost their overlay icons from other programs due to the installation of ownCloud. They would blame ownCloud!

I can also happen that the ownCloud icons do not work all. Suppose 2 are working and the others not. The most important OC overlay icons can be given the highest ranking by a space and a number as I suggested above.
The customer should know why he is missing overlay icons and should be able to live with that or having no OC overlay icons at all.

The usage of overlay icons has increased strongly. It's busy there!
This is what I have on my Win7 PC (I gave Cloudfogger an additional space in the names to get the highest ranking):

untitled-1

@danimo
Copy link
Contributor

danimo commented Aug 4, 2014

Yes, we are aware of the dirty tricks :-)

@VincentvgNn
Copy link

Dirty tricks, ......., yes. But MS uses them as well.
Therefore I advocate to use it on the condition that the user can switch the overlay icons off.

Now you can choose the names for the OC overlay icons. Later-on it's more difficult to add spaces and/or numbers in the names.

@smozius
Copy link

smozius commented Aug 5, 2014

Alright, this request has been floating around for over 2 years, what the heck is going on?

This is a critical feature that is EXPECTED for any file syncing service, I'm dumbfounded that owncloud doesn't have it. At the very least develop something for Windows since that should be the easieist as the API stays the same across platforms. And your business market share is primarily there.

Why couldn't you just pick through Tortoise SVN's source code and see what they are using for hooking up sync icons? https://code.google.com/p/tortoisesvn/source/browse/

What will it take to get this put in? If we pool up a sum of funds, can we see this feature implemented?

@danimo
Copy link
Contributor

danimo commented Aug 5, 2014

https://github.com/owncloud/mirall/tree/win_overlay_icons, to be merged into master, is going on. Plus, this feature is scheduled for 1.7, a beta of which will be released soon. And again, we know how to do it, and it's being done. But we have slightly different requirements, which is why we have try things out.

I'll just never understand how people that do not pay anything and don't contribute come to expect they can DEMAND things in such a rude way.

@guruz
Copy link
Contributor

guruz commented Aug 15, 2014

@danimo @ogoffart FYI our discussion about the local TCP port to connect to:
I thought I saw a way in sqlite to store app specific data at specific offsets, but apparantly I'm mistaken.

So we decided to store the port in a file called .csync_journal.db-SocketApiPort in the sync directory.
It should be already excluded in csync_exclude().

This needs to be done for each Folder object, possibly inside http://code.woboq.org/owncloud/mirall/src/mirall/folder.cpp.html#_ZN6Mirall6Folder9startSyncERK11QStringList

The Explorer/Finder/Nautilus then (when asked for directory icons) goes along the file path until the root to check for the file .csync_journal.db-SocketApiPort and reads the TCP port from there.

Alternative and possibly cleaner implementation: Store port using https://en.wikipedia.org/wiki/Extended_file_attributes

@ogoffart
Copy link
Contributor

A better name for the file would be .owncloud_socketapiport (this has nothing to do with csync, the journal, oe a db)

@guruz
Copy link
Contributor

guruz commented Aug 15, 2014

@ogoffart That name is however not ignored by older versions of the sync client (at least i don't see it in csync_exclude)

@VincentvgNn
Copy link

@dragotin
I just installed OC Client 1.7.0 beta 1.
The use of overlay icons should be limited as much as possible, simply because they probably will not work. OC now got 8 of these icons!
Overlay icons (OLI) should only be used to show the sync status. They can refresh almost instantly
For OC the minimum can be "Syncing", "OK" and "Error or warning" (similar to SkyDrive).
For the ownership and sharing rights fixed icons can be used in the same way as Google does.
Fixed icons are defined in the desktop.ini files. These files should be refreshed when OC detects a mismatch between what is and what should be.
18 days ago I made a proposal for that in #1743. 3 or 4 different almost static icons are needed for it.
The overlay sync status icons should fit nicely on top of them. E.g. in an almost empty corner.

On my Win 8.1 laptop the current overlay icons cannot work because of the occupied first 11-12 slots.
I wish that we could use/share the SkyDrive 1, 2 and 3 overlay icons or the SkyDrivePro 1, 2 and 3 overlay icons. It seems that they effectively use only 3 overlay icons.
They used a space in front of their names to get the highest ranking.
My current list of overlay icons is:

owncloud win8 1 overlay icons

So the ownCloud overlay icons cannot work.
This could be compensated by a good sync status indication on the tray icon.
The other fixed icons will always work.

An agreement with Microsoft on sharing their overlay icons would be the ultimate solution.

@VincentvgNn
Copy link

I did 2 experiments on Win 8.1 to get the overlay icons working:

I renamed all OC overlay icons in the registry with 2 spaces in front.
After a PC restart OC was not running quite well and it got hanging. No overlay icons showed up.
Maybe OC cannot recognize the icons anymore and does not run therefore.
How to make OC independent from proceeding spaces in the names?

After renaming back to the original names I restarted the PC, checked the registry names and uninstalled OC.
The overlay icons were not removed from the registry !!!!

I renamed all Google Drive and SkyDrive overlay icons in the registry with a proceeding "x".
I deleted the non-removed OC overlay icons and made a restart.
I installed OC Client 1.7.0 beta 1 and restarted again.
The OC overlay icons now got on position 2-9 in the registry.
OC seemed to be running, but as soon as I started the Windows File Explorer and tried to go to the OC folder, OC got non-responsive for tenths of minutes or longer.
I needed the Task Manager to stop OC.

Restarting without the File Explorer works fine.
But as soon as the File Explorer get's started OC get's into troubles.
Up to now I didn't see any overlay icon.

At the end I re-installed OC Client 1.7.0 beta 1 without overlay icons.

@VincentvgNn
Copy link

@danimo
When talking about dirty tricks ......., I got an update from Dropbox where they are now using 8 (!) overlay icons with the names placed between apostrophes ("DropboxExt1" until "DropboxExt8").
In that way they assure themselves to be the second after Microsoft's OneDrive with 3 icons.
With 11 slots being occupied, the OC overlay icons will not work.
Could Dropbox be anticipating to a solution in Windows 9?

@luciamaestro
Copy link

It is in the new release 1.7.0 so I close this issue.

@simonjwoolf
Copy link

Are the overlay icons theoretically available for all platforms in 1.7.0? I have that version of the client installed on Ubuntu and I'm not seeing any icons.

@jancborchardt
Copy link
Member

@simonjwoolf yes, it should work, on Ubuntu with the Nautilus file manager. If there are any problems please open a new issue and provide more info, like version of Ubuntu and if possible, the file manager. Thanks! :)

@dragotin
Copy link
Contributor

On Linux, you have to install the package owncloud-client-nautilus and restart nautilus, namely relogin.

@simonjwoolf
Copy link

Got it, that works a treat.

@jancborchardt
Copy link
Member

@dragotin isn’t the package installation handled automatically?

@cdhowie
Copy link

cdhowie commented Nov 25, 2014

This feature does not seem to be working on Windows 7; I don't see any indicator icons in my ownCloud directory on any of my Windows 7 systems. (Using 1.7.0, build 4162)

@Dusa
Copy link

Dusa commented Nov 25, 2014

@cdhowie you might need to restart, that worked for me on Win7

@cdhowie
Copy link

cdhowie commented Nov 25, 2014

@Dusa Hmm, good idea. I will try and update the thread with the results. If that does work then it might not be a bad idea for the client installer to prompt a restart.

@cdhowie
Copy link

cdhowie commented Nov 25, 2014

Rebooting did solve the issue.

@VincentvgNn
Copy link

@dragotin @danimo
I noticed that in the latest Google Drive release the number of overlay icons has been reduced to 3: GoogleDriveBlacklisted, GoogleDriveSynced and GoogleDriveSyncing.
And the big surprise is that they are now using 2 spaces in front of the names in the same way as ownCloud does!
They copied this method from ownCloud or they detect what to put in front in order to get their icons at the first positions.

@PurpleGab
Copy link

Placing spaces and " in front of what you want to be active is indeed dirty.

If MS is not able to solve the problem, all others should at least refain from flooding the registry.
The icons I really need are from tortoise, all the others are nice to have, but I don't care.

So now that I know where to edit the list, why does everybody try smuggle their "most valuable" 10 icons in every time I reboot or whatever.

This is more than ugly.

Gab

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests