6.6.2.1 Tests
Allgemein
Um bei Updates von CSS und Javascript Abhängigkeiten zu prüfen, ob weiterhin alles funktioniert sind diese mit entsprechenden Hinweisen auf dieser Seite aufgelistet.
CSS
Bootstrap
Die folgende Datei wird in allen template*.html
Dateien eingebunden:
bootstrap.custom.css
Der Goobi viewer nutzt eine angepasste Variante vom Bootstrap 4 CSS. Daher kann die Abhängigkeit nicht über npm aktualisiert werden.
Bootstrap ist für das grundsätzliche Styling und Layout zuständig und kann getestet werden, indem sichergestellt wird, dass die Datei geladen wird und das Styling im Backend stimmt.
Font Awesome
Die folgende Datei wird in allen template*.html
eingebunden:
font-awesome.min.css
Der Goobi viewer benutzt die Version 4.7.0 da bei neueren Versionen die Icons vom Stil zu dick sind.
Font Awesome wird zur Darstellung von Icons im Frontend benutzt und kann geprüft werden, indem sichergestellt ist, dass zum Beispiel die Lupe im Facettierungswidget angezeigt wird
jQuery UI
jQuery UI ist in allen template*.html
Dateien, bis auf templateMirador.html
, eingebunden und wird für bestimmte UI Elemente eingesetzt wie zum Beispiel den Timematrix Slider. Sie kann mit einer visuellen Sicht- und Funktionalitätsprüfung des Timematix-Slider getestet werden.
Die Lib wird ebenfalls im Crowdsourcing Modul eingebunden.
Leaflet
Die folgenden Dateien werden von dem Goobi viewer verwendet. Alle vier aufgelisteten CSS Dateien sind in allen template*.html
Dateien eingebunden.
Leaflet dient dem Styling von Kartenmaterial und kann geprüft werden in dem getestet wird, ob Karten prinzipiell gerendert werden.
Mapbox
Die folgende Datei wird in der template.html
, templateAdmin.html
und in der templateCrowdsourcing.html
eingebunden.
geocoder/mapbox-gl-geocoder.css
mapbox-gl.css
Mapbox wird für die Darstellung und Interaktivität von Kartenmaterial verwendet. Für eine Prüfung ist ein valider Mapbox Token in der Konfigurationsdatei erforderlich. Anschließend kann zum Beispiel das Styling der Kartensuche geprüft werden. Sofern die Adresssuche in der Konfigurationsdatei aktiviert wurde, muss auch diese funktionieren.
Swagger
Die folgenden beiden Dateien sind direkt in der Core-Seite restApi.xhtml
eingebunden:
swagger-ui.css
Swagger wird für das Styling der Dokumentation von der REST API verwendet. Für eine Prüfung reicht eine visuelle Sichtprüfung der REST API Dokumentation
Sweetalert 2
Die folgende Datei wird in der template.html
, templateAdmin.html
und in der templateCrowdsourcing.html
eingebunden.
sweetalert2.min.css
Sweetalert dient der Anzeige von Benachrichtigungen. Zum Testen kann in den Benutzereinstellungen die E-Mailadresse geändert und dann der Fokus aus dem Feld entfernt werden.
Swiper
Die folgende Datei wird in der template.html
und der templateAdmin.html
eingebunden.
swiper-bundle.min.css
Swiper wird für das Styling von Slidern, die mit der Swiper API entwickelt wurden, verwendet. Zur Prüfung kann zum Beispiel das Styling des Sliders auf der Startseite angeschaut werden.
Javascript
Bootstrap
Die folgende Datei wird in allen template*.html
Dateien eingebunden:
bootstrap.bundle.min.js
Bootstrap wird unter anderem für die Anzeige von Tooltips verwenden. Das kann zum Beispiel geprüft werden, in dem über die Badges im Widget "Zitieren und Nachnutzen" gehovert wird.
Clipboard
Die folgende Datei wird in allen template*.html
Dateien eingebunden:
clipboard.min.js
Clipboard wird verwendet, um Inhalte per Klick in die Zwischenablage zu kopieren. Zum Prüfen kann zum Beispiel im Widget "Zitieren und Nachnutzen" auf , das Badge "IIIF Manifest" geklickt und der Inhalt der Zwischenablage danach betrachtet werden.
hc-sticky
Die folgende Datei wird in der templateAdmin.html
und der templateArchives.html
eingebunden:
hc-sticky.js
hc-sticky wird verwendet, um DOM-Elemente fixieren und zum Beispiel nur in der Sidebar zu scrollen. Getestet werden kann die Funktionalität zum Beispiel mit einem kleineren Bildschirmfenster im Admin-Bereich. Das blaue Menü rechts sollte fixiert sein, während der Content Bereich weiterhin scrollbar ist.
jqPlot
Die folgende Datei ist direkt in der Core Seite statistics.xhtml
eingebunden:
jquery.jqplot.min.js
Es wird hier eine Vielzahl von Plugins genutzt. Die Plugins werden nicht über npm aktualisiert. Ein manueller Download ist an dieser Stelle möglich.
jqPlot wird für die Darstellung von Diagrammen eingesetzt. Zum Testen kann die Statistikseite aufgerufen werden. Dort sollten die Graphen korrekt gerendert werden.
jQuery UI
jQuery UI wird unter anderem für das Autocomplete in der Suche, den DatePicker in den Crowdsourcing Kampagnen, den Zeitleisten Slider in der Timematrix und Rechts-nach-links Image Slider verwendet.
Es existieren drei Plugins, die im Verzeichnis jqueryUi/plugins liegen. Diese werden nicht aktualisiert. Zwei davon sind für die Funktion des recht-nach-links (rtl) Sliders. Dieser sollte nach einem Update getestet werde
Zur Prüfung können die oben verwendeten Funktionen genutzt werden. Der rtl-Slider zum Beispiel in dem die Sprache auf hebräisch oder arabisch gestellt und der Slider dann visuell geprüft wird.
Die Lib wird ebenfalls im Crowdsourcing Modul eingebunden.
Leaflet
Die folgenden Dateien werden von dem Goobi viewer verwendet. Alle vier aufgelisteten Javascript Dateien sind in allen template*.html
Dateien eingebunden.
Leaflet dient dem Styling von Kartenmaterial und kann geprüft werden, indem getestet wird, ob Karten prinzipiell gerendert werden.
Mapbox
Die folgende Datei wird in der template.html
, templateAdmin.html
und in der templateCrowdsourcing.html
eingebunden.
geocoder/mapbox-gl-geocoder.min.js
mapbox-gl.js
Mapbox wird für die Darstellung und Interaktivität von Kartenmaterial verwendet. Für eine Prüfung ist ein valider Mapbox Token in der Konfigurationsdatei erforderlich. Anschließend kann zum Beispiel das Styling der Kartensuche geprüft werden. Sofern die Adresssuche in der Konfigurationsdatei aktiviert wurde, muss auch diese funktionieren.
Masonry
Die folgenden Dateien sind direkt in der Seite cms_template_11_masonry.xhtl
eingebunden:
masonry.min.js
imagesloaded.min.js
Masonry wird für die Darstellung von Bildern im dazugehörigen CMS-Template benutzt. Die Funktionalität kann getestet werden, indem eine entsprechende CMS-Seite angelegt und anschließend Bilder und Captions visuell geprüft werden.
Mirador
mirador.min.js
mirador.min.js.LICENSE.txt
mirador.min.js.map
Der Mirador wird für die Vergleichsansichten von Werken benutzt. Er kann getestet werden, indem zum Beispiel in den Suchtreffern zwei Werke zur Merkliste hinzugefügt und danach die Vergleichsansicht über die Session-Merkliste aufgerufen wird.
Q-Promises
Die folgende Datei wird in allen template*.html
Dateien eingebunden:
q.min.js
Q-Promises stammt aus der Zeit als native Promises noch nicht "production ready" waren. Genutzt wird die Abhängigkeit unter anderem in der Bildanzeige. Zum Testen eine Suche durchführen und ein Werk öffnen.
OpenSeadragon
Der Goobi viewer benutzt eine OpenSeadragon Version, die nicht mit den offiziellen Releases kompatibel ist. Daher wird die Abhängigkeit nicht mit npm verwaltet.
OpenSeadragon wird für die Bildanzeige verwendet. Zum initialen Testen reicht es, ein Werk auszuwählen und zu prüfen ob Bilder angezeigt werden. Weiter sollten Dinge wie das Hervorheben von Suchtreffern im Bild und die Anzeige von Kästen um Annotationen oder Strukturelementen in Zusammenhang mit Zoom und Rotation geprüft werden.
PDF.js
pdf.js
pdf.js.map
pdf.min.js
pdf.worker.js
pdf.worker.min.js
PDF.js wird für die Darstellung von PDF-Dokumenten auf CMS-Seiten verwendet.
Die installierte Version ist nicht bekannt. Es existiert individueller Code um die PDF-Seiten im Frontend untereinander darzustellen. Dieser funktioniert nicht mit einer aktuellen Version. Deswegen wird die Abhängigkeit nicht mit npm verwaltet.
Zum Testen muss eine CMS-Seite angelegt und ein PDF eingebettet werden:
Im Admin-Bereich anmelden
Ein Werk in der Werksansicht öffnen
Im Widget "Aktionen" den Punkt
Verknüpfte CMS-Seite hinzufügen
anklickenDen Button
Datei auswählen
anklickenEin PDF Dokument hinzufügen
Prüfen, ob Haken bei
Erlaubte URL-Parameter
gesetzt istPrüfen, ob im Feld
Verknüpftes Werk
etwas eingetragen istIn der Werksansicht selbst sollte sich nun im Ansichten-Widget jetzt folgender Punkt befinden:
Wissenschaftliche Bearbeitung
jquery.aRSSFeed.js + jquery.jfeed.js
Die Abhängigkeit wird für die Darstellung von RSS-Feeds verwendet. Zum Prüfen kann zum Beispiel die Startseite geöffnet und geprüft werden, ob in dem RSS-Widget Inhalte angezeigt werden.
Die Abhängigkeit wird nicht via npm verwaltet.
rxjs (reactiveX)
Die folgenden Dateien werden in allen template*.html
Dateien eingebunden:
rxjs.umd.min.js
rxjs.umd.min.js.map
reactiveX wird zum Beispiel in der Bildanzeige verwedet. Zum Prüfen reicht es, ein Werk in der Bildanzeige zu öffnen.
RiotJS
Die folgenden Dateien sind in allen template*.html
Dateien, bis auf templateMirador.html
, eingebunden:
riot.min.js
riot+compiler.min.js
RiotJS wird verwendet um HTML dynamisch zu rendern. Eingesetzt wird es zum Beispiel für die Werkzeuge zur Bildmanipulation in der Werksansicht. Zum Testen kann das Werkzeug-Symbol oberhalb der Bildanzeige angeklickt und die Schieberegler bewegt werden.
Swagger
Die folgenden beiden Dateien sind direkt in der Core-Seite restApi.xhtml
eingebunden.
swagger-ui-bundle.js
swagger-ui-bundle.js.map
Swagger wird für das Styling der Dokumentation von der REST API verwendet. Für eine Prüfung reicht eine visuelle Sichtprüfung der REST API Dokumentation.
Sweetalert 2
Die folgende Datei wird in der template.html
, templateAdmin.html
und in der templateCrowdsourcing.html
eingebunden.
sweetalert2.min.js
Sweetalert dient der Anzeige von Benachrichtigungen. In der viewerJS.notifications.js
wird geprüft welche Notification Library vorhanden ist. Zum Testen kann in den Benutzereinstellungen die E-Mailadresse geändert und dann den Fokus aus dem Feld entfernt werden.
Swiper
Die folgende Datei wird in der template.html
und der templateAdmin.html
eingebunden.
swiper-bundle.min.jscss
Swiper wird für das Styling von Slidern, die mit der Swiper API entwickelt wurden, verwendet. Zur Prüfung kann zum Beispiel das Styling des Sliders auf der Startseite angeschaut werden.
Three.js
Three.js wird zum Rendern von 3D-Objekten eingesetzt. Zum Prüfen kann zum Beispiel das folgende Werk geöffnet, auf die Seite 5 gewechselt und dort das 3D-Modell bewegt werden:
Für den FBXLoader wird die externe Abhängigkeit Inflate.min.js
benötigt. Diese muss manuell aus dieser Quelle hinzugefügt werden: https://github.com/imaya/zlib.js
TinyMCE
Es müssen Spracheinstellungen zur Verfügung gestellt werden. Diese befinden sich im Verzeichnis langs
.
TinyMCE ist der Editor für RichText im Admin-Backend. Zum Prüfen der Funktionalität kann eine neue CMS-Seite angelegt und dann darin mit dem Text gearbeitet werden.
Last updated