OFDb

Link auf Webseiten funktionieren nicht

Begonnen von xletterx, 15 Januar 2023, 16:18:43

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

xletterx

Hallo, alle zusammen.

Ich habe vor kurzem MyMDb-CE kennengelernt, und habe nun eine Probe-Installation gemacht, mit der ich im Wesentlichen auch sehr zufrieden bin! In verschiedenen Forenbeiträgen konnte ich erfahren, warum gewisse Dinge nicht vorhanden sind, die auch ich mir gewünscht hätte. Das sind aber vergleichsweise Kleinigkeiten, und ich bin sehr froh über dieses Programm, und will mich sehr herzlich dafür bedanken!

Auch durch grosse Teile des Handbuchs habe ich mich schon durchgekämpft, und dabei so manches Aha-Erlebnis gehabt. Es ist wirklich sehr umfangreich, und ich bedanke mich auch herzlich dafür!

Was jedoch bei mir gar nicht funktioniert, sind Links, die mit dem Browser geöffnet werden müssen. Weder die Links auf IMDb und OFDb, noch die Links, die im Menü unter Hilfe stehen (zB. Homepage öffnen).

Aus anderen Programmen raus kann ich Links öffnen (zB. aus vlc-Hilfe).

Das einzige, was ich inzwischen gefunden habe, ist, dass es an der Verknüpfung der MIME-Typen liegen kann. Ich habe mich inzwischen ein wenig darüber schlau gemacht. Ich VERMUTE, dass bei mir aus irgendwelchen Gründen eine Verknüpfung fehlt oder falsch ist. Wenn ich jedoch meine MIME-Liste ansehe, finde ich nichts Auffallendes (naja, ich weiss ja auch nicht genau, wonach ich da suchen sollte).

Kann mir jemand weiterhelfen? Vielleicht kann mir auch jemand den betroffenen MIME-Typ nennen, so dass ich den gezielt anpassen kann. Wenn es überhaupt am MIME-Typ liegt.

Vielleicht kann mir auch jemand sagen, wie ich das Problem weiter eingrenzen könnte.

Vielen Dank schon mal!
xletterx.

Nobby

15 Januar 2023, 21:45:52 #1 Letzte Bearbeitung: 15 Januar 2023, 21:48:40 von Nobby
Hallo xletterx,

wenn ich dich richtig verstanden habe, kannst du von MYMDb über die Reiter Zb. die Homeoage nicht öffnen?
Was passiert denn wenn du auf einen Film von dir mit der rechten Maustaste auf ofdb gehst,geht das auch nicht?
Ich benutze Firefox und konnte keinen Fehler feststellen.

Gruß
Nobby

xletterx

Hallo Nobby,

danke für deine Antwort!

Ja, es scheint keiner der Links zu funktionieren. Ich nehme an, dass nur in meinem System irgendwas falsch ist, denn sonst hätten sich schon tausende Beschwerden bei euch gehäuft!   :mr.green:

Ich habe auch schon den MyMDb-CE-Ordner kopiert und mit leerer Datenbank und einem frisch geladenen Film ausprobiert: geht auch nicht.

Wenn ich den Rechtsklick mit ofdb mache, bringt er nur die Fehlermeldung, dass der Link nicht existiert. Ins Log schreibt er nichts. Der Link ist aber korrekt, wenn ich ihn direkt in den Browser eintippe.

Ich glaube auch eher, dass das ein Folgeproblem ist, und dass das Hauptproblem ist, dass er irgendwie den Browser nicht findet, also die Probleme mit dem Öffnen zB der Homepage aus dem Menüeintrag Hilfe heraus.

Ich schreib hier mal genauer, was ich alles versucht habe mit welchen (fehlenden) Reaktionen:


Im Menü Reiter Hilfe: alle Einträge, die den Browser benötigen: keine Reaktion (ich habe alle durchprobiert). Keine diesbezüglichen Einträge im Log. Aufrufe von pdf-Dateien oder Info-Feldern funktionieren dort.

Wenn ich im Menü auf Extras-OFDb-Einträge-aktualisieren gehe, tut er das, aktualisiert auch etwas, bringt allerdings einen Fehler im Log "PKIX path validation failed" (mit vielen weiteren Zeilen). Ich vermute mal nicht, dass das damit zusammenhängt (hätte ja auch nichts mit den Hilfemenü-Einträgen zu tun).

