Heute möchte ich ein paar Worte über die jadice web toolkit chrome extension verlieren.
Die Extension kann über den Chrome Web Store einfach installiert werden. Fortan werden PDFs nicht mehr im integrierten PDF-Viewer des Browsers angezeigt, sondern über das jadice web toolkit, in einer speziell hierfür vorgesehenen Umgebung von levigo. Dabei funktioniert die Anzeige auch für PDFs, die direkt in Webseiten eingebettet sind (über das HTML-Tag „object“).
Funktionsweise
Das Ganze ist denkbar simpel. Extensions sind im einfachsten Fall nicht viel mehr als JavaScript-Code, der in jedem Browser-Fenster ausgeführt wird und zusätzliche APIs vom Browser zur Verfügung gestellt bekommt.
Man definiert ein URL-Muster, auf welches die Extension reagieren soll und führt dann den eigenen JavaScript-Code aus. In unserem Fall, sind es URLs, die „.pdf“ enthalten (etwas vereinfacht dargestellt). Unser Code stoppt solche Requests und leitet stattdessen auf unsere Webtoolkit-Umgebung weiter, die wiederum das Dokument lädt. Da dann der Webtoolkit-Server das anzuzeigende Dokument anfragt, klappt dies natürlich nur bei öffentlich erreichbaren Dokumenten.
Ein alternativer Modus kann auch den Request stoppen, das Dokument innerhalb der Extension herunterladen und an den Webtoolkit-Server schicken, der dann das Dokument anzeigen kann.
Eine weitere Besonderheit sind die HTML-Object-Tags. Diese werden verwendet, um eine Dokumentenanzeige innerhalb einer Seite zu realisieren. Die Extension arbeitet in diesem Use-Case so, dass nach dem Laden jeder Webseite der Inhalt der Seite nach Object-Tags durchsucht wird. Wenn diese ein PDF anzeigen sollen, wird das Object-Tag durch ein iFrame mit dem jadice viewer ersetzt.
Firefox & Co.
Das Plugin funktioniert in allen Chromium-basierten Browsern (Edge, Opera, Brave,…) und mit leichten Anpassungen auch in Firefox.
Manifest V3
Auch die jadice Extension bleibt nicht von der Umstellung seitens Google auf das umstrittene Manifest V3 verschont. Eine kleine Kurzfassung, die mehr oder weniger stark von meiner persönlichen Meinung geprägt ist: Mit Manifest V2 haben Erweiterungen im Browser sehr weitreichende APIs und Berechtigungen. Einerseits werden dadurch sehr „mächtige“ Erweiterungen möglich, andererseits ist dies natürlich hinsichtlich Sicherheitsaspekten ein Albtraum. Unterm Strich hatten mit V2 die Erweiterungen sehr viele Möglichkeiten dynamisch auf Web-Requests einzuwirken, z.B. um diese zu blockieren. Ad-Blocker nutzen diesen Mechanismus, um beispielsweise eine URL gegen eine Blacklist abzugleichen und ggf. den Request abzubrechen. Mit V3 sind diese APIs nicht mehr verfügbar, eine Extension muss vorab definieren, auf welche URLs sie „anspringt“. Wenn auch zwischenzeitlich weitaus mehr URLs und URL-Muster definiert werden können, als ursprünglich von Google geplant, ist diese Zahl natürlich weit unter der Anzahl von URLs, die in einer Ad-Blocker-Blacklist enthalten sind. Außerdem muss ein Ad-Blocker dynamisch entscheiden können, welche URLs erlaubt sind und welche nicht. Für Google steht die Sicherheit im Vordergrund, und dass Ad-Blocker, die das Kerngeschäft von Google, nämlich Werbung, quasi unbrauchbar machen, ist natürlich nur ein (höchst willkommener) Nebeneffekt.
Für die jadice Extension stellt dies jedoch kein Hindernis dar, da wir wissen, auf welche URL-Muster wir reagieren möchten (siehe oben).
Setzen Kunden das auch ein?
Ja, wir haben Kunden, die eine eigene Chrome Extension verwenden, um Dokumente in ihrem Portal über jadice anzeigen zu können. Dieser „Workaround“ ist leider erforderlich, da das Portal nicht so angepasst werden kann, dass dort jadice direkt eingebunden wird. Die Extension wird dann über den Chrome Web Store bereitgestellt und über eine Administrator-Richtlinie bei allen Clients (Browsern) des Kunden installiert.
Wozu das Ganze?
Wie im vorangegangenen Abschnitt erwähnt, kann so der jadice viewer in Anwendungen eingebunden werden, wo dies nicht durch eine direkte Anpassung möglich ist. Darüberhinaus bietet der jadice viewer gegenüber dem in den Browser integrierten Viewer einige Vorteile. Angefangen bei Informationssicherheits-Aspekten (Dokumente werden nicht lokal abgelegt) gibt es bei jadice jede Menge nützliche Funktionen. Zu nennen wären hier unter anderem das Anbringen von Annotationen, der Export nach PDF/A, OCR-Anbindung, Accessibility oder natürlich eigene Tools bzw. die Möglichkeit den Viewer sehr stark zu customizen.
Haben Sie Gedanken oder Erfahrungen zu diesem Thema? Kontaktieren Sie mich gerne direkt, ich freue mich über einen regen Austausch!