2020

4.13.1

In der customJS.xhtml muss die folgende Zeile ersetzt werden.

Alt:

    var mapBoxToken = "#{configurationBean.mapBoxToken}";

Neu:

    viewerJS.mapBoxConfig = {
	        token : "#{configurationBean.mapBoxToken}",
	        user : "#{configurationBean.mapBoxUser}",
	        styleId : "#{configurationBean.mapBoxStyleId}",
	};

4.13.0

Anpassungen an Template Dateien

Es ist folgende Templatedatei für die Archivansicht neu hinzugekommen:

Folgende Zeile ist aus allen template*.html Dateien zu entfernen:

<meta name="public version" content="#{navigationHelper.publicVersion}" />

In der templateFullscreen.html ist eventuell folgende Zeile anzupassen:

Alt:

<h:panelGroup rendered="#{navigationHelper.subthemeSelected}">

Neu:

<h:panelGroup rendered="#{navigationHelper.subthemeSelected and navigationHelper.subThemeDiscriminatorValue!='-'}">

Anpassungen Optik Privacy Template

Das Template Privacy (/privacy) wurde um ein zusätzliches Feld ergänzt. Es ist möglicherweise die Optik anzupassen:

Widget Annotationen

Das neue Widget muss ein dem bisherigen Design entsprechendes Styling bekommen:

Searchbutton Icons (Lupe)

Der Searchbutton wurde angepasst und ist daher auf sein Styling zu überprüfen. Teilweise müssen Hintergrundgrafiken deaktiviert werden und das Icon in der Farbe angepasst werden. Das Icon taucht im Header, in der Sidebar sowie im Fullscreen Modus auf.

Initialisierung Javascript Admin Backend

Prüfung, ob das Javascript Modul für das Adminbackend korrekt initialisiert wird:

// init admin module
if ( currentPage.indexOf( 'admin' ) > -1 ) {
    adminJS.init();        
}

Ordnung der Überschriften im Frontend

An mehreren Stellen wurden die Überschriften WCAG konform angepasst. Dadurch kann es nötig sein, das Styling anzupassen beziehungsweise CSS-Selektoren zu tauschen, zum Beispiel eine h4 gegen eine h3. Die folgenden Dateien sind entsprechend zu prüfen:

In der browseElement.xhtml wurde das nav-Element mit der Klasse search-list__hit-docstruct gegen ein div-Element mit identischer Klasse getauscht. Das Styling sollte in der folgenden Datei geprüft werden:

4.12.0

​Ergänzung Admin Template

Folgende Javascript Datei muss im Admin Template eingebunden werden:

<script type="text/javascript" src="#{request.contextPath}/resources/javascript/libs/hcsticky/hc-sticky.js?${navigationHelper.buildVersion}"></script>

Refaktorisierung Merklistenfunktion im Header

Der Merklistenbutton wird für ausgeloggte Nutzer jetzt nur eingeblendet, wenn mindestens ein Werk auf der Merkliste ist. Für eingeloggte Nutzer wurde dieser Bereich in das Nutzerdropdown verschoben. Es ist daher das Styling des Merklistendropdowns sowie der Nutzernavigation für eingeloggte Nutzer insgesamt zu prüfen.

Annotationen

Im Rahmen der umfassenden Änderungen der Annotationserstellung- und ansicht, sind die Annotationen in der Werkansicht nun in einem eigenen Widget in der Sidebar verfügbar. Dieses Widget muss auf sein Styling überprüft werden sowie eine entsprechende LESS Datei ergänzt werden:

4.11.0

Kartenfunktionalität in den Crowdsourcing Kampagnen

Folgende Javascript und CSS Dateien müssen im Crowdsourcing Template eingebunden werden:

<link type="text/css" rel="stylesheet" href="#{request.contextPath}/resources/css/libs/leaflet/leaflet.css?${navigationHelper.buildVersion}" />
<link type="text/css" rel="stylesheet" href="#{request.contextPath}/resources/css/libs/leaflet/extra-markers/leaflet.extra-markers.min.css?${navigationHelper.buildVersion}" />
<link type="text/css" rel="stylesheet" href="#{request.contextPath}/resources/css/libs/leaflet/markercluster/MarkerCluster.css?${navigationHelper.buildVersion}" />
<script type="text/javascript" src="#{request.contextPath}/resources/javascript/libs/leaflet/leaflet.js"></script>
<script type="text/javascript" src="#{request.contextPath}/resources/javascript/libs/leaflet/extra-markers/leaflet.extra-markers.min.js"></script>
<script type="text/javascript" src="#{request.contextPath}/resources/javascript/libs/leaflet/markercluster/leaflet.markercluster.js"></script>

