Ahnenwege

Plugins, Sprachdateien, Rahmen & Hintergrundgrafiken
Benutzeravatar
MarcP
Beiträge: 845
Registriert: 19.04.2010, 16:30
Wohnort: Niederkassel

Beitrag von MarcP »

Neue Versionen kann jeder Admin oder PluginModerator hochladen.

Die erste Version mach ich besser das es ABStore kompatibel ist.
Mit welche Versionsnr soll es eigendlich starten?

Ich habe gerade mal deine abp Datei durchgeschaut. Du machst da ziemliche Klimmzüge um alles unter EigeneDateien zu kopieren. Das ist nicht nötig. Ahnenblatt legt seit neuesten ein eigenes Verzeichniss unter \Eigene Dokumente\Ahnenblatt\ mit diversen Unterordnern für Plugins, Rahmen usw an.
So wird das Zugriffproblem umgangen. Das ist warscheinlich auch dein Ziel bei der rumkopiererei.

Auch wäre es besser ein Unterverzeichniss für alle Dateien des Plugins anzulegen. Nur die abp bleibt im Plugin Hauptverzeichniss. Schau dir mal andere Plugins an. Ist um Ordnung zu halten.

Ich kann dich da gerne unterstützen.

Gruß
Benutzeravatar
Marcus
Administrator
Beiträge: 7410
Registriert: 19.01.2006, 21:55
Danksagung erhalten: 1 Mal

Beitrag von Marcus »

wolfgang8 hat geschrieben: Das Problem beim GEDCOM-Export für das Plugin (exportierte Datei wird zur aktuellen Datei) ist momentan noch offen - vielleicht kann Dirk dazu eine Lösung finden.
Ist das immer noch so Marc? Ich dachte da gäbe es Befehl für die abp damit das nicht passiert. :? Bin gerade nicht so drin im Thema ...
Falls das noch so ist, sollte Dirk, dass irgendwie ändern, da der Wechsel recht unauffällig und fehleranfällig (man editiert ja einfach in der falschen Datei) ist.
Marcus


----------------------------------
#Wunschliste_1192_Erledigt_V2.97
Zuletzt geändert von Marcus am 25.01.2017, 03:14, insgesamt 2-mal geändert.
Benutzeravatar
Jürgen T.
Beiträge: 1607
Registriert: 29.12.2006, 14:29
Wohnort: Bernkastel-Kues (Mosel)

Beitrag von Jürgen T. »

Hallo,

ich bin zwar nicht Marc :wink: , erlaube mir aber einfach mal zu antworten.

Das passiert auch wenn man im Plugin als csv-Datei abspeichert.
Ein Befehl um dieses Verhalten zu umgehen ist mir nicht bekannt.

Ich erkenne aber noch nicht das Problem dabei.
Die Ausgangsdatei wird lediglich beim nächsten Start von Ahnenblatt unter "letzte Datei öffnen" angeboten. Das ist doch richtig so.

(Ich sehe es schon kommen, garantiert habe ich die Problemattik nicht verstanden :oops: )
Gruß
Jürgen
Benutzeravatar
MarcP
Beiträge: 845
Registriert: 19.04.2010, 16:30
Wohnort: Niederkassel

Beitrag von MarcP »

Ich weiss damit jetzt garnichts anzufangen. :shock:

Meine Plugins sind alles Einbahnstrassen. Da kann man nichts zurückspeichern. ;-)

Den Effekt das die "Plugin csv/ged" beim "letzte Datei öffnen" erscheint konnte ich nicht nachstellen.
Benutzeravatar
Jürgen T.
Beiträge: 1607
Registriert: 29.12.2006, 14:29
Wohnort: Bernkastel-Kues (Mosel)

Beitrag von Jürgen T. »

Hallo Marc,

das meinte ich nicht.
Nicht die "Plugin csv/ged" erscheint beim "letzte Datei öffnen" sodern die Datei, die beim Ausführen des Plugins geöffnet war. Das ist ja auch korrekt so. Deshalb sehe ich auch kein Problem.
Gruß
Jürgen
Benutzeravatar
MarcP
Beiträge: 845
Registriert: 19.04.2010, 16:30
Wohnort: Niederkassel

Beitrag von MarcP »

Hallo Jürgen
nö das ist korrekt. Aber das kann ja Wolfgang ja nicht gemeint haben. (?)
wolfgang8
Beiträge: 112
Registriert: 30.09.2010, 19:19

Beitrag von wolfgang8 »

Hallo Marc

Danke für dein Unterstützungsangebot!

-Die aktuelle Version von Ahnenwege ist 1.0 - ist jetzt auch in der abp-Datei eingetragen.

