Hallo in die Runde,
interessante Diskussion hier.
Bevor ich hier in meinem etwas lustig-ironischen Hausaufsatz einige Ansichten darlege, will ich vorausschicken, dass ich Ahneblatt als sehr gelungen ansehe. Es ist praktisch, es ist intuitiv und es ist sehr umfangreich. Das schreibe ich, damit nicht der Eindruck entsteht, dass ich hier abnörgeln will. Es ist eine prima Software! Und ich bezahle auch 59 Eur oder mehr dafür - das wäre kein Thema. Nur um das mal vorweg zu schicken. Wie sagt man so schön, achtung Spolier! Wer keine Kritik lesen möchte, bitte hier aufhören zu lesen: Jetzt kommt also etwas herzliche Kritik
:
Ich möchte Martin-D zuerst einmal vollumfänglich zustimmen. Eine ähnliche Diskussion hatte
sich schon hier in meinem Thred ergeben.
Ein Plugin sollte über die ihm angebotene Schnittstelle weitgehend Zugriff auf die Datenhaltung und möglw. auch auf einige Funktionen des zugrundeliegenden Systems erhalten. Das macht nun mal ein Plugin (fachlich genauer ist es ein Objekt/Dienst hinter einem Interface) aus. Im Grunde schränkt ja bereits der Entwickler / resp die Entwicklerin durch seine Gestaltung des Interfaces den Zugriff per definitionem ein. Er/sie kann durchaus wichtige Mehrwerte der Software durch das Interface verbergen und nur den Zugriff auf die Rohdaten (ich meine hier die vom Benutzer / der Benutzerin eingepflegte "eigene"! (Stammbaum-) Daten zulassen. Da wir hier aber nicht bei Microsoft sind oder über das Rippen von 4k-BlueRays sprechen, wäre das Anführen eines Grundes zum Verbergen oder Verschlüsseln von Funktionen in Ahnenblatt nicht plausibel...
(vorsicht Ironie:) Wir ich aber sehe, definieren die Experten "Plugin" und "Interface" hier aber abweichend...
Das ist kein Problem
Ich bin immer offen für einen Austausch...
Martin-D hat geschrieben:bjew hat geschrieben:
Technisch: Die Plugin-Schnittstelle ist nicht gedacht, in die innere Struktur von Ahnenblatt einzugreifen, dort (in der Datenbank) Änderungen vorzunehmen - warum auch?
Ist nicht genau das der Sinn eines Plug Ins, die internen Daten oder deren Anzeige zu ändern und so zur Laufzeit Änderungen und Erweiterungen vorzunehmen die es nicht oder noch nicht gibt?
(vorsicht Ironie): Ich kenne keine Interfaces, die in die innere Struktur einer Software derart eingreifen, dass sie Änderungen daran vornehmen können. Man kann über Interfaces nur bereits angelegte Funktionalitäten nach Außen öffnen, um sie anderen Softwarekomponenten zugänglich zu machen. In der Regel tut man das, damit sie der äußere Anwender / Caller / User / Dienst was auch immer, nicht noch einmal selbst implementieren muss... Es ist also eine unrichtige Auffassung aus der Sicht der Informationstechnik, dass durch ein Interface "in die innere Struktur von Ahnenblatt" eingegriffen wird. Es wird nur ein Teil der inneren Struktur (wenn ich mich dieser Terminologie hier einmal anschließen möchte
) nach Außen hin
nutzbar gemacht.
Das Konzept des Interfaces wurde ja prinzipiell entwickelt (wurde notwendig), um Isoloation und Kapselung zu ermöglichen (besser, um Kapselung definiert zu durchbrechen). Ich will aber nicht ausschweifen, kann man alles im Kompendium Informatik lesen...
dann folgt aber noch ein sehr wichtiger Halbsatz:
bjew hat geschrieben:
...in die innere Struktur von Ahnenblatt einzugreifen, dort (in der Datenbank) Änderungen vorzunehmen - warum auch?
1. eine technische Rückfrage oder eine Empfehlung mit - warum auch? - zu beantworten ist grundsätzlich nicht sinnvoll...
2. und in der Datenbank Veränderungen vorzunehmen?? Also. Darum geht es ja gerade: In meinem Post oben, hatte ich ja nach einem
Lesezugriff und
nicht Schriebzugriff gefragt, um umfangreiche Kataloge auszuleiten. Die Antworten in dem Thread sind nun teilweise erhellend, teilweise auch wieder der Art: "warum auch??" Ich hatte ja dort geschrieben, das ich eine GEDCOM DB habe die 151.000 +-1000 Personen enthält. Der Hinweis auf einen CSV Export ist schon lustig. Der dauert auf meinem Hochleistungssystem mit 64GB RAM und vielen schnellen SSD mehr als 10min. Habe ich eine Änderung, dann gehe ich Kaffeetrinken. Nun, zugegeben!
Das ist nicht die Alltagsanwendung von Ahnenblatt! und nochwas! Ahnenblatt arbeitet auch in diesem Bereich überaus stabil! Das möchte ich hier ausdrücklich lobend erwähnen!
Also ein lesender Zugriff auf den (meinen eigenen?) Stammbaum ist hier offs. nicht gewünscht?! Verstehe ich das richtig? Man nennt das in der IT auch Gatekeeper-Prinzip... Ich hoffe sehr!, dass sich Ahnenblatt nicht der verbreiteten Unsitte anschließt (die kommerzielle Softwareanbieter verfolgen), nämlich die, dem Anwender / der Anwenderin eine Plattform zu bieten, in der er/sie ihre Daten gutwillig einpflegt, um sie dann durch schrittweise Kommerzialisierung und möglw. Verschlüsselung der DB dem Anwender schließlich irgendwann zu entziehen. Das wäre der falsche Weg!
Man kann dieses Verfahren bei Android und auch bei GoPRO kontinuierlich mitverfolgen. GoPro bietet beispielsweise eine einfach Android App für seine prima Kameras. Die Android App kann auch direkt die Fotos von der Kamera herunterladen. Aber sie sind nicht mehr zugänglich (nicht ohne Tricks) und obwohl es
meine Fotos auf
meinem Android-Gerät sind, kann ich nur durch Zukauf eines Abo-Paketes diese Fotos von meinem Android-Gerät wieder "frei" bekommen.
Diese Unsitte ist sehr beliebt (einige Genealogie-Plattformen machen das ja so, erst haben die User kostenlos ihre Daten eingepflegt und ab 01.07.xxxx ist dann nur noch der Abo-Zugang möglich und Du bist Deine Daten los!) und nicht Benutzerfreundlich... Aber ich denke, Ahnanblatt hat das nicht geplant
- oder?
Martin-D hat geschrieben:Ich zumindest verspüre keinen Drang ein Plug In zu schreiben, dass dann nur in Ahnenblatt läuft, sonst keinen Mehrwert hat, welches ich genauso für beliebige Gedcom Dateien als externes Programm schreiben kann.
und
Martin-D hat geschrieben:Warum sollte man sich durch eine schlecht dokumentierte Schnittstelle quälen, wenn man in einem separaten Programm alle Freiheiten hat und versionssicher ist?
Dem kann ich nur zustimmen!
Also kurz und gut:
Ahnenblatt ist gute Software, mit viel Engagement erstellt, preiswert!, mehr als preiswert!, intuitiv bedienbar und stabil lauffähig! Das sei unbestritten!
Aber es hat auch noch viel unentdecktes Potential.
Und jetzt kommen wir in das Land der Träume. Ich darf mal träumen?
1. Vielleicht könnte man es auf .NET oder C# portieren? Nicht damit Microsoft davon was hat, sondern damit man möglw. eine Desktop-Basis bekommt, die langfristig gewartet wird und professionell ist. Meinetwegen kann man auch für eine langfristige Interoperabilität / Plattformunabhängigkeit Java verwenden...
2. Vielleicht könnte man den Einbau eines professionellen modernen Interfaces zu Word/Excel/OpenOffice erwägen?
3. Vielleicht könnte man langfristig eine modernere objektorientierte dynamischere Darstellung der Stammbaumansicht in Betracht ziehen (
so etwas gefällt mir sehr)
4. Das visuelle Interface
könnte sich hier orientieren. Mit dieser Methode sind auch (genetisch) erbliche Properties (ich schreibe absichtlich nicht Krankheiten, man kann damit noch viel mehr vererben...) darstellbar (kann bisher keine Ahnensoftware!, wäre ein riesen Alleinstellungsmerkmal!), also Vater hatte Krebs, Kinder haben auch diese Disposition... (das ist auch nicht trivial, denn häufig fragt man sich, warum sterben alle Kinder im Alter unter 3 in dieser Stammlinie o.ä.?) Man kann damit auch
nichtkrankheitsbezogene Properties vererben lassen, wie Vater war König von England, Sohn ist also Prinz von England etc.
5. jetzt was zum Forum. vllt. könnte man das Forum von Ahnenblatt etwas zugänglicher gestalten. (vorsicht Ironie!) Ich meine phpBB ist noch aus Vorkriegszeiten
, most hacked und unhandlich. Da gibt es viele kostenlose, praktikablere, bessere Alternativen.
6. 2 x träum... Vielleicht könnte man das "Unternehmen Ahnenblatt" etwas öffnen. Also es gibt ja git. Heutzutage geht alles über git. Dort kann man der interessierten community möglw. durch sharing etwas Mitarbeiterplatz einräumen. Am Ende Entscheiden ja immer die Core-Entwickler über den Merge oder den Pull. Das ist bei großen Projekten wie Linux-Kernel o.ä. überall so. Teilhabe ginge meinetwegen durch ein gut dokumentiertes Interface, worauf sich die Freaks konzentrieren können. Da könnte man dann prima eigene Plugins aufsetzen. Die müssen ja nicht gleich in die DB schreiben dürfen... und letzlich wäre das aber auch kein Problem mit dem Schreiben. Mal so gesagt: Wer sich seinen Datenbestand zerschießen möchte, der darf das doch tun - oder? Wenn ich Software entwickle, oder auch nur, wenn ich Normaluser bin: Ich selbst habe immer zwei Sicherheitskopien hier liegen und nicht nur die von Ahnenblatt erstellten! Also da gibts doch eigentlich kein Problem - auch nicht mit dem Support... jedem steht es Frei den Hausgeist del C:\*.* zu rufen
Soweit mein Hausaufsatz!
Herzliche Grüße vom
Theo