Jefferson49/ExtendedImportExport

Fehlerhafte Pfadangabe?

Closed this issue · 14 comments

Hallo,

ich habe in meinem Webtrees-Modul "DownloadGedcomWithURL"-Modul diese Anzeige.

Was verbirgt sich hinter dem "/../" ?
Ich habe meine ganzen Medien unter /Webtrees/data/media liegen - in keinem der Ordner oder Unterordner von /Webtrees/app/ existiert irgend ein Verzeichnis "data" - nur direkt im Root-Verzeichnis von Webtrees.

GetURL

Hallo Werner,

den Pfad lese ich so, dass "/../" bedeutet, ein Verzeichnis nach oben zu gehen, also vom Ordner app in den webtrees Ordner; danach wieder in den data Ordner. Die obige Pfadangabe ist also nur eine sehr merkwürdige Schreibweise für den Pfad Web/webtrees/data . Habe solche Pfade auch woanders schon gesehen.

D.h. eigentlich ist die Angabe korrekt.

DownloadGedcomWithURL nimmt hier den Pfad, welcher in in der Verwaltung von webtrees eingestellt ist. D.h. eigentlich müsstest Du die gleiche Pfadangabe auch unter Verwaltung / Einstellungen Webseite / Datenverzeichnis finden.

Wenn sonst alles funktioniert müsstest Du aus meiner Sicht vielleicht gar nichts ändern.

Ich selber muss mir jetzt überlegen, wie ich mit solchen Pfadangaben umgehen kann. Wahrscheinlich kann ich solche Pfadangaben nicht richtig auswerten. Evtl. könnte ich diese Warning, die ja nur unterstützend wirken soll, auch wieder entfernen.

Ich bilde mir aber ein, daß früher der Pfad anders aussah - wurde das evtl.
mit dem letzten Update von WT geändert?

Dazu kann ich nichts sagen.

Prinzipiell kann man den Pfad absolut (wie in Deinem Fall) oder relativ angeben, siehe Text in der Verwaltung:
"Das Verzeichnis kann mit dem vollen Pfad (z.B. /home/user_name/webtrees_data/) oder relativ zum Installationsverzeichnis (z.B. ../../webtrees_data/) angegeben werden."

Du könntest daher versuchen, den Pfad in der Verwaltung auf einen relativen Pfad (also: data/) zu ändern und sehen, ob danach alles weiterhin funktioniert. Wenn es nicht funktioniert, kannst Du auf den absoluten Pfad zurückgehen.

Bisher habe ich im Code von DownloadGedcomWithURL nur die Version mit dem relativen Pfad berücksichtigt.

Ich muss mir jetzt überlegen, ob ich den Code um die zweite Variante erweitern kann. Oder ob ich diese Warnung wieder streiche. War ja nur als zusätzliche Hilfe für den User gedacht. Wenn es Problem erzeugt, ist es kontraproduktiv.

Ich habe jetzt mal das Datenverzeichnis als .\data festgelegt - das hat er akzeptiert.
Nach dem Aus- und Wiedereinloggen steht der Pfad allerdings wieder als /share/CACHEDEV1_DATA/Web/webtrees/data/ in den Angaben.
Mit ..\data kommt er nicht zurecht - obwohl das ..\ ja eine Ebene höher - sprich Rootverzeichnis "webtrees" sein sollte.

Vielleicht muss man den Ordnernamen anders eingeben. Bei meiner Installation steht dort "data/", siehe Screenshot. Vielleicht ist auch die Eingabe mit Slash ("/") statt Backslash ("\") relevant oder abhängig vom Betriebssystem.

Andererseits sollte webtrees ja den Ordner-Namen nach der Eingabe prüfen, ob er vorhanden und erlaubt ist. Ich kenne mich allerdings nicht aus, wie hier die Zusammenhänge sind.

data

Zunächst zu den Eingaben im Modul DownloadGedcomWithURL:

Bei allem kommt der Hinweis, daß der Ordner /media nicht gefunden wird.
Einzig /data/media funktioniert.

Ja, das ist für mich nachvollziehbar. DownloadGedcomWithURL akzeptiert nur einen relativen Pfad. Vorangestelltes "../" etc. funktioniert vmtl. aus folgenden Grund nicht: Wenn Dein "data" Ordner bei /Web/webtrees/data/ liegt, dann liegt er ja direkt im webtrees Verzeichnis und nicht einen Ordner darüber.

Funktionieren sollten in DownloadGedcomWithURL aus meiner Sicht folgende Varianten:
/data/media/
/data/media
data/media/

Wenn ich in Webtrees selbst (also nicht in deinem Modul) das Datenverzeichnis als ./data festlege, zeigt er mir in Webtrees nach dem Aus- und Einloggen wieder den Pfad /share/CACHEDEV1_DATA/Web/webtrees/data/ an - aber dein Programm gibt in der gelben Warnung an, daß das Datenverzeichnis nun .\data wäre.

Habe jetzt auf meinem zweiten webtrees Server auch den absoluten Pfad gesehen. Egal was ich hier eingebe, es wird immer wieder in den absoluten Pfad umgewandelt. Das ist daher vmtl. Standard-Verhalten von webtrees.

Bei mir funktioniert es jedoch, wenn ich einfach "data" (ohne Slashes, Punkte etc.) oder "data/" (ein Slash am Ende) als neuen (relativen) Pfad eingebe. Dann taucht zwar im nächsten Durchgang wieder der volle Pfad auf (mit "data" am Ende); webtrees legt aber in der MYSQL-Datenbank den Datenordner als "data/" ab. Wenn es Dich interessiert, kannst Du es in mit myPhpAdmin in der Datenbank anschauen:

MYSQL

Ich denke, im Endeffekt ist es am besten, die Warnmeldung zu ignorieren.

Denke ich auch. Es ist zu viel Aufwand für ein Thema, das ja eigentlich vollkommen in Ordnung ist.

Mittlerweile habe ich ein Bugfix für das Pfad-Thema erstellt. Es würden mir helfen, wenn Du den neuen Code kurz testen könntest. Hierzu die angehängte Datei "settings.zip" entzippen und in folgendes Verzeichnis kopieren (bisherige Datei ersetzen):
\modules_v4\download_gedcom_with_url\resources\views\

Ich habe jetzt auch eine Ausgabe sämtlicher Pfade ergänzt. Vielleicht lässt sich hiermit auch Deine konkrete Situation besser nachvollziehen.

Bei mir sieht der Screenshot für die Pfadausgabe jetzt so aus:

folder
settings.zip

Ich habe Deinen Fix probiert - jetzt sehen die Einstellungen so aus:

Meldung 1
Meldung 2

Also für mich ist das mehr als ausreichend! Finde ich top!

Danke fürs Testen! Freut mich, dass es funktioniert und gefällt.

Spiele das jetzt in den main Branch bei Github ein; wird dann mit dem nächsten Release ausgeliefert.

Fixed with 5040be2

Super und Danke, daß Du Dir soviel Mühe machst.
Habe gern getestet.