-Ja, die Zugriffsrechte sind ein Grund für's Kopieren der Dateien vom Ahnenwege Plugin-Ordner in den Ordner "Eigene Dateien\Ahnenwege".
Es gibt jedoch auch noch andere Gründe. So z.B. die interne Verweisauflösung von Excel, die es erfordert, dass xls- und xla-Dateien sich im selben Ordner befinden.
Weiters ist die Möglichkeit, Ahnendaten an Dritte weiterzugeben, ein Grund dafür. In diesem Fall genügt es, einfach eine Kopie des Ordners "Eigene Dateien\Ahnenwege" an die gewünschte Person zu senden - der Ordner ist quasi eine Schnittstelle. Und durch Erstellen einer Verknüpfung auf "Eigene Dateien\Ahnenwege\Ahnenwege.xla" (z.B. am Desktop) kann Ahnenwege auch als eigenständige Anwendung gestartet werden.
Durch das Kopieren ist Ahnenwege auch unabhängig vom Installationsort der Plugins (ob im Programm-Ordner oder unter "Eigene Dateien") und somit ist auch die Kompatibilität zu älteren Ahnenblatt Versionen sichergestellt.
Da es sich um relativ kleine Dateien handelt, ist auch der Zeitaufwand für's Kopieren beim Plugin-Start vertretbar. Ideal wäre ein Schalter für die Funktion $COPY, der ermöglichen würde, dass die Datei nur dann kopiert wird, wenn sie im Zielordner nicht vorhanden ist, bzw. sich das Änderungsdatum von Quell- und Ziel-Datei unterscheidet.

-Bis auf die abp-Datei befinden sich nun alle Programmkomponenten im Unterverzeichnis "Ahnenwege".

-Das Archiv mit der aktuellen Version befindet sich bei meinem Post vom 21.03. - Update 03.


Hallo Markus, Jürgen und Marc

Nach Tests mit der Ahnenblatt Version 2.94 stellt sich das Verhalten von Ahnenblatt beim Datenexport für Plugins für mich so dar:

1. Testablauf:
-Ahnenblatt starten.
-Erstellen einer neuen Ahnendatei die eine Person "GebnTest VornTest" enthält. Datei Ersteller Name = "Test" (bei den Eigenschaften).
-Speichern der Ahnendatei unter dem Datei-Namen "Test.ahn".
-Plugin Ahnenwege starten. -> "Test.ahn" wird unter dem Namen "Ahnenwege.ged" in das Temp-Verzeichnis exportiert und von Ahnenwege nach "Eigene Dateien/Ahnenwege" verschoben. In der Titelleiste von Ahnenblatt wird "[Test.ahn]" angezeigt.
-Bei der Person "GebnTest VornTest" in den Anmerkungen den Text "Test" eigetragen und auf "OK" geklickt. -> In der Titelleiste von Ahnenblatt wird nun "[Ahnenwege.ged*]" (?) angezeigt.
-Button "Datei speichern" angeklickt. -> In der Titelleiste von Ahnenblatt wird nun wieder "[Test.ahn]" angezeigt.
-Ahnenblatt beendet und neu gestartet. "Test.ahn" wird automatisch geöffnet (da die Option "beim Programmstart zuletzt benutzte Datei laden" aktiviert ist). Kontrolle der Daten -> Änderungen bei der Person "GebnTest VornTest" wurden in der Datei "Test.ahn" gespeichert.

2. Testablauf:
-Ahnenblatt starten.
-Zuvor erstellte Ahnenblatt-Datei "Test.ahn" öffnen.
-Plugin Ahnenwege starten. -> "Test.ahn" wird unter dem Namen "Ahnenwege.ged" in das Temp-Verzeichnis exportiert und von Ahnenwege nach "Eigene Dateien/Ahnenwege" verschoben. In der Titelleiste von Ahnenblatt wird "[Test.ahn]" angezeigt.
-Ahnenblatt beendet und neu gestartet. Es erscheint die Meldung "Datei 'Ahnenwege.ged' nicht gefunden" (die Option "beim Programmstart zuletzt benutzte Datei laden" ist aktiviert).
-Nach dem Mausklick auf "OK" muss die Datei "Test.ahn" manuell geöffnet werden.


Aus meiner Sicht handelt es sich beim Öffnen und Speichern von Dateien durch den Benutzer und dem Datenexport für Plugins um zwei verschiedene Bereiche, die sich gegenseitig nicht beeinflussen sollten.
Der Datenexport für Plugins ist nur eine Datenweitergabe an ein externes Programm, das diese Daten anschließend weiterverarbeitet. Auf vom Benutzer aktuell oder zuletzt geöffnete Dateien und in der Titelleiste angezeigte Dateinamen sollte der Datenexport für Plugins aus meiner Sicht keine Auswirkungen haben.
Auch das Anlegen von BAK-Dateien, falls die Export-Datei bereits vorhanden ist, wäre nicht unbedingt notwendig, da es sich nur um temporäre Daten handelt. Durch das Anlegen der BAK-Dateien wird außerdem das Bereinigen des Temp-Ordners dorch das Plugin erschwert. Es bleiben dann meist ungelöschte Dateien zurück.


Herzliche Grüße
Wolfgang
Benutzeravatar
Jürgen T.
Beiträge: 1607
Registriert: 29.12.2006, 14:29
Wohnort: Bernkastel-Kues (Mosel)

Beitrag von Jürgen T. »

Hallo Wolfgang,

danke, jetzt habe ich verstanden was Du meintest.
wolfgang8 hat geschrieben:Aus meiner Sicht handelt es sich beim Öffnen und Speichern von Dateien durch den Benutzer und dem Datenexport für Plugins um zwei verschiedene Bereiche, die sich gegenseitig nicht beeinflussen sollten.
Der Datenexport für Plugins ist nur eine Datenweitergabe an ein externes Programm, das diese Daten anschließend weiterverarbeitet. Auf vom Benutzer aktuell oder zuletzt geöffnete Dateien und in der Titelleiste angezeigte Dateinamen sollte der Datenexport für Plugins aus meiner Sicht keine Auswirkungen haben.
Auch das Anlegen von BAK-Dateien, falls die Export-Datei bereits vorhanden ist, wäre nicht unbedingt notwendig, da es sich nur um temporäre Daten handelt. Durch das Anlegen der BAK-Dateien wird außerdem das Bereinigen des Temp-Ordners dorch das Plugin erschwert. Es bleiben dann meist ungelöschte Dateien zurück.
Dem kann ich nur zustimmen.
Gruß
Jürgen
Benutzeravatar
MarcP
Beiträge: 845
Registriert: 19.04.2010, 16:30
Wohnort: Niederkassel

Beitrag von MarcP »

Wenn ich das richtig verstanden habe.
Ich denke es ist ein Feature und kein Bug.
Also gewollt um so einen automatischen Rückkanal für Datenänderungen aus Plugins zu haben.
Es ist bisher nur nicht aufgefallen da mom alle Plugins, welche eine Ahnenblatt csv oder gedcom schreiben, eine neue anlegen statt die Übergebene zu benutzen.
Jürgen du hast doch einige solcher Plugins.

Wenn das Verhalten wie bei Wolfgang nicht gewünscht ist sollte, sollte dies durch eine Option in der apb steuerbar sein.

p.s. du benutzt in der abp mehrmals den festen string "eigene dateien". Ich habs noch nie getestet. Denke aber auf nicht deutschen Win Installationen funktioniert das nicht.
und warum lässt du die Ausgabeged in Temp speichern wenn die Excel sich diese dann eh rüberholt. Nur so als Idee. Ist natürlich deine Sache wie es machst. Ich gebe auch zu ich verstehe deine Beschreibung in der apb nicht so ganz. Glaub das ganze ist wohl ein Workaround.
wolfgang8
Beiträge: 112
Registriert: 30.09.2010, 19:19

Beitrag von wolfgang8 »

Hallo Marc

Danke für deine Anmerkungen - ist für mich eine willkommene Gelegenheit die eigenen Lösungen nochmal zu überdenken... :-)


->Den fixen String "Eigene Dateien" verwende ich deshalb, weil mir keine Umgebungsvariable bekannt ist, die auf den "Eigene Dateien"-Ordner des Benutzers verweist - vielleicht kannst du mir da weiterhelfen?
Auf anderssprachigen Windows-Systemen sollte es jedenfalls funktionieren, da mit den beiden abp-Befehlen

3=$MAKEDIR(%HOMEDRIVE%%HOMEPATH%\Eigene Dateien)
4=$MAKEDIR(%HOMEDRIVE%%HOMEPATH%\Eigene Dateien\Ahnenwege)

die Ordner angelegt werden, falls sie nicht vorhanden sind. Hab's auf meinem System mit "Eigene Dateien1" erfolgreich getestet.


->Die GEDCOM-Datei wird deshalb in den Temp-Ordner exportiert, da Ahnenwege durch die Existenz dieser Datei erkennt, dass es als Ahnenblatt-Plugin gestartet wurde und dann sofort den Dialog "Ahnendaten auswählen" anzeigt.
Mit dem Workaround hast du vollkommen recht, da es beim direkten Aufruf der xla-Datei mit