Seitentitel aus Konfigurationsdatei

Um einen einheitlichen Seitentitel auch bei neuen Seiten und zu gewährleisten wird der Seitentitel jetzt aus der config_viewer.xml gelesen. Dafür sind die <title></title> Einträge in den template*.html Dateien wie folgt anzupassen:

<title><h:outputText value="#{activeDocumentBean.titleBarLabel} - " rendered="#{activeDocumentBean.titleBarLabel != null}" />#{configurationBean.name}</title>
<title>#{msg.viewMirador} - #{configurationBean.name}</title>
<title>Crowdsourcing - #{configurationBean.name}</title>

Namespace, Login, Nutzungsbedingungen

Verschiedene Funktionen implizieren Anpassungen an der layout.xhtml die an dieser Stelle zusammengefasst wurden.

Für die Unterstützung von Datensätzen ohne Bilder auf den Merklisten ist bei ui:composition der folgende Namespace zu ergänzen:

xmlns:fn="http://java.sun.com/jsp/jstl/functions"

Der Login wurde grundlegend umgestaltet und um optionale Nutzungsbedingungen ergänzt. Dafür sind die folgenden Anpassungen notwendig:

Alt:

<ui:include src="/resources/includes/user/userLogin.xhtml" />

Neu:

<viewerComponent:modalUserLogin id="userLoginModal"/>
<viewerComponent:modalUserTerms id="userTermsModal"/>

Login

In der genannten Datei muss button[data-toggle="login"] zu button[data-toggle="modal"] geändert werden. Der Login Button muss auf korrektes Styling überprüft werden.

Optional: Impressum

Das Impressum kann jetzt im Backend bearbeitet werden. Dafür bei Bedarf in der layout.xhtml einen Link zum Impressum ergänzen, typischerweise im Footer:

<a href="#{request.contextPath}/imprint/">#{msg.imprint}</a>

4.10.0

Bookmarks für Objekte ohne Bild/Thumbnail

Der Button für Bookmarks für Werke ohne Bild/Thumbnail in der Suchtrefferliste sowie in der Metadatenansicht muss gestylt werden. Zu ergänzende Dateien:

4.9.0

Caching von CSS und Javascript Dateien

Um das Neuladen von veränderten CSS und Javscript Dateien zu forcieren muss in den template*.html Dateien und in der customJS.xhtml bei den CSS und JS Ressourcen die aus dem /dist/ Ordner eingebunden sind der folgende Suffix angehängt werden:

?${navigationHelper.buildVersion}

Sofern ein ?${buildNumber} Eintrag bereits existiert ist dieser zu ersetzen. Die folgenden Dateien sind betroffen:

Javascript für Geomap-Marker Clustering

Für das Clustering der Geomap Marker wird ein weiteres Leaflet Plugin eingesetzt. Dafür müssen die folgenden beiden Zeilen mit dem CSS und JS in die betroffenen template Dateien eingebunden werden:

	<link type="text/css" rel="stylesheet" href="#{request.contextPath}/resources/css/libs/leaflet/markercluster/MarkerCluster.css?${navigationHelper.buildVersion}" />
	<script type="text/javascript" src="#{request.contextPath}/resources/javascript/libs/leaflet/markercluster/leaflet.markercluster.js"></script>

4.8.0

Migration auf Bootstrap 4

In den template*.html Dateien müssen die CSS und Javascript Ressourcen angepasst werden. Dazu die alten Einträge löschen und die neuen hinzufügen:

Alt:

<link rel="stylesheet" href="#{request.contextPath}/resources/css/libs/bs/bootstrap.min.css" />
<script src="#{request.contextPath}/resources/javascript/libs/bs/bootstrap.min.js"></script>

Neu:

<link type="text/css" rel="stylesheet" href="#{request.contextPath}/resources/css/libs/bs/bootstrap.custom.css" />
<script type="text/javascript" src="#{request.contextPath}/resources/javascript/libs/bs/bootstrap.bundle.min.js"></script>

Durch die neue Bootstrap Version können an verschiedenen Stellen Struktur- oder Stylingänderung notwendig werden. Insbesondere sind Struktur und Darstellung der Dateien inlucdes/layout.xhtml sowie die sonstigen überschriebenen Seiten unter urlMappings zu überprüfen.

