Lifelines
Bezeichnung
- LifeLines
Version
- 3.0.62.1 (Linux, Windows) (08.10.2007)
Lauffähig unter folgenden Betriebssystemen
- Linux, BSD, MAC-OS-X, MS Windows (ungetestet)
Sprache
- englisch, deutsch, französisch (diverse weitere)
Beschreibung
Lifelines ist ein Open Source Projekt zur Verwaltung von Ahnendaten, im Original geschrieben von Tom Wetmore. Es kommt ohne eine grafische Oberfläche aus. Die Bedienung erfolgt über die Textkonsole. Dennoch ist die Software recht einfach zu bedienen. Die Daten werden direkt im Gedcom Format gespeichert und bearbeitet. Lifelines greift bei der Bearbeitung auf einen externen Editor zurück. Empfehlenswert sind hier emacs oder vi, für die es auch Syntaxdateien gibt. Es kann aber auch jeder andere Editor verwendet werden. Der Benutzer muss für die Arbeit mit Lifelines aber zwingend Erfahrungen mit Gedcom haben.
Das mächtigste an Lifelines ist die Scriptengine, die es ermöglicht über eine recht einfache Scriptsprache alle Arten von Auswertungen durchzuführen, wie z.B. Grafiken generieren, LaTeX Dokumente erstellen usw. Es können damit auch Gedcom Dateien bearbeitet werden um Umlaute umzusetzen, noch lebende Personen aus der Datei zu entfernen, Duplikate zu finden etc. Verschiedene Scripte werden bereits mitgeliefert. Die Scriptsprache verwendet Elemente der Programmiersprache "C".
Die Scripte werden als Textdatei mit der Endung "ll" gespeichert. Hier ist ein sehr einfaches Beispiel eines solchen Scripts:
/*
* @progname Hello, world!
* @version 1.0
* @author Lars Eighner
* @category programing tutorial
* @output STDOUT
* @description Tutorial example one.
*/
proc main(){
print("\nHello, world!\n")
}
Es lassen sich auch Bibliotheken mit häufig verwendeten Funktionen erstellen. Im folgenden Script Beispiel wird die Bibliotheksdatei gedcom.ll eingebunden um daraus die Prozedur ged_write() zu verwenden:
/* gedn.ll - N generation GEDCOM file
*
* The output of this report is a GEDCOM file of the
* following:
*
* N generations of ancestors,
* all spouses and
* all children of these ancestors and
* all descendents of a person,
* as well as the person him/herself
*/
include("gedcom.ll")
proc main ()
{
indiset(set1) /*declare an indi set*/
indiset(set2) /*declare another indi set*/
indiset(set3) /*declare another indi set*/
getindi(ind1) /*ask user to identify person*/
if(ind1) {
getintmsg(maxgen, "Number of Generations")
print("Finding Ancestors... ")
addtoset(set1, ind1, 1)
set(set2, ancestorset(set1))
print(d(lengthset(set2)), nl())
print("Triming Ancestors to ", d(maxgen), " generations... ")
forindiset(set2, ind1, ival, icnt) {
if(le(ival,maxgen)) {
addtoset(set3, ind1, ival)
}
}
print(d(lengthset(set3)), nl())
set(set2, spouseset(set3)) /* add their spouses */
set(set1, union(set3, set2)) /* combine set1 and set2 */
set(set2, childset(set1)) /* find everyone's children */
set(set1, union(set1, set2)) /* combine set1 and set2 */
call ged_write(set1) /* write out GEDCOM file */
}
}
Hersteller
- LifeLines development project
Autor
- Tom Wetmore
Arbeitsspeicheranforderung
keine Angaben
min. Festplattenplatzbedarf
- 12 MB Programm + Datenbank je nach Inhalt, wenige MB
min. Rechnertyp
- Im Prinzip jedes System, auf dem Linux oder Windows läuft
Lizenz
- MIT
Preis
- kostenlos