9=%HOMEDRIVE%%HOMEPATH%\Eigene Dateien\Ahnenwege\Ahnenwege.xla

nicht möglich ist, Parameter zu übergeben. Der direkte Aufruf von Excel.exe, bei dem Parameter übergeben werden könnten, ist leider nicht möglich, da das Installationsverzeichnis von Excel nicht zuverlässig ermittelt werden kann.


Zum Plugin-Datenexport:
Eine "Rückkanal"-Funktionalität, so wie von dir beschrieben, ist natürlich auch denkbar. Nur ist mir nach meinen bisherigen Tests nicht klar, wie das funktionieren soll. Interessant wäre auch, ob das bei meinen Test's festgestellte Programmverhalten so gewollt ist, oder ob es sich dabei um einen Bug handelt.

Vielleicht kann Dirk dazu ein paar klärende Sätze schreiben?


Grüße
Wolfgang
Benutzeravatar
MarcP
Beiträge: 845
Registriert: 19.04.2010, 16:30
Wohnort: Niederkassel

Beitrag von MarcP »

Habe es hochgeladen:
Plugin: Ahnenwege

in der abp habe ich noch ein paar sachen reingeschrieben. Als minimale AB Version habe ich mal 2.90 gewählt da ich nicht weiss wie es mit der Kompatibilität aussieht. Keine Ahnung ob AB das überhaupt auswertet...können es ja noch ändern.

Erklärung zu der abstore Sektion in der abp:
http://www.ahnenblattportal.de/viewtopic.php?t=5036

Variable für eigene Dateien habe ich auch nichts auf die schnelle gefunden.
Im .Net Framework gibs das . Hilft leider hier nicht.
https://msdn.microsoft.com/de-de/librar ... older.aspx
oder wenn dich damit auskennst schaltest ein Programm davor was das kopieren macht.
Benutzeravatar
Jürgen T.
Beiträge: 1607
Registriert: 29.12.2006, 14:29
Wohnort: Bernkastel-Kues (Mosel)

Beitrag von Jürgen T. »

Hallo Marc,
MarcP hat geschrieben:Jürgen du hast doch einige solcher Plugins.
ja, z.B. das Plugin "Quelle ergänzen".
Dort erstelle ich eine neue csv-Datei. Als Standard ist der Dateiname "mitquell.csv" voreingestellt, man kann ihn aber beliebig ändern.
Am Ende des Plugins kann man die neue Datei automatisch mit Ahnenblatt öffnen. Dabei wird jedoch eine zweite Instanz von Ahnenblatt gestartet.

Der Dateiname in der Titelleiste der ersten Instanz bleibt unverändert.
Auch gibt es keine Auswirkungen auf die "zuletzt geöffnete Datei".
Gruß
Jürgen
wolfgang8
Beiträge: 112
Registriert: 30.09.2010, 19:19

Beitrag von wolfgang8 »

Hallo Marc,

das freut mich - danke für´s Hochladen in den Downloadbereich!
Um Redundanzen zu vermeiden, hab ich das Zip-Archiv in meinem Post vom 21.03. (Update 04) entfernt.

Ahnenwege ist mit Ahnenblatt ab der Version 2.74 kompatibel.
Wahrscheinlich auch mit älteren Versionen, da es GEDCOM-Datein als Datenschnittstelle verwendet - hab ich allerdings nicht getestet.

Ja, ein eigenes Startprogramm für Ahnenwege wäre eine Möglichkeit, um die Problematik mit dem "Eigene Dateien"-Ordner zu lösen. Würde jedoch eine Lösung mit "Bordmitteln" bevorzugen - vieleicht lässt sich da noch etwas finden.


Wolfgang
Benutzeravatar
Marcus
Administrator
Beiträge: 7410
Registriert: 19.01.2006, 21:55
Danksagung erhalten: 1 Mal

Beitrag von Marcus »

Auf den Ordner "Dokumente" sollte man seit Windows 7 (oder Vista?) über:
%USERPROFILE%\Documents

zugreifen können. Ist allerdings nicht getestet.

Für ein paar generelle Ideen/Ansätze (bzgl. Zugriff per C# (.NET) oder über die Registry) siehe:
http://stackoverflow.com/questions/3492 ... -directory
Marcus


Nachtrag:
Für VBA gibt es scheinbar auch eine Lösung über "SpecialFolders":
http://stackoverflow.com/questions/7751 ... excel-2003
Antworten