Quickinfo-Links, odfb/imdb: alle drei Maustasten probiert, Einzelklick, Doppelklick: keine Reaktion. Er schreibt auch nichts in die Logs.

In Filmliste, Film-Bearbeiten, ofdb/imdb: alle drei Maustasten probiert, Einzelklick, Doppelklick: keine Reaktion. Er schreibt auch nichts in die Logs.

In Filmliste mit der rechten Maus auf ofdb: Meldung "Der Link 'http://www.ofdb.de/view.php?page=film&fid=2341' existiert nicht!". Wenn ich den Link aber direkt im Browser abtippe, kommt die richtige Seite.

Das Gleiche bei imdb mit "Der Link 'https://www.imdb.com/title/tt0017136' existiert nicht". Link direkt im Browser funktioniert.

(Ich hoffe mal, es ist in Ordnung, dass ich hier den Code-Tag verwende, bin mit den Feinheiten nicht so vertraut.)

Mein Verdacht wäre, dass er nicht weiss, was er tun soll, wenn der Browser aufgerufen wird, und das müsste (vermutlich) in der MIME-Liste stehen (ich habe Linux). Ich habe allerdings da nicht so den Durchblick, also kann es auch ganz was anderes sein!

Allerdings hatte ich auch das Problem, dass er aus dem Handbuch (pdf) raus die Links nicht mit dem Standard-Browser öffnen wollte, sondern mit einem anderen, und das konnte ich über diese MIME-Liste korrigieren. Daher meine Vermutung.

Gruss
xletterx.

Nobby

17 Januar 2023, 18:36:57 #3 Letzte Bearbeitung: 17 Januar 2023, 18:40:24 von Nobby
Hallo xletterx,

das muss sich jemand anschauen der sich mit Linux auskennt.

Gruß
Nobby

xletterx

Hallo Nobby,

danke für deine Rückmeldung!  :winken:

Hoffentlich gibt's so jemanden hier.  :mr.green:

Gruss
xletterx

MxO2204

19 Januar 2023, 12:03:27 #5 Letzte Bearbeitung: 19 Januar 2023, 12:54:26 von MxO2204
Hallo xletterx,
ich bin kein Linux Experte, habe aber für Testzwecke eine Linux Mint (aktuelle Version) unter einer Oracle VM am Laufen. Habe mal alle Links getestet, bei mir funktioniert alles problemlos, also die Links unter Hilfe, als auch die OFDB und IMDB Links. Verwende den Standard Firefox, der bei der Installation dabei ist.

Welche Java Version verwendest Du? Die aktuelle bei mir ist 11.0.17 (64-bit).

Eventuell könntest Du mal testweise einen anderen Browser verwenden, z.B. Google Chrome, diesen dann zum Standard Browser machen und wieder testen.
Hinweis: den Standard Browser unter Linux (Mint) legst Du über "Einstellungen - Bevorzugte Anwendungen" fest.
Oft "repariert" so eine Vorgehensweise fehlende oder falsche Verknüpfungen. Und dann ggf. wieder zurück auf Deinen Standard Browser wechseln.

Habs gerade mal getestet. Standard war bisher Firefox. Dann den Google Chrome Browser installiert und über "Einstellungen - Bevorzugte Anwendungen" festgelegt. Die Links nochmals getestet, und alle Links werden jetzt über den Google Chrome Browser geöffnet.

An die Entwickler: wie wird denn der Aufruf in Java für die Links generiert? Evtl. lässt sich damit weitere Erkenntnis, ggf. von einem Java / Linux Experten erzielen.

Viele Grüße und viel Glück
-MxO2204

tbengel

Zitat von: MxO2204 am 19 Januar 2023, 12:03:27An die Entwickler: wie wird denn der Aufruf in Java für die Links generiert?
Wird in Java intern abgehandelt. Er verwendet den eingestellten Standardbrowser ...

Grüße

tbengel

xletterx

Hallo MxO2204 und tbengel,

wie von MxO2204 vorgeschlagen, habe ich ein paar Mal den Default-Browser geändert, was aber nichts genutzt hat (dass die Umstellung des Default-Browsers an sich funktioniert, habe ich jeweils mittels Links aus einem pdf-Dokument verifiziert).


