Die Dateien auf die sich Änderungen beziehen sind in der Regel als Task-Liste visualisiert und beginnen mit dem Themenamen. In dieser Anleitung wurde dafür boilerplate/ gewählt und muss an das entsprechende Theme angepasst werden.
21.11
Themekonfiguration via viewer Backend
Es ist nun möglich grundsätzliche Einstellungen (Logo, Vollbildlogo, Favicon, Titel/Anzeigename) sowie Social Media Links und Footer Links über das Administratorenbackend des Viewers zu konfigurieren.
Logo & Name via Backend konfigurierbar machen
Um Logo und Namen des viewers über das viewer Backend einstellen und dynamisch zu laden können, ist folgender Block in der layout.xhtml zu ergänzen. Die Angaben nach dem Pfad bestimmten die Ausgabegröße des Bildes (Breite, Höhe).
<!-- METHOD TO DYNAMICALLY LOAD THE LOGO AND LABEL/NAME --><ahref="#{request.contextPath}/"> <img src="#{adminThemesBean.getLogo("/images/template/customer-header-logo.png", 80, 53)}" alt="#{adminThemesBean.getThemeLabel(configurationBean.name)} Logo" />
<spanclass="page-header__span">#{adminThemesBean.getThemeLabel(configurationBean.name)}</span></a>
Social Media Profile
Es ist nun möglich, Verlinkungen zu Social Media Profilen im viewer Backend einzutragen. Dafür können folgende Methoden verwendet werden.
Die Links Kontakt, Datenschutz und Impressum können ebenso über das Backend konfiguriert werden. Dafür sind folgende Methoden vorgesehen.
<!-- METHODS TO INSERT FOOTER LINKS VIA VIEWER BACKEND --><!-- CHECK IF CONTACT HAS ENTRY --><c:iftest="#{not empty adminThemesBean.currentTheme.getFooterLink('contact').linkUrl}"> <ahref="#{adminThemesBean.getFooterUrl('contact', 'default_contact_link')}">#{msg.contact}</a></c:if><!-- IF CONTACT IS EMPTY USE MODAL ON PAGE --><c:iftest="#{empty adminThemesBean.currentTheme.getFooterLink('contact').linkUrl}"> <buttonclass="btn btn--icon"data-toggle="modal"data-target="#feedbackModal">#{msg.contact}</button></c:if><a href="#{adminThemesBean.getFooterUrl('privacy', request.contextPath.concat("/privacy"))}">#{msg.privacy}</a>
<a href="#{adminThemesBean.getFooterUrl('legal', request.contextPath.concat("/imprint"))}">#{msg.imprint}</a> <span>powered by</span>
Seitentitel und Favicon
Um das Favicon und Seitentitel zu laden, sind folgende Elemente in allen template*.html Dateien zu ersetzen.
<!-- OLD TITLE LINE --><title><h:outputText value="#{activeDocumentBean.titleBarLabel} - " rendered="#{activeDocumentBean.titleBarLabel != null}" />#{configurationBean.name}</title>
<!-- NEW TITLE LINE --><title><h:outputText value="#{activeDocumentBean.titleBarLabel} - " rendered="#{activeDocumentBean.titleBarLabel != null}" />#{adminThemesBean.getThemeLabel(configurationBean.name)}</title>
<!-- OLD FAVICON LINE --><link rel="shortcut icon" href="#{request.contextPath}/resources/themes/#{navigationHelper.theme}/images/template/favicon.ico" />
<!-- NEW FAVICON LINE --><linkrel="shortcut icon"href="#{adminThemesBean.getIcon("images/template/favicon.ico", 32, 32)}" />
Quick CSS
Es wurde ein Quick CSS Feld im Backend eingefügt. Um die dort eingetragenen CSS Eigenschaften in die Templates zu integrieren, ist folgender Block nach allen anderen CSS Dateien einzubauen.
<!-- THIS HAS TO BE ADDED AS LAST CSS ENTRY (AFTER OTHER CSS FILES) --><!-- QUICK CSS IN VIEWER BACKEND - ADDS <style> NODE --><h:outputTextescape="false"value="#{adminThemesBean.styleSheet}"/>
Breadcrumbs
Die Breadcrumbs wurden als Komponente integriert und es ist möglich, den vorangestellten Starttext mittels Attribut an- bzw. auszuschalten sowie den Startpunkt als Icon darzustellen. Dafür ist in allen betroffenen Dateien (zum Beispiel der layout.xhtml oder Custom CMS Seiten) nach folgendem Eintrag zu suchen und dieser zu ersetzen:
<!-- OLD BREADCRUMBS --><ui:insertname="breadcrumbs" /><!-- NEW BREADCRUMBS --><!-- BREADCRUMBS --><viewerComponent:breadcrumbsshowIcon="false"showStartText="true" />
Sweetalert2
Sweetalerts2 wird nun auch für das Frontend benutzt und ist in die template*.html Dateien einzubinden.
<!-- ADD THIS CSS LIBRARY --><link type="text/css" rel="stylesheet" href="#{request.contextPath}/resources/css/libs/sweetalert/sweetalert2.min.css?${navigationHelper.buildVersion}" />
<!-- ADD THIS JS LIBRARY --><script type="text/javascript" src="#{request.contextPath}/resources/javascript/libs/sweetalert/sweetalert2.min.js?${navigationHelper.buildVersion}"></script>
Piwik
Eine Methode für das Piwik-Tracking wurde umbenannt und muss in folgenden Template Dateien verändert oder ergänzt werden:
<!-- OLD --><!-- PIWIK --><ui:fragmentrendered="#{configurationBean.piwikTracking}"> <viewerComponent:piwikTracking piwikBaseURL="#{configurationBean.piwikBaseURL}" piwikSiteID="#{configurationBean.piwikSiteID}" />
</ui:fragment><!-- NEW --><!-- PIWIK --><ui:fragmentrendered="#{configurationBean.piwikTrackingEnabled}"> <viewerComponent:piwikTracking piwikBaseURL="#{configurationBean.piwikBaseURL}" piwikSiteID="#{configurationBean.piwikSiteID}" />
</ui:fragment>
21.10
Fokusring
Nutzer, die mit dem Keyboard navigieren, können nun fokussierte Elemente deutlicher sehen: Sie werden nun von einem Fokusring umrandet. Ausgelöst wird das Verhalten sobald die Tab-Taste gedrückt wird. Das Styling hierzu wird in dem Mixin .mx-focus-visible definiert und kann entsprechend überschrieben werden.
Änderungen Archivansicht
Die Ansicht, die nur den alleinstehenden Archivbaum anzeigt, wurde zurückgebaut. Im Zuge der wachsenden Funktionalität wird nur noch die vollwertige Archivansicht abgebildet. Die Datei eadTree.less wird zu archivesTree.less umbenannt.
XML Namespaces in Templates hinzufügen
Folgende xml Namespaces müssen in das <html> Element aller template*.html Dateien eingefügt werden:
Der Goobi viewer nutzt eine Vielzahl von externen Javascript und CSS Bibliotheken. Bis auf wenige Ausnamen können nun alle Abhängigkeiten mit npm geprüft und aktualisiert werden. Daraus ergibt sich, dass die Pfade zur jquery.min.js, jquery.ui.touch.punch.min.js und zu der font-awesome.min.css in allen Templates angepasst werden müssen:
Folgende libs sind ersatzlos entfallen. Uns ist nicht bekannt, dass diese in Themes genutzt werden:
overhang
oplTheme
socialshareprivacy.css
rxjs.all.min.js
rxjs.lite.min.js
Änderungen 3D Darstellung
Entfernung des x3dom Javascripts. Uns ist ein Einsatz dieser lib zur Darstellung von X3D Daten in Themes nicht bekannt.
21.09
Anpassung Metadatenansicht
Die Metadatenansicht der Werke wurde neu strukturiert und optisch verbessert. Die Ansicht sollte auf ihre Optik überprüft werden und es sollten hinzugekommene CSS Klassen ergänzt werden. Insbesondere ist auch der Punkt "Bibliografischen Daten" innerhalb der Vollbildansicht zu prüfen. Zu beachten ist, dass Metadaten auf unterschiedlichen Leveln liegen können und entsprechend eingerückt dargestellt werden.
Neuerungen Nutzerprofil
Die Einstellungen für Nutzer am eigenen Profil wurden grundlegend überarbeitet. Die Seite /user/ ist daher auf ihre Optik zu überprüfen. Die Klassen in der user.less sind entsprechend anzupassen.
Javascript + CSS im templateFullscreen
In der templateFullscreen.html sind folgende Javascript Dateien einzubinden.
Die Facettierung der Suche ist umbenannt worden und das Widget Custom Drilldown entfällt: :
Außerdem sollte noch folgender Klassenname geändert werden:
/*** ALT ***/.search-list__drilldown-heading/*** NEU ***/.search-list__facets-heading
Auch müssen eventuell vorhandene Referenzen zum Widget in Theme-Templates angepasst werden:
<!-- ALT -->
<widgetComponent:widget_searchDrilldown />
<!-- NEU -->
<widgetComponent:widget_searchFacets />
Angepasste IDs im Kontakt-Modal
Die IDs der Feedbackform, die im Kontakt-Modal verwendet wird, sind geändert worden. Hintergrund ist, doppelte IDs in auf Seiten mit einer weiteren eingebetteten Kontaktform zu vermeiden. Das Styling der Form sollte daher überprüft werden: