Wenn eine Applikation zur Zeit eigene Logos haben will müssen verschiedene Dateien hinterlegt werden:
- appLogo.svg: Icon, das in der expandierten Sidebar angezeigt wird
- TL_App_icon_blue.svg: Icon, das in der kollabierten Sidebar angezeigt wird.
- favicon.png: Icon, das im Browser-Tab neben dem Namen der Anwendung angezeigt wird. Der Name ist fest und kann nicht geändert werden.
Änderung
Das Icon "TL_App_icon_blue.svg" wird umbenannt in "appLogoMinimized.svg". Das entspricht der Theme-Variablen "IMAGES_APP_LOGO_MINIMIZED", über die es referenziert wird.
Die Datei liegt jetzt an derselben Stelle wie "appLogo.svg", nämlich unter "/images/" im Wurzelverzeichnis der Web-Applikation (Modul "com.top_logic") und nicht mehr im Theme-Verzeichnis von "com.top_logic.themes.core".
Zusätzlich wurden Bilddateien entfernt, die inhaltlich identische Duplikate anderer, weiterhin vorhandener Dateien waren und nirgends mehr referenziert wurden:
- "/images/appLogoSmall.svg" (identisch zu "/images/appLogoMinimized.svg")
- "/themes/core/images/TL_Logo_blue.svg" (identisch zu "/images/appLogo.svg")
- "/themes/core/images/TL-Logo-without-text.svg" (identisch zu "/images/TL-Logo-without-text.svg")
Auch das Favicon wird jetzt einheitlich über das Theme bestimmt und nicht mehr an der Hauptkomponente konfiguriert. Dafür gibt es die neue Theme-Variable "DEFAULT_ICON", die standardmäßig auf "/images/favicon.png" zeigt. Die Konfigurationseigenschaften "icon" und "shortcutIcon" des Hauptlayouts entfallen ersatzlos, ebenso die nicht mehr verwendete Datei "/images/shortcut.ico".
Dabei wird nur noch die Link-Relation "icon" geschrieben, nicht mehr zusätzlich die Alt-Form "shortcut icon". Letztere stammt vom Internet Explorer 5 und war nie Teil eines Standards: Da "rel" eine Liste von Relationen ist, ist "shortcut" lediglich eine unbekannte Relation, die Browser ignorieren -- die Alt-Form ist damit gleichbedeutend mit "icon" und wurde bisher als zweites, identisches "link"-Element in jeden Seiten-Kopf geschrieben.
Der Austausch der Applikations-Logos ist jetzt im Entwicklerhandbuch unter "Theming > Applikations-Logos" beschrieben.
Migration
Betroffen sind nur Applikationen, die eigene Logos ausliefern oder die Logo-Ressourcen der Engine direkt referenzieren. Ohne Anpassung fällt die Anzeige stillschweigend auf das TopLogic-Standardlogo zurück, es wird kein Fehler gemeldet.
1. Eigenes Logo für die eingeklappte Sidebar umbenennen
Liefert die Applikation eine eigene Version von "TL_App_icon_blue.svg" aus, muss die Datei umbenannt werden:
src/main/webapp/images/TL_App_icon_blue.svg -> src/main/webapp/images/appLogoMinimized.svg
Bzw. bei einer Theme-spezifischen Variante:
src/main/webapp/themes/<theme-id>/images/TL_App_icon_blue.svg -> src/main/webapp/themes/<theme-id>/images/appLogoMinimized.svg
2. Eigene Theme-Einstellungen anpassen
Setzt die Applikation in einer eigenen "theme-settings.xml" die Variable "IMAGES_APP_LOGO_MINIMIZED" auf "/images/TL_App_icon_blue.svg", muss der Wert auf den neuen Dateinamen geändert werden. Einfacher ist es, den Eintrag ganz zu entfernen und die eigene Datei unter dem Standardnamen "appLogoMinimized.svg" auszuliefern.
3. Referenzen auf entfernte Dateien ersetzen
Referenziert eine Applikation eine der entfernten Dateien, ist sie auf die verbliebene, inhaltsgleiche Datei umzustellen:
| entfernt | stattdessen verwenden |
| /images/appLogoSmall.svg | /images/appLogoMinimized.svg |
| /themes/core/images/TL_Logo_blue.svg | /images/appLogo.svg |
| /themes/core/images/TL-Logo-without-text.svg | /images/TL-Logo-without-text.svg |
| /images/shortcut.ico | /images/favicon.png |
4. Favicon-Konfiguration am Hauptlayout entfernen
Die Konfigurationseigenschaften "icon" und "shortcutIcon" des Hauptlayouts ("com.top_logic.mig.html.layout.MainLayout.Config", typischerweise an der Komponente "masterFrame" gesetzt) sind ersatzlos entfallen. Anders als bei den Logos fällt das nicht still aus: Eine Applikation, die diese Attribute in einem eigenen Layout setzt, startet mit einem Konfigurationsfehler wegen einer unbekannten Eigenschaft.
Die Attribute sind zu entfernen. Ein abweichendes Favicon wird stattdessen über eine eigene Datei unter "/images/favicon.png" ausgeliefert oder über die Theme-Variable "DEFAULT_ICON" auf einen anderen Pfad gesetzt.
5. Wegfall der Alt-Relation "shortcut icon"
Mit der Alt-Form entfallen auch die zugehörigen Schnittstellen:
- Das JSP-Tag "<basic:favicon>" hat kein Attribut "shortcutIcon" mehr. Verwendungen sind auf das Attribut "icon" umzustellen bzw. ersatzlos zu streichen.
- Die öffentlichen Methoden "FaviconTag.write(TagWriter, String shortcutIcon, String icon)" und "FaviconTag.write(JspWriter, String shortcutIcon, String icon)" sind ersetzt durch "FaviconTag.writeIcon(TagWriter, String icon)" bzw. "FaviconTag.writeIcon(JspWriter, String icon)".
Die übrigen "FaviconTag.write(...)"-Methoden, die nur den Kontextpfad bekommen, sind unverändert.
Eine Datenbank-Migration ist nicht erforderlich.