Dann habe ich einen zweiten Linux-Laptop organisiert, und dort ebenfalls MyMDb-CE installiert, um zu prüfen, ob die nicht funktionierenden Links gleich zu Anfang auftreten, oder erst, wenn ich Filme eingelesen, und alles mögliche geändert habe.

Dort tritt tatsächlich der selbe Fehler auf! D.h. ich habe noch keinen einzigen Film eingelesen, gehe oben auf "Hilfe - Homepage öffnen", und es passiert: nichts. Ich vermute, dass dann die imdb-Links auch nicht gehen werden, sobald ich einen Film einlese, will allerdings das frische System gerne noch so lassen, da ich dort vielleicht noch andere Vergleichsinformationen herausfinden kann (wenn ich wüsste, wonach ich suchen soll...).

Ich nehme an, hier ist jetzt der Zeitpunkt, an dem ich mal genauere Informationen über die beiden Systeme liefern sollte:

Laptop 1:
Debian 10 buster. 64-bit.
Java: 11.0.9.1 (64-bit).


Laptop 2:
Debian 11 bullseye. 32-bit.
Java: 11.0.14 (32-bit).


Welche Informationen wären noch nützlich?

Vielleicht hat ja jemand anderes auch noch ein Debian-System, und könnte mal sagen, ob die Links dort funktionieren. Ich war ehrlich gesagt, recht erstaunt, dass der zweite Laptop ebenfalls diesen Fehler hat, da ich eigentlich annahm, ich hätte mir mit irgendwas mein System selber zerschossen (das kann natürlich immer noch sein).

Danke für eure Mithilfe!
Gruss
xletterx

MxO2204

Hallo xletterx.

Habe jetzt mal testweise eine Debian 11 32-bit Installation unter VBox gemacht. Konfiguriert, erforderliche Pakete installiert und dann MyMDb-CE gestartet.

Und ich sage Dir, alle Links (unter Hilfe, OFDB und IMDB) funktionieren tadellos.

Unterschied:
die Java-Version bei mir ist: 17.0.4(32-bit).

Du verwendest noch die alte Version 11.

Vielleicht liegts ja daran. Installier doch mal die aktuelle Java Version,,

Installationsanleitung habe ich hier gefunden: https://www.howtoforge.de/anleitung/so-installierst-du-java-17-jdk-17-unter-debian-11/

Viele Grüße
-MxO2204

PS. Gefällt Dir das Debian Linux? Ich finds irgendwie furchtbar, aber ist vielleicht auch nur eine Frage der Gewöhnung... Mir gefällt da Linux Mint um vieles besser.. aber egal..

xletterx

Hallo MxO2204,

wow, danke, dass du Debian ausprobiert hast!

Ich habe jetzt fast alles aus der von dir verlinkten Java-Installationsanleitung auf meinem 32-bit-System durchgeführt, sogar den Java-Test. Hat aber leider nichts an meinem Problem geändert.

Das einzige, was noch fehlt, ist ein Kernel-Update, der mir vorgeschlagen wurde. Da der üblicherweise bei mir immer etwas mühsamer ist (ich muss dann Anpassungen im grub machen, wo ich nicht so firm bin), werde ich das erst durchführen, wenn ich genug Zeit und Konzentration dazu habe. Wenns klappt, morgen.

Gruss
xletterx

PS. zum Debian-Linux: ich habe vor vielen Jahren ein Linux-System gesucht, das auf schwachen Laptops läuft, und bin da bei Debian mit XFCE gelandet. Da der Umstieg von Windows her war, war ich super zufrieden.  :mr.green:

Da ich dann immer zwei oder mehr (meistens schwache) Laptops parallel hatte, wollte ich überall das Gleiche drauf haben. Wenn dann einer der Laptops "weggestorben" ist, gabs immer schon andere, die auch Debian-XFCE hatten, und so habe ich das Debian-XFCE bis heute mitgeschleppt. Ab und zu überlege ich mal, ob ich nicht mal was anderes nehmen sollte, aber der Aufwand hat mich dann noch jedesmal abgeschreckt...

xletterx

Ich habe versucht, herauszufinden,  was ich denn anderes tue, als ihr anderen alle, bei denen es klappt. Mir ist nur eingefallen, dass ich ein englisches Debian verwende, und ihr möglicherweise ein deutsches.