Die Klasse .col-xs- existiert in Bootstrap 4 nicht mehr und sollte über Suchen & Ersetzen zu .col- geändert werden. Entsprechend müssen eventuell LESS und gegebenenfalls XHTML Dateien angepasst werden:

Die CSS Klasse .input-group-addon wird im Standard ebenso nicht mehr von Bootstrap verwendet. Inputfelder mit Aktionsbuttons sind daher auf ihre Optik zu überprüfen. Die neue Klasse für Inputfelder mit nachgelagerten Aktionsbuttons ist .input-group-append. Dateien, die möglicherweise angepasst werden müssen:

Aus der CSS Klasse .label-default wird .badge:

Aus der CSS Klasse .panel wird .card wobei die Darstellung der Elemente sich erheblich unterscheiden kann:

Weiter kann es insbesondere bei folgenden Elementen zu Veränderungen kommen, abhängig vom Design des Themes:

  • Bookmarks

  • CMS Templates

  • Image Controls

  • Buttons

  • Input Felder

4.7.0

Karten

Für die individuellen Marker auf Karten sowie der oEmbed Anzeige sind die folgenden Anpassungen notwendig.

Hinzufügen der neuen Template Datei templateBlank.html

Hinzufügen des Overlay includes in die layout.xhtml nach dem userLogin:

layout.xhtml
<ui:include src="/resources/includes/overlay.xhtml" />

Hinzufügen der CSS und JS Resourcen für das Leaflet Extra Markers Plugin in die template Dateien:

<link type="text/css" rel="stylesheet" href="#{request.contextPath}/resources/css/libs/leaflet/extra-markers/leaflet.extra-markers.min.css?${buildNumber}" />
<script type="text/javascript" src="#{request.contextPath}/resources/javascript/libs/leaflet/extra-markers/leaflet.extra-markers.min.js"></script>

Widget für Serien

Das Widget für die Anzeige von Verlinkungen zu Serien / Konvoluten und mehrbändigen Werken wurde umbenannt und die LESS Struktur überarbeitet:

4.6.0

HTML language attribute

Für eine bessere Sprachunterstützung sollte in den template*.html Dateien im <html>-Tag der folgende Eintrag ergänzt werden:

lang="#{navigationHelper.localeString}"

e-pub vs. born-digital

Um besser zwischen dem EPUB-Format für E-Bookreader und E-Publikationen unterscheiden zu können wurde das LESS Template sowie die darin enthaltene CSS-Klasse e-pub zu born-digital umbenannt:

Timematrix

Die Timematrix wurde refaktorisiert, nutzt nun einen riotJS Tag und folgt den Goobi viewer CSS Konventionen:

Subthemes

Der Standardwert für Subthemes hat sich verändert, war er früher leer, so ist es nun "-". Aus diesem Grund muss in der template.html und der templateFullscreen.html die rendered Bedingung angepasst werden:

rendered="#{navigationHelper.subthemeSelected and navigationHelper.subThemeDiscriminatorValue!='-'}"

Karten

Damit die Kartenunterstützung funktioniert, muss das CSS und JavaScript von Leaflet geladen werden. Dafür sind die folgenden beiden Zeilen in der template.html und der templateAdmin.html Dateien einzufügen:

<link type="text/css" rel="stylesheet" href="#{request.contextPath}/resources/css/libs/leaflet/leaflet.css?${buildNumber}" />
<script type="text/javascript" src="#{request.contextPath}/resources/javascript/libs/leaflet/leaflet.js"></script>

Eventuell vorhandene Referenzen zu dem alten Geokoordinaten-Widget in individuellen Seiten oder Templates müssen gelöscht werden. Der Code lautet:

<widgetComponent:widget_geoLocations widget="#{element}" />

CSS für 3D-Objekte

4.5.0

MapBox Token

In der Datei customJS.xhtml folgende Zeile bei der Deklaration der Javascript-Variablen ergänzen:

var mapBoxToken = "#{configurationBean.mapBoxToken}";

4.4.0

Javascript Library Update in template-Dateien

In den template*.html Dateien die folgende Zeile ersetzen:

Alt:

<script src="#{request.contextPath}/resources/javascript/libs/reactiveX/rx.lite.min.js"></script>

Neu:

<script src="#{request.contextPath}/resources/javascript/libs/reactiveX/rxjs.umd.min.js"></script>

Aufgrund von Änderungen im Core ist es außerdem gut das Styling der folgenden Elemente zu prüfen:

  • widget-chronology-slider (Facettierung nach Zeitraum in der Suche)

  • currentSearchForm (Sucheingabefeld auf Suchtrefferliste bei öffnen von Sammlung)

