LifeLines

LifeLines is a genealogy database program for Unix-type systems (which includes Mac OS X) and also ported to DOS/Windows environments. LifeLines is a solid genealogy program based on the GEDCOM format, but there's more. LifeLines allows one to write report generating programs in a language that has the look and feel of C. Even better, you can use report generators written by other people! Hence, a public library of such programs has come into existence.

Report Generating Programs

I formerly used Brother's Keeper to maintain my genealogy database, but exported the data to a GEDCOM file and imported it into LifeLines just so I can produce neat charts and have easy access to my genealogy data for responding to e-mail that I received on a Unix system. Over time, I learned how to modify report programs and eventually started writing some simple ones. Having some prior knowledge of PostScript allowed me to take on ps-anc.

Here are links to pages offering more details on programs I've written, modified, or simply used...

Discussion

For anyone interested in LifeLines, this discussion group is a must. Really it's a mailing list -- usefull to spread the word about report programs or share bug discoveries, or to ask for help with LL issues.

Development Edge

Want to see what the programmers have been up to? Want to help with your programming skills?

LifeLines development core:
LifeLines geneaology software -- code repository, report program collection, and more.
LifeLines downloads -- get the most recent version (scroll down and grab the latest "beta" version). Reporting bugs helps speed up development.
LifeLines Userguide, 3.0.37
LifeLines Report Manual, 3.0.37

Installation

OS options
Mac OS X
Robert (me) has put together a page to help with compiling or
simply obtaining LifeLines on Mac OS X.
Windows
Windows 95, NT, etc.
Debian GNU/Linux
LifeLines compiled for Linux on x86 machines

GEDCOM

LifeLines' native format for recording information is GEDCOM. It's a standard developed to make it easy to share genealogical data among different programs.

Standards

ftp.gedcom.org, there are also backup copies here: 5.5 Standard (PDF) | 5.5.1-5 Standard, Draft (PDF) |

How to record addresses (current and former)

After looking over the GEDCOM Standard (5.5), I have come to understand the roles of the ADDR and RESI tags. ADDR is the first tag in an address structure. On the same line with the ADDR goes the first line of a mailing address. A second or third line follows using a continuation tag (+1 CONT). Additional address features have been added for any who wish to attempt (or have software) to index or sort based on address pieces. Those additional tags are ADR1, ADR2, ADR3 (same as the lines in the mailing address, but they should not be thought of as replacements); CITY, STAE, POST, CTRY. Example:
1 NAME Joe /Smith/
1 ADDR Mr. Joe Smith
  2 CONT 105 New st.
  2 CONT Anytown, VT 09136
1 PHON (123) 555-1212
1 FAX (123) 555-1213
1 EMAI jsmith@domain.com
1 WWW www.domain.com/~jsmith/
The FAX, EMAI, and WWW tags are introduced in the 5.5.1 draft standard. ADDR tags may be used on individuals, families, events, and even submitter and repository records. This means it would be possible to write a label (PostScript output) making program to facilitate contacting 1st, 2nd, and 3rd cousins. Hint, hint ;-)
The RESI tag can be thought of as a wrapper for an address that indicates that the address was a family's or individual's place of residence in the past. That means that such an address should not be treated as a contemporary means of contacting an individual or family. Example:
1 NAME Joe /Smith/
1 RESI
  2 ADDR 105 Oak St.
    3 CONT Anytown, VT 09133
Alternatively, a PLAC node may be used in place of an ADDR node. The ADDR node allows for separation into multiple lines and provides for further clarification of the address parts, if desired.

I had gotten this backwards recently -- hence a fix to ps-anc was necessary. I had decided to flag (RESI) addresses with a '!' to indicate a 'living' address. It should be non-RESI addresses that get this treatment.

Adoption -- how to record

Here's an example of how to record this straight from an example in the GEDCOM 5.5 standard:
0 @3@ INDI
1 NAME Joe/Williams/
1 SEX M
1 BIRT
  2 DATE 11 JUN 1861
  2 PLAC Idaho Falls, Bonneville, Idaho
1 FAMC @4@
1 FAMC @9@
  2 PEDI Adopted
1 ADOP
  2 FAMC @9@
  2 Date 16 MAR 1864

In the example, family #4 is the person's birth family. Family #9 is the family that adopted the person. The fact that there are two child-to-family links for this person means that navigation to either family should be possible. The ADOP node refers to the adoption event. The ADOP event isn't necessary to indicate an adoption, and by itself, it cannot indicate who any parents are.

To pull this off in a genealogy program, it is probably necessary to add the person as a child to both families (if known) and manually edit the GEDCOM record to flag one of the child-to-family links as adoptive. Then add the adoption event as an individual detail.

Various links

These are really redundant, considering the links provided at the SourceForge home of the LifeLines development project. So consider these few links as highlights.

Almost all programs for LifeLines can be found at the PSU Genealogy FTP Site.

LifeLines ported to DOS, by Dan Hirschberg.

Genealogists who admit they use LifeLines

Check out what other people are presenting on the web with LifeLines reports. (These are just web sites gleaned from the internet via simple search.)


[ Robert's Genealogy Page ]