Known Issues

Tomcat mit Versionen kleiner 9.0.33 und Verwendung von Longpoll bzw. Websockets

Bei der Verwendung von Tomcat Versionen, die kleiner als 9.0.33 sind, kommt es in bestimmten Situationen zu Verbindungsabbrüchen. Daher wird dringend der Einsatz von Versionen größer oder gleich 9.0.33 empfohlen, zum Problemfall siehe JWT-3290

Microsoft Edge bis Version 45 (Legacy) - stand Februar 2021

Das jadice® web toolkit hat einen Mechanismus zum Abbrechen des Renderings von Kacheln. Dies wird z.B. verwendet wenn sehr schnell gescrollt wird und verhindert, dass Seiten gerendert werden, die vom Benutzer gar nicht angesehen werden.

Dies führt leider dazu dass bei einem solchen Abbruch im Microsoft Edge sogenannte broken images statt der echten Kacheln angezeigt werden.

Der neue Microsoft Edge auf Basis von Chromium wurde im Januar 2020 veröffentlicht und wird über ein Windows-Update an alle Anwender mit Windows 7, Windows 8.1 und Windows 10 automatisch installiert. Der Support für Microsoft Edge bis Version 45 endet am 9. März 2021.

Unterstützung der Device Pixel Ratio nur bei neuen Browsern

Mit jadice® web toolkit 5.5.0.0 wird die Device Pixel Ratio beim Rendern der Kacheln mit einbezogen, um eine scharfe Darstellung auf mobilen und hochauflösenden Displays zu gewährleisten. Diese Funktion wird nur von aktuellen Browsern unterstützt (ab Chrome 49, Firefox 49, Internet Explorer 11, Edge, Opera 41 und Safari 9.1).

Windows-Anzeigeskalierung bei Textdokumenten

Die Skalierung der gerenderten Dokumenttexte im Verhältnis zur Skalierung der Annotationen passt bei einer Windows-Anzeigeskalierung ungleich 100% nicht zusammen. Dieses Problem tritt nur auf, wenn der jadice® web toolkit-Server auf einem Windows-System läuft und Textdokumente zur Anzeige gebracht werden. Es wird empfohlen, in diesem Fall serverseitig die Anzeigeskalierung des Betriebssystems auf 100% einzustellen. Siehe hierzu JWT-1356.

Internet Explorer 11 - Scrollen per Mausrad und Verwenden des Kompatibilitätsmodus

Im Internet Explorer 11 gibt es ein bekanntes Problem mit Scroll Events. Das Scrollen per Mausrad (also die Tools MouseWheelZoomTool und MouseWheelScrollTool) funktioniert standardmäßig nicht.

Als Workaround kann der Browser-Kompatibilitätsmodus auf "IE=10" gesetzt werden. Hierzu ist die index.html-Datei um den entsprechenden Meta-Tag zu ergänzen - andere Browser ignorieren diesen Eintrag einfach:

    <head>
        <meta http-equiv="X-UA-Compatible" content="IE=10" />
        ...
    </head>

Bei dieser Einstellung muss man allerdings folgende andere Nachteile in Kauf nehmen:

  • Der CreateMode.AUTO des CreateAnnotationCommands wird im Kompatibilitätsmodus nicht unterstützt. Wird er trotzdem konfiguriert, entspricht das Verhalten CreateMode.SINGLE. Hintergund ist, dass ClickEvents und DoubleClickEvents nicht zuverlässig vom Browser propagiert werden und demzufolge nicht verarbeitet werden können.

  • Ab jadice® web toolkit Version 5.5.0.0 muss ViewerBuilder.setAutoDetectResolution(false) gesetzt werden, da sich hier der Default geändert hat, und dieser neue Default im Kompatibilitätsmodus vom Browser nicht unterstützt wird. (siehe JWT-1577). Für den Integrator bzw. Anwender hat dies zur Konsequenz, dass für eine größengetreue Darstellung die Auflösung manuell eingestellt werden muss, z.B. über das CalibrateResolutionWidget.

  • Ab jadice® web toolkit Version 5.5.0.0 muss ClientConfigurationManager.getClientConfiguration().setQualityEnhancement(0) gesetzt werden, da die DevicePixelRatio im Kompatibilitätsmodus vom Browser nicht unterstützt wird (siehe JWT-1577). Für den Anwender hat dies zur Konsequenz, dass die Darstellung auf hochauflösenden Displays und bei einem Browser Zoom von über 100% qualitativ nicht optimal ist.

Deployment auf JBoss EAP 6.3.0

Der Classloading-Mechanismus muss angepasst werden. Hierzu sind im Unterverzeichnis "modules\system\layers\base\sun\jdk\main" der Installation in der Datei module.xml unterhalb des Knotens "paths" noch folgende Einträge einzufügen:


                        
                        <path name="sun/java2d" />
                        <path name="sun/java2d/loops" />
                        <path name="sun/java2d/pipe" />
                        

Tomcat 8.0.9

Unter Tomcat in der Version 8.0.9 tritt während des Serverstarts ein Fehler auf. Unter Tomcat in der Version 8.0.20 startet der Server ohne Fehler. Aus diesem Grund wird die Verwendung der Version 8.0.20 empfohlen.

OpenJDK

Unter OpenJDK funktioniert das serverseitige Kachelrendern nicht zuverlässig. Stattdessen wird der Einsatz des Oracle JRE empfohlen.

Bekanntes Speicherleck beim Verwenden von Tabs

Wird mit Tabs gearbeitet, bei denen in jedem Tab ein eigener Viewer verwendet wird, kommt es im Moment in einigen Fällen (vor allem bei Verwendung des Context) zu Speicherlecks.

Hierzu wurde die Methode destroy im Context neu eingeführt. Da dies von Anfang an eine temporäre Lösung sein soll, die mit dem einem der nächsten (Major) Releases entfernt werden soll, ist diese Methode von Anfang an als Deprecatedmarkiert. Das Zielbild ist, in einer der nächsten (Major) Versionen eine dauerhafte Lösung zu erstellen, bei denen ein Integrator selbst nicht mehr eingreifen muss. Für den Moment sollte im Szenario Tabs mit mehreren Viewern wie folgt vorgegangen werden:

/**
 * This method is called upon cleaning up, i.e. when a tab is closed
 * In this occasion, we want to clean up / remove:
 * * the Context
 * * the Viewer
 * * the Viewer's PageView
 */
public void onClose() {
  // List<Viewer> viewers = new ArrayList<>();
  Viewer viewer = viewers.remove(viewers.size() - 1);
  // TabLayoutPanel tabPanel = new TabLayoutPanel(42, Unit.PX);          
  tabPanel.remove(tabPanel.getWidgetCount() - 1);
  viewer.getPageView().getDocument().close();
  viewer.getPageView().cleanup();
  Context.destroy(Context.getPrivateContext(viewer));
}

Für Nachfragen hierzu können Sie wie immer gerne den jadice Support kontaktieren, unter den üblichen Kanälen wie z.B. jadice-support@levigo.de

[jadice web toolkit Version 5.10.38.8 : Dokumentation für Entwickler. Veröffentlicht: 2021-07-05]