Änderungen an der custom.js und customJS.xhtml:

Löschen des folgenden Blocks aus der custom.js:

custom.js
// init bookmarks if enabled
if ( bookshelvesEnabled ) {
    viewerJS.bookmarks.init( watchlistConfig );
}

Suchen und Ersetzen des folgenden Blocks in der customJS.xhtml.

Suchen:

customJS.xhtml
var bookshelvesEnabled = #{configurationBean.bookshelvesEnabled};
var watchlistConfig = {
    root: "#{request.contextPath}",
    msg: {
        resetBookmarkLists: "#{msg.bookmarkList_reset}",
        deleteBookmarkList: "#{msg.bookmarkList_delete}",
        sendBookmarkList: "#{msg.bookmarkList_session_mail_sendList}",
        searchInBookmarkList: "#{msg.action__search_in_bookmarks}",
        resetBookmarkListsConfirm: "#{msg.bookmarkList_resetConfirm}",
        noItemsAvailable: "#{msg.bookmarkList_noItemsAvailable}",
        selectBookmarkList: "#{msg.bookmarkList_selectBookmarkList}",
        addNewBookmarkList: "#{msg.bookmarkList_addNewBookmarkList}",
        openInMirador: "#{msg.bookmarkList_openMirador}",
        type_label: "#{msg.bookmarkList_type_label}",
        typeRecord: "#{msg.bookmarkList_typeRecord}",
        typePage: "#{msg.bookmarkList_typePage}"
    },
    userLoggedIn: userLoggedIn
};

Ersetzen:

customJS.xhtml
var bookmarksEnabled = #{configurationBean.bookmarksEnabled};
var rootURL = "#{request.contextPath}";
var restURL = "#{configurationBean.restApiUrl}";

Änderungen an LESS Templates:

  • /boilerplate/css/less/constructor.less

    • -> build.less umbenennen zu constructor.less (falls Dateiname = build.less)

  • /boilerplate/Gruntfile.js

    • Sofern die build.less umbenannt wurde, in der Gruntfile nach build.less suchen und durch constructor.less ersetzen

  • -> Dateinamen aus der folgenden Auflistung umbenennen

Durch die Refaktorisierung der Bücherregale/Merklisten müssen die folgenden LESS Templates umbenannt werden:

  • /boilerplate/css/less/constructor.less

  • /boilerplate/css/less/components/bookshelves.less → bookmarks.less

  • /boilerplate/css/less/views/user/userBookshelfEdit.less → userBookmarkEdit.less

  • /boilerplate/css/less/views/user/userBookshelfSendList.less → userBookmarkSendList.less

  • /boilerplate/css/less/views/user/userBookshelfSingle.less → userBookmarkSingle.less

  • /boilerplate/css/less/views/user/userBookshelves.less → userBookmarks.less

  • /boilerplate/css/less/views/user/userBookshelfOther.less

  • /boilerplate/css/less/widgets/widgetBookshelfList.less

  • /boilerplate/css/less/widgets/widgetBookshelves.less

Anpassung der Klassennamen:

bookmarks.less

Alt

Neu

.bookshelf-navigation

.bookmark-navigation

.bookshelf-popup

.bookmark-popup

imageControls.less

Alt

Neu

.add-to-bookshelf

.add-to-bookmark

userBookmarkEdit.less

Alt

Neu

.user-bookshelf-edit

.user-bookmark-edit

userBookmarks.less

Alt

Neu

.user-bookshelves

.user-bookmark

&add-bookshelf

&add-bookmark

userBookmarkSendList.less

Alt

Neu

.user-bookshelf-send-list

.user-bookmark-send-list

userBookmarkSingle.less

Alt

Neu

.view-bookshelf

.view-bookmark

Weitere Änderungen im Theme:

  • In der layout.xhtml die Komponente <viewerComponent:bookshelfNavigation /> umbenennen zu <viewerComponent:bookmarkListNavigation />

  • In der pageheader.xhtml oder layout.xhtml prüfen ob in dem div mit der Klasse topactions -> whatchlist existiert und gegebenenfalls watchlist zu bookmark ändern

  • data- Attribute mit bookshel* löschen

Links zu Anchor und Serienwerken werden nun standardmäßig angezeigt. Deswegen das display:none; und visibility:hidden; entfernen:

  • /boilerplate/css/less/widgets/widgetConvolutes.less

Das Widget zum Facettieren nach Zeitraum wurde umgebaut:

  • /boilerplate/css/less/widgets/widgetChronology.less

Last updated