Bug 45301 - Default icons not usable
Default icons not usable
Product: UCS@school
Classification: Unclassified
Component: Netlogon scripts
UCS@school 4.1 R2
Other Linux
: P5 normal (vote)
: UCS@school 4.2 v4
Assigned To: Daniel Tröder
Sönke Schwardt-Krummrich
Depends on: 41375 43655
  Show dependency treegraph
Reported: 2017-08-30 18:53 CEST by Jan Christoph Ebersbach
Modified: 2017-10-16 21:33 CEST (History)
2 users (show)

See Also:
What kind of report is it?: Bug Report
What type of bug is this?: 5: Major Usability: Impairs usability in key scenarios
Who will be affected by this bug?: 4: Will affect most installed domains
How will those affected feel about the bug?: 3: A User would likely not purchase the product
User Pain: 0.343
Enterprise Customer affected?:
School Customer affected?: Yes
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number:
Bug group (optional): Usability
Max CVSS v3 score:

Default icons (154.16 KB, image/png)
2017-08-30 18:53 CEST, Jan Christoph Ebersbach

Note You need to log in before you can comment on or make changes to this bug.
Description Jan Christoph Ebersbach univentionstaff 2017-08-30 18:53:15 CEST
Created attachment 9159 [details]
Default icons

The default icons for UCS@school I find to be extremely hard to understand and very confusing.  Please take a look at the attached screenshot.

I'd suggest to use folder/share icons.  In addition, there is a nice group-folder icon in Windows with multiple people at the to right of the icon and another icon with just one person at the to right of the icon.  These two icons seem to be perfect for displaying links shares.
Comment 1 Jan Christoph Ebersbach univentionstaff 2017-08-30 19:04:52 CEST
Suggestion based on https://diymediahome.org/windows-icons-reference-list-with-details-locations-images/:


- Desktop link: Icon 138 (10)
- Personal share: Icon 118 (16)


- Group share: Icon 159 (12)
Comment 2 Sönke Schwardt-Krummrich univentionstaff 2017-08-31 11:22:59 CEST

Via https://forge.univention.org/bugzilla/show_bug.cgi?id=43655 the images have been implemented. Currently the following icon are used: 207, 193, 143

ucsschool/userlogon/my_files_link_icon: %SystemRoot%\system32\imageres.dll,207
ucsschool/userlogon/other_links_icon: %SystemRoot%\system32\imageres.dll,193
ucsschool/userlogon/shares_folder_icon: %SystemRoot%\system32\imageres.dll,143

But I think the following would be better: 208, 194, 143

Looks like an off-by-one for the first two.
Maybe the indices within imageres.dll changed in Win 10?

143 is completely strange in conjuction with your screenshot. Your screenshot shows icon 144, but default is icon 143 (a document stack).
Comment 3 Jan Christoph Ebersbach univentionstaff 2017-09-01 10:19:58 CEST
I wonder what icon best makes the connection to the term "Eigene Shares".  Shares are usually associate with icons 138 (folder) or 29 (drive).  How this connection is made by the current icon set?  Should be change the term "Eigene Shares" to better fit the icon set?
Comment 4 Jan Christoph Ebersbach univentionstaff 2017-09-01 10:22:52 CEST
Here are the settings on my server:

ucsschool/userlogon/my_files_link_icon: %SystemRoot%\system32\imageres.dll,207
ucsschool/userlogon/other_links_icon: %SystemRoot%\system32\imageres.dll,193
ucsschool/userlogon/shares_folder_icon: %SystemRoot%\system32\imageres.dll,143
Comment 5 Daniel Tröder univentionstaff 2017-09-05 12:43:28 CEST
1. The UCRV descriptions are wrong. They say "(default: unset)", but in ucs-school-netlogon-user-logonscripts.postinst all three (ucsschool/userlogon/{shares_folder_icon,my_files_link_iconother_links_icon}) are set.

2. In Win7 there is no icon at index 207! It is at 10xx (forgot exact number), but that is still magically found and used.

3. In Win10 the index begins at one lower (at zero?) than in Win7 or Win8, and thus the desired images can be found at 142, 192 and 206.

I have made screenshots to demonstrate the problem:


Icon of folder in Win7 and Win8:

Icon of folder in Win10:

Icons in folder in Win7 and Win8:

Icons in folder in Win10:

Icon in imageres.dll at index 143:
Win7: https://billy.knut.univention.de/~dtroeder/imageres/win7-imageres_143.png
Win8: https://billy.knut.univention.de/~dtroeder/imageres/win8-imageres_143.png
Win10: https://billy.knut.univention.de/~dtroeder/imageres/win10-imageres_143.png

Icon in imageres.dll at index 193:
Win7: https://billy.knut.univention.de/~dtroeder/imageres/win7-imageres_193.png
Win8: https://billy.knut.univention.de/~dtroeder/imageres/win8-imageres_193.png
Win10: https://billy.knut.univention.de/~dtroeder/imageres/win10-imageres_193.png

Icon in imageres.dll at index 207:
Win7: n/a
Win8: https://billy.knut.univention.de/~dtroeder/imageres/win8-imageres_207.png
Win10: https://billy.knut.univention.de/~dtroeder/imageres/win10-imageres_207.png
Comment 6 Sönke Schwardt-Krummrich univentionstaff 2017-09-06 13:09:39 CEST
Is it possible, that we provide the icons via the netlogon share?
Comment 7 Daniel Tröder univentionstaff 2017-09-07 08:30:07 CEST
(In reply to Sönke Schwardt-Krummrich from comment #6)
> Is it possible, that we provide the icons via the netlogon share?
I'd prefer to do that. We'd have consistent icons regardless of the Windows version. And it'd be an easy example for customers how to modify/brand their installation.

MSDN: https://msdn.microsoft.com/en-us/library/windows/desktop/cc144102(v=vs.85).aspx

I think it should be possible to simply change the UCRV to point to a share that is accessible by everyone. I'll test that.
Comment 8 Daniel Tröder univentionstaff 2017-09-25 09:42:46 CEST
I was decided to try to change the VBS login script so that it recalculates the image index depending on the Windows version it is running on.
Comment 9 Daniel Tröder univentionstaff 2017-10-09 17:42:14 CEST
A VBS and a Python code snippet check if a icon path contains an index and if run in Windows >= 10 raise the index by 1.

4fb2917a: fix icon index in Windows 10
c738777d: advisory

ucs-school-netlogon-user-logonscripts 13.0.2-3A~
Comment 10 Sönke Schwardt-Krummrich univentionstaff 2017-10-13 13:16:13 CEST
(In reply to Daniel Tröder from comment #9)
> A VBS and a Python code snippet check if a icon path contains an index and
> if run in Windows >= 10 raise the index by 1.
> 4fb2917a: fix icon index in Windows 10
> c738777d: advisory
> ucs-school-netlogon-user-logonscripts 13.0.2-3A~

OK: code change
~OK: functional test
OK: advisory

As discussed, under windows 10 the vbs-script now always fixes the offset even if a different DLL is used as source for the icons. Please fix the icon index 
*only if* 
a) the fix is not deactivated via UCR 
   (ucsschool/userlogon/fix-win10-icon-offset=false → empty by default; 
    if empty, "true" is assumed)
b) the name of the referenced file ends with "\imageres.dll" (caseinsensitive!)
Comment 11 Daniel Tröder univentionstaff 2017-10-16 09:36:43 CEST
b0d24159 make raising the icon index in win10 optional (adds
         UCRV ucsschool/userlogon/fix-win10-icon-offset with default true)
1d173767 advisory update

ucs-school-netlogon-user-logonscripts 13.0.2-6A~
Comment 12 Daniel Tröder univentionstaff 2017-10-16 09:43:26 CEST
85b631c2 fix whitespace, ignore case of path
85b631c2 advisory update
Comment 13 Daniel Tröder univentionstaff 2017-10-16 12:15:49 CEST
09926afd: readd quotation marks for unmodified paths
Comment 14 Sönke Schwardt-Krummrich univentionstaff 2017-10-16 13:20:39 CEST
OK: code change
OK: functional test
Comment 15 Sönke Schwardt-Krummrich univentionstaff 2017-10-16 21:32:03 CEST
UCS@school 4.2 v4 has been released.


If this error occurs again, please clone this bug.