Also habe ich einen Laptop gesucht, auf dem ich mal die deutsche Variante installiert hatte (für jemand anderen), und war hoffnungsvoll, dass es dort funktioniert. Aber, leider nein, dort gehen die Links ebenfalls nicht.

Ist ja schon SEHR seltsam, dass hier DREI Installationen diesen Fehler haben (2x buster, 1x bullseye), die alle ich installiert habe. Da liegt der Gedanke nahe, dass ich irgendeine Einstellung völlig eigenartig gewählt habe...

Jetzt werde ich mal weiter nachdenken, was ich vielleicht noch anders gemacht habe als ihr.

Gibt es denn irgendwo Zugriff auf die Source für tiefergehende eigene Nachforschungen?

tbengel

Die Source macht da nichts, denn wie gesagt:

Zitat von: tbengel am 19 Januar 2023, 13:06:18
Zitat von: MxO2204 am 19 Januar 2023, 12:03:27An die Entwickler: wie wird denn der Aufruf in Java für die Links generiert?
Wird in Java intern abgehandelt. Er verwendet den eingestellten Standardbrowser ...

Grüße

tbengel

xletterx

Ich habe mich heute trotzdem lange durch die Dateien gekämpft (mittels einem Java-Decompiler), aber verstehe zu wenig davon, als dass es wirklich nützlich gewesen wäre.

Eine Idee, die ich noch habe, bezieht sich auf die Property-Class/Datei, die Java erstellt, in der die Systemvariablen drin stehen. Ich weiss aber nicht, ob man die überhaupt irgendwie von ausserhalb ansehen kann. Vielleicht würde es nutzen, diese Werte mal genauer anzusehen. Kann mir jemand sagen, wie ich die ansehen/auslesen kann? Es gibt immens viele Dateien, die Property oder Properties im Namen haben. Die ich herausgepickt und angeschaut habe, hatten nicht die Variablen.

Ansonsten ist mir nur noch eingefallen, dass alle drei Laptops (mindestens) Dual-Boot (Linux mit Windows) haben. Aber das sollte ja keinen Unterschied machen.

xletterx

Ich habe inzwischen die Fehlermeldung gefunden. Sie beginnt mit:

Exception in thread "AWT-EventQueue-0" java.lang.UnsupportedOperationException: The BROWSE action is not supported on the current platform!
   at java.desktop/java.awt.Desktop.checkActionSupport(Desktop.java:380)
   at java.desktop/java.awt.Desktop.browse(Desktop.java:524)
   at mymdbce.af.x(Utility.java:1564)
   at mymdbce.o$c.actionPerformed(GUIButtonMaker.java:2630)

Googeln hat dann ergeben, dass java.awt.Desktop.browse anscheinend oft nicht so richtig funktioniert in Linux, am ehesten noch mit dem Gnome- (und eventuell KDE-) Desktop. Ich benutze allerdings den XFCE-Desktop auf allen drei Laptops, die den Fehler haben.

Ich habe auch Tipps gefunden, eine bestimmte gnome-library nachzuinstallieren, aber die existiert inzwischen nicht mehr.

@MxO2204

Kannst du mir bitte sagen, mit welchem Desktop du debian 11 ausprobiert hast, als es funktioniert hat?

Gruss
xletterx

MxO2204

Hallo xletterx,
ich hab mit dieser ISO installiert: debian-11.6.0-i386-netinst.iso

Standard ist unter Debian ja Gnome und mein ps -ef zeigt mir auch:
.. /usr/libexec/gnome-terminal-server
und
$ echo $XDG_CURRENT_DESKTOP
GNOME

Viele Grüße
-MxO2204

xletterx

@MxO2204

Zitat von: MxO2204 am 22 Januar 2023, 23:10:02Standard ist unter Debian ja Gnome

Das hab ich alter XFCE-ler gar nicht mitgekriegt...   :mr.green:

Ganz vielen Dank fürs Nachschauen!


An die Entwickler:
(gibt es irgendwo einen Bugtracker (ist es ein bug?), oder auch eine Wunschliste, wo ich das eintragen kann?)

Es sieht so aus, als würden die Links überall dort nicht funktionieren, wo

Desktop.getDesktop().browse(new URI(paramString));
(in mymdbce.af.class) einen Fehler bringt. Laut Googlen kommt das unter Linux recht oft vor, sobald man keinen Gnome-Desktop hat, weshalb dort bei Problemen regelmässig vorgeschlagen wird, diese Methode eher nicht zu nutzen.

