-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Submitter/submission (HEAD:SUBM, HEAD:SUBN) is not exported in GEDCOM header, if no Manager is logged in #9
Comments
Hi Werner, eine Erklärung könnte sein, dass es spezielle Zugriffsrechte für Dein Submitter Objekt gibt. Kannst Du das unter HEAD in webtrees anschauen (HEAD in Suchfeld eingeben)? Bei DownloadGedcomWithURL dann auch die Rechte (privacy level) für den Export prüfen. In URL: &privacy=... und in den Default Settings unter Verwaltung. Grüße Markus |
Hallo Markus,
in Webtrees habe ich ja unter "HEAD" die Eintragung vorgenommen.
Die Einstellung in DownloadGedcomWithURL habe ich so stehen, wie Du es
gezeigt hast.
Ich habe auch mal mit "Herunterladen" und "Save" gespielt - macht keine
Änderung.
Ich verstehe aber nicht ganz, was Du mit
>In URL: &privacy=... und in den DefaultSettings unter Verwaltung.<<
meinst bzw. wie und wo genau ich da was prüfen soll.
Wie gesagt, wenn das Modul die Gedcom selber erzeugt, fehlt der Eintrag zu
SUBM. Wenn ich im Modul ganz unten auf "Herunterladen testen" klicke und
diese Gedcom-Datei überprüfen lasse, funktioniert alles und der SUBM-Eintrag
ist auch vorhanden.
Von: Jefferson49 ***@***.***
Gesendet: Donnerstag, 21. September 2023 11:16
An: Jefferson49/DownloadGedcomWithURL
Cc: Werner; Author
Betreff: Re: [Jefferson49/DownloadGedcomWithURL] Automatisch erzeugtes
Gedcom-File unterscheidet sich von manuell erzeugtem (Issue #9)
Hi Werner,
eine Erklärung könnte sein, dass es spezielle Zugriffsrechte für Dein
Submitter Objekt gibt. Kannst Du das unter HEAD in webtrees anschauen (HEAD
in Suchfeld eingeben)?
Bei DownloadGedcomWithURL dann auch die Rechte (privacy level) für den
Export prüfen. In URL: &privacy=... und in den Default Settings unter
Verwaltung.
<https://user-images.githubusercontent.com/81484983/269559789-cf2c9eb6-aaf7-
4f63-b3ef-7438186f04ce.jpeg> image
Grüße
Markus
�
Reply to this email directly, view it on GitHub
<#9 (comment)
1729179945> , or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AE5FMFWOTWCWWGCOS4DHET3X3
QATBANCNFSM6AAAAAA5A6YQYE> .
You are receiving this because you authored the thread.
<https://github.com/notifications/beacon/AE5FMFTZQU6UN4XUHMY55WTX3QATBA5CNFS
M6AAAAAA5A6YQYGWGG33NNVSW45C7OR4XAZNMJFZXG5LFINXW23LFNZ2KUY3PNVWWK3TUL5UWJTT
HCEYSS.gif> Message ID:
***@***.***>
|
Ok, wenn es in der Verwaltung funktioniert, sind die dortigen Einstellungen ok. Verbleibt noch der Aufruf in der URL.
Mit dem Aufruf in der URL kannst die gleichen Einstellungen wie auch in der webtrees Verwaltung beeinflussen. Wenn Du also "&privacy=visitor" in Deine URL einfügst, hat das die gleichen Auswirkungen, wie wenn Du exportieren als "Besucher" im Browser auswählst. Wenn die URL nichts enthält, wird der Default Wert aus der Verwaltung genommen. Wenn also eine Einstellung in der URL enthalten ist, solltest Du diese vielleicht einfach löschen. |
Meinen Link zum Download lasse ich täglich so aufrufen: wget --timeout=60 --tries=1 "https://My-DOMAIN/webtrees/index.php?route=/webtrees/DownloadGedcomWithURL&tree=tree1&key=xxxxxxxxxxxxx&privacy=none&format=gedcom&encoding=UTF-8&line_endings=CRLF&action=save" Ich habe den kompletten Pfad auch einmal manuell ausgeführt - auch da fehlt die Angabe des SUBM. Dann habe ich noch Mit dem "Test-Button" im Modul selbst funktioniert es aber korrekt. |
Ok, das sieht eigentlich alles vernünftig aus. Muss erst Mal nachdenken und selber ein paar Versuche starten. |
Na klar, ist ja nicht so brisant.
Wenn Du willst, kann ich Dir auch mal beide Gedcoms zuschicken - nur nicht hier in der Öffentlichkeit.
Vielleicht kannst Du hier was sehen?
Von: Jefferson49 ***@***.***
Gesendet: Donnerstag, 21. September 2023 15:18
An: Jefferson49/DownloadGedcomWithURL
Cc: Werner; Author
Betreff: Re: [Jefferson49/DownloadGedcomWithURL] Automatisch erzeugtes Gedcom-File unterscheidet sich von manuell erzeugtem (Issue #9)
Ok, das sieht eigentlich alles vernünftig aus.
Muss erst Mal nachdenken und selber ein paar Versuche starten.
—
Reply to this email directly, view it on GitHub <#9 (comment)> , or unsubscribe <https://github.com/notifications/unsubscribe-auth/AE5FMFSC66CVB2JLXHFSLSTX3Q5AXANCNFSM6AAAAAA5A6YQYE> .
You are receiving this because you authored the thread. <https://github.com/notifications/beacon/AE5FMFWKATTNYZZPUAFGXCDX3Q5AXA5CNFSM6AAAAAA5A6YQYGWGG33NNVSW45C7OR4XAZNMJFZXG5LFINXW23LFNZ2KUY3PNVWWK3TUL5UWJTTHC4SBI.gif> Message ID: ***@***.***>
|
Habe ein paar Themen angeschaut; bin aber noch nicht weitergekommen. Habe nun eine Debug-Version für die Datei DownloadGedcomWithURL.php erstellt. Kannst Du diese Datei bei Dir mit der beiliegenden Datei ersetzen und dann jeweils einen Testdownload (in der Verwaltung) und einen URL-Download (https://my-domain/webtrees/index.php?route=/webtrees/DownloadGedcomWithURL&tree=tree1&key=xxxxxxxxxxxxx) durchführen? Anschließend werden jeweils Debug-Informationen ausgegeben. Gibt es hier einen Unterschied zwischen den beiden Ausgaben? Die Debug-Version gibt folgende Informationen aus:
|
Danke für die Daten. Das ist wirklich sehr merkwürdig. Wenn das Programm jeweils mit den gleichen Daten aufgerufen wird, sollte eigentlich das gleiche passieren. Beim Aufruf aus der Verwaltung hat man Manager Rechte. Vielleicht resultiert daraus irgendein Unterschied bei der weiteren Verarbeitung innerhalb von webtrees. |
Ich habe jetzt vier Varianten probiert:
1. Download der Gedcom-Datei automatisiert über einen CRON-Job direkt auf der NAS
2. Download der Gedcom-Datei per URL-Aufruf
3. Download der Gedcom-Datei aus dem Modul heraus
4. Export der Gedcom-Datei direkt aus Webtrees-Verwaltung
Bei Punkt 1 und 2 fehlt der SUBM-Eintrag, bei 3 und 4 ist er vorhanden.
Ich weiß nicht, ob das weiterhilft.
Läßt sich mit einer Debug-Version feststellen, mit welchen Rechten bzw. User die (jeweilige) Aktion ausgeführt wird?
|
Ja, das passt zu den bisherigen Erkenntnissen: Immer, wenn der Aufruf über das User Interface von webtrees ausgelöst wird (bei 3 und 4), funktioniert es. Wenn der Aufruf über eine URL erfolgt (Punkt 1 und 2), funktioniert es nicht. |
Habe nun eine konkrete Stelle im webtrees Code im Verdacht, dass dort die Ursache liegt. Um das einzugrenzen, habe ich nochmal eine Debug-Version für eine Code-Datei erstellt, siehe Anhang. Es würde mir helfen, wenn Du temporär die webtrees-Datei "\webtrees\app\Services\GedcomExportService" ersetzen könntest und dann nochmal die obigen Versuche startest. Bitte die alte Datei vorher sichern und anschließend wieder zurückspielen. Es müsste folgende Debug-Information erscheinen:
Im Gutfall sollte $facts_in_header größer Null sein. Im Schlechtfall (Submitter fehlt) sollte $facts_in_header entweder Null sein oder kleiner als im Gutfall. Anmerkung: Die vorherige Debug-Version für die Datei "DownloadGedcomWithURL.php" kannst Du auch wieder durch die ursprüngliche Datei ersetzen. |
Parallel wäre es auch hilfreich, wenn Du die beiden Header der Gedcom-Dateien (ganz am Anfang) vergleichen könntest. Im Gutfall sollte es ca. wie folgt aussehen:
Im Schlechtfall sollten nach der Zeile "1 FILE ..." keine weiteren Zeilen enthalten sein. Das Fehlen des "1 SUBM ..." Eintrags ist ja der Kern dieses ganzen Themas. |
Im webtrees Code für Gedcom-Exporte werden "Ausstehende Änderungen" berücksichtigt. Vielleicht gibt es hier eine Wechselwirkung. Kannst Du prüfen, ob Du evtl. ausstehende Änderungen für HEAD bzw. submitter hast? |
Ausstehende Änderungen habe ich keine anstehen. Export aus der Verwaltung von webtrees:
Interessanterweise kommt bei beiden über DownloadGedcomWithURL als facts_in_header: 7, trotzdem wird bei Aufruf per URL der SUBM nicht angezeigt, bei Aufruf aus dem Modul schon. Auch wir bei Aufruf per URL die Meldung 3x angezeigt - siehe Screenshots. |
Irgendwie kann man immer mehr Dinge ausschließen und es scheint nicht mehr viel übrig zu bleiben. Anbei nochmal eine erweiterte Debug-Version, welche noch 2 weitere verbleibende Werte aus dem Code anzeigt. |
Ist das reproduzierbar, d.h. es werden jedes Mal 3 Meldungen angezeigt? Manchmal scheint webtrees auch Meldungen anzuzeigen, die von einem früheren Aufruf stammen und in einem Zwischenspeicher gelandet sind. |
Das passt ins Bild. Ich hatte schon länger die Vermutung, dass das Verhalten von den Nutzer-Rechten abhängt. Die Ausgabe von 7 bzw 4 Facts ist nun auch der Beweis, dass es von der vermuteten Code-Zeile abhängt. Werde dort nochmal genauer schauen und ansonsten im Forum nachfragen |
In dieser Richtung würde ich auch nach einer Erklärung suchen. Habe beim Herumprobieren auch schon festgestellt, dass man zum Editieren von HEAD (über Suchfeld) Adminrechte benötigt. Vielleicht speichert webtrees das dann mit besonderen Zugriffsrechten ab. Wobei es bei mir funktioniert. Es muss also noch eine weitere Bedingung dazu kommen. |
Habe bei mir nun auch ein Beispiel erzeugen können, wo der Fehler reproduzierbar auftritt. Das macht Vieles einfacher, da ich nun konkret im Code debuggen kann. Eine erste Erkenntnis ist, dass die Unterdrückung des Exports an den Datenschutzeinstellungen liegt. Wenn man in der Verwaltung für einen Stammbaum den Datenschutz aufruft, können dort Restriktionen für bestimmte Daten festgelegt werden. Beim Neuanlegen eines Stammbaums legt webtrees offensichtlich standardmäßig eine Restriktion für Übermittler an, siehe Screenshot. Aufgrund dieser Restriktion wird der Übermittler in bestimmten Fällen nicht exportiert. Wenn man als Verwalter angemeldet ist, funktioniert es jedoch. Ein schneller Workaround wäre, die Restriktion für den Übermittler im Datenschutz zu löschen. Bei mir funktioniert dann der Export auch, wenn kein Verwalter angemeldet ist. Das könnte Dir vielleicht auch kurzfristig weiterhelfen. Bzgl. einer grundsätzlichen Lösung muss ich noch weiter testen und nachdenken. Kann jetzt aber deutlich länger dauern, da ich in nächster Zeit nicht so viel dazukommen werde. |
Webtrees scheint hier tatsächlich einen Fehler zu haben. Beim Export werden für Header-Daten nicht die angeforderte Rechte-Einstellungen sondern die Rechte des eingeloggten Users herangezogen. Mit dem beiliegenden Patch müsste der Fehler behoben sein. Bei meinen Tests hat es damit funktioniert. Werde ein Issue bei webtrees melden. Nachdem es auch beim normalen Export aus der Verwaltung heraus ein reproduzierbares Fehlverhalten gibt, stehen die Chancen vmtl. ganz gut, dass es gefixt wird. |
Hallo Markus, mit der V3 funktioniert der Export tadellos. Vielen Dank dafür. |
Bei webtrees als Issue 4883 gemeldet. |
Pull Request 4884 mit Vorschlag für Code Änderungen. |
Auf Basis des Feedbacks zum webtrees Issue anbei ein Update für den Patch. Änderung: Ein SUBM Eintrag soll immer generiert werden, selbst wenn es den Datenschutz-Regeln widerspricht. Argumentation: Vermeidung eines nicht Standard konformen GEDCOM Exports hat höhere Priorität als Datenschutz. |
Vielen Dank für die Info und die V4. |
Da es bei webtrees wohl keine Änderung gibt, habe ich nun den Code von DownloadGedcomWithURL angepasst. Anbei zum Test eine beta Version. Wichtig: |
Im Moment sieht das super aus - vielen Dank für Dein Engagement. |
Habe jetzt eine Version 3.2.2 als Release veröffentlicht. |
Super - vielen Dank. Läuft im Moment 1a! |
Mit "DownloadGedcomWithURL" lasse ich täglich meine GEDCOM-Datei aus Webtrees erzeugen.
Wenn ich diese mit GedcomValidator anschaue, erscheint jedesmal der Hinweis, daß "SUBM" unter "HEAD" fehlen würde.
Erzeuge ich die GEDCOM-Datei im PlugIn manuell, ist dieser Hinweis nicht mehr vorhanden.
Ich habe mal beide Files gesichert, würde sie aber ungern hier in der Öffentlichkeit hochladen.
The text was updated successfully, but these errors were encountered: