Feature Wiki

Information about planned and released features

Tabs

Custom Icon supports PNG images

1 Initial Problem

Custom Icons require SVG images. Users who have icons as PNG or JPG images would use simple tools to "convert" into a SVG. Those tools take the PNG/JPG image and generally embed it as base64 into the the SVG.

Recently (May 22nd) a feature was added to Ilias to check that SVG did not include scripts or base64 content and if it did it would reject the upload. Here is the commit that introduced the feature (sorry to link to a commit as I couldn't find documentation on the introduction of the feature, also see related bug https://mantis.ilias.de/view.php?id=37588).

The security feature is valid and good to have. It's addition will now require users to need software to create SVG images, that they might not access to, making it harder to add custom icons to objects.

2 Conceptual Summary

We would like to recommend that custom icons support uploading PNG image as custom icons in addition to SVG images. This would allow users who have icons in that common type to be able add them to objects.

PNG images support gradients and transparent backgrounds so those would work as icons.

3 User Interface Modifications

3.1 List of Affected Views

  • Every place where the custom icon is displayed would need to support rendering PNG images.

3.2 User Interface Details

  • The custom icon upload field would support need updating to support uploading PNG images.

3.3 New User Interface Concepts

None

3.4 Accessibility Implications

The PNG images would use the same ALT text as used by the SVG image.

4 Technical Information

Described in the initial description.

There are other wiki pages related to GIF and PNG but I am not sure if they are connected to the custom icon. The pages are:

5 Privacy

None

6 Security

PNG can also be susceptible to containing viruses, hopefully the Ilias virus scanner would catch those.

7 Contact

  • Author of the Request: Mundra, Daniel [dmundra]
  • Maintainer: {Please add your name before applying for an initial workshop or a Jour Fixe meeting.}
  • Implementation of the feature is done by: {The maintainer must add the name of the implementing developer.}

8 8 Funding

If you are interest in funding this feature, please add your name and institution to this list.

  • CivicActions is potentially interested in implementing this feature for a project of ours that uses Ilias 7, if there is consensus that it is a desired change.

9 Discussion

Bogen, Christian [bogen] 2023-07-12: AFAIR custom icons were intentionally and for good reasons moved to SVG only with the Design Revision in Release 5.0. I doubt re-introducing bitmap icons would be trivial since eg. you’d need (a UI for) different sizes for each icon (again, as it existed prior to the Design Revision) etc. Just a thought.

Mundra, Daniel [dmundra] 2023-07-12: Thank you Bogen, Christian [bogen] for the context. That makes sense. I wonder if there is a compromise to be found. I did find a free PNG to SVG converter from Adobe that seems to a better job of generating SVG images. So that at least helps.

Seiler, Yvonne [yvseiler], 21 JUL 2023: +1 for bogens argument above. Additionally: An icon is a very specific representation. "The icon must follow some criteria, otherwise the icon is not readable. For example, they must have a simple design and be as self-explanatory as possible. Viewers can grasp the information, message or function behind the icon with just one glance." (Source: https://t3n.de)
In between, there are clever minds who convert PNG photos into SVG. This way they have overcome the technical hurdle, but the image is not recognisable at max. 32x32px. If a pixel format is allowed, this weakens the concept of the "icon" and I don't think it makes it any better to use, because then everyone uploads photos that are not suitable for this small size. With the SVG format, there is a certain technical hurdle, but you have to deal with the concept of icons and use a suitable database of icons, for example. We give our users help by providing links to selected icon databases. You can find a collection of such databases e.g. here: https://t3n.de/news/kostenlose-icons-finder-font-generatoren-574542/.

Mundra, Daniel [dmundra], 2023-07-21: That is fair points. Thank you for links.

10 Implementation

{ The maintainer has to give a description of the final implementation and add screenshots if possible. }

Test Cases

Test cases completed at {date} by {user}

  • {Test case number linked to Testrail} : {test case title}

Privacy

Information in privacy.md of component: updated on {date} by {user} | no change required

Approval

Approved at {date} by {user}.

Last edited: 21. Jul 2023, 17:50, Mundra, Daniel [dmundra]