In unserem Fall gibt es (in com.lowagie.tools.Executable.class) nun Folgendes:

public static final void launchBrowser(String paramString) throws IOException {
    try {
      if (isMac()) {
        Class clazz = Class.forName("com.apple.mrj.MRJFileUtils");
        Method method = clazz.getDeclaredMethod("openURL", new Class[] { String.class });
        method.invoke(null, new Object[] { paramString });
      } else if (isWindows()) {
        Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler " + paramString);
      } else {
        String[] arrayOfString = { "firefox", "opera", "konqueror", "mozilla", "netscape" };
        String str = null;
        for (byte b = 0; b < arrayOfString.length && str == null; b++) {
          if (Runtime.getRuntime().exec(new String[] { "which", arrayOfString[b] }).waitFor() == 0)
            str = arrayOfString[b];
        }
        if (str == null)
          throw new Exception("Could not find web browser.");
        Runtime.getRuntime().exec(new String[] { str, paramString });
      }
    } catch (Exception exception) {
      throw new IOException("Error attempting to launch web browser");
    }
  }

Wenn man nun oben beim getDesktop.browse eine Ergänzung macht, dass er im Fehlerfall zumindest das launchBrowser auch noch probiert, statt gleich auszusteigen, so könnten für Linux eine Menge mehr Fälle abgedeckt werden. Man hat zwar dann nicht mehr den Luxus, den Default-Browser zu nutzen, aber ich zB. wäre ja schon froh, wenn er überhaupt irgendeinen Browser aufmacht. Vielleicht könnte man die Liste dann auch noch gleich ergänzen, zB mit chromium.

Ich weiss natürlich nicht, ob ich den Code oben richtig kapiert habe, ob das so funktionieren würde, und ob man noch an weiteren Stellen Änderungen machen müsste. Und ob überhaupt jemand "Lust und Zeit" hätte, das anzupassen...

Viele Grüsse
xletterx

MxO2204

Hallo xletterx,
gerne habe ich nachgeschaut :-)

Bzgl. Bugtracker, ja, den gibt es. Schau hier.

Viele Grüße
-MxO2204

xletterx

Hallo MxO2204,

danke für den Link! Werd ich mich mal schlau machen, wie so ein Bugtracker funktioniert. Kenne die bisher nur als Leser...

Gruss
xletterx

MxO2204

Hallo xletterx,
also der Bugtracker funktioniert ganz einfach. Erstelle einen Account und schreib drauflos.

Viele Grüße
MxO2204

xletterx

Hallo MxO2204,

hatte ein wenig offline zu, habe es jetzt aber gemacht. Ist vermutlich mal wieder viel zu lang geworden...   :mr.green:

Viele Grüsse
xletterx

tbengel

Hi xletterx,

Ich stehe ja voll drauf, wenn einem sein Thema so sehr interessiert,
dass man sich nicht nur gemütlich zurücklehnt, sondern sich selber
in der Sache informiert und Lösungsvorschläge unterbreitet. :respect:

Von daher habe ich nun endlich mal Zeit gefunden und Deinen
Codeschnippsel (den ich leider mit meinem Windows-System nicht testen kann)
eingebaut. Für die Tests bist Du nun zuständig (siehe PN).

Grüße

tbengel


xletterx

Hallo tbengel,

vielen Dank für die Spezial-Edition! Habe es getestet, und dir eine Nachricht geschickt.

Spoiler: es funktioniert nicht.

Aber ich wäre nicht ich, wenn ich nicht neue Vorschläge hätte.  :mr.green:

Gruss
xletterx

xletterx

An alle: nun klappt es! Dank der Codierung von tbengel wird in der neuen Version der Aufruf des Default-Browsers auch für Linux-Versionen funktionieren, die keinen Chrome-Desktop verwenden.

Hier noch mal vielen Dank an tbengel dafür!   :respect:

Gruss
xletterx

tbengel

Der Dank gebührt fast auschließlich allein xLetterx, der mir
alle Code-Schnipsel frei Haus geliefert hat und ich musste
diese nur noch zusammensetzen  :respect:.

Danke für die tolle Zusammenarbeit

tbengel

TinyPortal 2.0.0 © 2005-2020