Obsessing Over the Details, So Your Users Don't Have To
*This post originally appeared on the AppSense blog prior to the rebrand in January 2017, when AppSense, LANDESK, Shavlik, Wavelink, and HEAT Software merged under the new name Ivanti.
One of the big reasons that enterprise file sync and sharing (EFSS) products are so popular these days is that they take functions that are complicated behind the scenes and make them look easy to the user. This starts with the heavy lifting of moving files back and forth efficiently and reliably–the most important aspect of any EFSS solution–but it also includes the visual feedback that users see.
A good example of this is Window shell icon overlays. Whether they realize it or not, users of DataNow and other EFSS solutions are likely familiar with the icon overlays that are applied to Windows Explorer to give users instant insight into the state of a file in the cache.
At present, the DataNow Windows Client has ten such icon overlays. By default all of these overlays are enabled, but the Windows client provides the ability to control whether some of these are displayed to the end user or not. Within general preferences, the top three options relate to this:
- “Highlight downloaded Files” -> Files in sync between server and client
- “Highlight Server Files” -> Files which have not been downloaded to the client
- “Highlight Clashed Files” -> Files which clash between Server and Client
These options are good if you wish to control these three overlays on a per-user basis. But if you want to disable more overlays or apply the setting to multiple users, it's possible to exert more control by manipulating the following setting directly within the registry:
You will notice that the default value is 3DE (990 in decimal) when all of the settings are enabled. If you deselect any of the above options, you'll notice that the value changes, but the logic behind the value is not immediately clear. If you'd like to know more we discuss it further in this AppSense Knowledge article.
The default value is 3DE in hex, but it is a lot easier to understand the setting if you convert this number to binary (1111011110). Each DataNow shell icon overlay is represented by one of the bits as follows:
21 1 DataNetOverlayPending (Server file not synced down to client)
22 1 DataNetOverlaySynced (File in-sync between client and Server)
23 1 DataNetOverlaySynching (File synchronising)
24 1 DataNetOverlayUserAction (File conflict between server & client)
26 1 DataNetFolderHome (Shows users home Map Point)
27 1 DataNetFolderReadOnly (highlights read only Map Points)
28 1 DataNetFolderShared (highlights shared folders)
29 1 DataNetFolderOffline (highlights offline Map Points)
If the bit is set to 0, the overlay icon is disabled. So if I wanted to disable the ‘Home Map Point’ and ‘User Action Required’ overlays, but leave the rest enabled, the resulting binary value would be 1110001110, or 38E in hex. Setting the value to ‘1’ will disable all overlays.
If you have Environment Manager installed, it is easy to control this by utilizing a Registry Set Value Logon action for DataNowOverlayMask.
The Windows Operating system has a relatively low limit on the number of these shell overlays that can be configured; this limit is 15 in total. Microsoft states that out of these 15 slots, some are reserved by the system:
My testing has shown that in practice there are 12 slots available, and these are configured in the following registry key:
Note that this is a machine-wide setting, so disabling overlays on a per-user basis utilizing the DataNowOverlayMask value will have no impact on this list.
So, in theory, you could encounter a situation where DataNow overlays, or those of another third-party product, do not appear as expected due to competition for these 12 available slots.
This is how the registry key will look if you have Box, DataNow, OneDrive and Dropbox installed on a Windows 7 machine. Notice how the ‘space’ character is used to boost certain overlays up the list:
There are twenty-nine overlays configured on this machine: the top five overlays relating to Box, the next ten overlays relating to DataNow, the following three relating to OneDrive, the next eight to Dropbox, and the final three relating to the Windows OS. If you remember I said earlier, you know there is a limit of 12 overlays that can be added here. Only the top 12, in alphabetical order, will be used from this list. Even though most of these icon overlays will only ever apply to completely different folders, the fact that one is set higher up the list, will stop the others being displayed at all.
This can easily be verified by renaming some of the overlays so they appear higher or lower in the list. For example if I rename ‘ 01DataNetOverlaySynced’ to ‘z01DataNetOverlaySynced’ it would no longer be high enough in the list so would no longer be displayed. If you are missing any DataNow overlays, it's worth checking this list to confirm if there are any other overlays taking precedence.
I look forward to seeing whether Microsoft offers any improvements to this functionality in Windows 10!
As an aside, it is worth mentioning that only one overlay can be displayed per file or folder on a machine. If you appear to be seeing multiple overlays on a folder then it is likely that this is because the actual icon has changed. You're probably familiar with the hidden operating system file desktop.ini that appears in most folders. There are a number of parameters that determine how a folder is presented within this file. The IconResource parameter within ShellClassInfo controls the folder icon.
Creating a file called desktop.ini and populating it with the following text (on a machine with DataNow installed):
Then saving it within a folder will result in the icon for that folder changing to the DataNow Logo.
Finally, a message to any Apple Mac users who are reading about these shell icon overlays and feel that they are missing out: Don’t worry! The release of Mac OS X 10.10.1 (Yosemite) introduced a similar feature, which DataNow will be utilizing. Look out for these enhancements in DataNow 3.5!