File Modified: 01/01/2006 02:51:06 pm
Acknowledgements
Thanks to Tom Wetmore for creating LifeLines and making it an open source project!
Many thanks to the team of programmers who have continued to improve LifeLines. Chris Eagle, D.A. Bright, Dave Furstenau, David Morris, edge, James Morrison, Jens Arvidsson, Jerry James, Jesper Zedlitz, John F. Chandler, Marc Nozell, Matthew Emmerton, Paul B. McBride, Perry Rapp, Petter Reinholdtsen, Phillip David, Rob Fugina, Robert Simms, Steve Dum.
I especially want to thank all of the individuals from the LINES-L Mailing List who gave ideas for topics, made suggestions, gave correction, and answered a slew of questions. Without them, this effort would have been only what my knowledge contained. This is truly a team effort. I have learned much, and become a more knowledgeable LifeLines user in the process.
Thanks to: Perry Rapp, Steve Dum, Frank Flaesland, Christopher Sawtell, Jim Smilanich, Tom Wetmore, David Wolfskill, David Martin, Richard Grubb, Matt Emmerton, and Peter Fales. If I have missed anyone, it is simply an oversight. Let me know, and I will add your name to the list.
LifeLines is a free and open source genealogy program to help with your family history research. It has native versions for Unix-like, Mac, and Windows operating systems.
The format of the data as presented to the user for viewing, data entry, and updating follows the GEDCOM format.
The real power of LifeLines is its scripting ability. There are a number of LifeLines reports (aka scripts) that generate all manner of output -- ahnentafels, ancestor/descendent reports, formatted ancestor reports, beautiful books of all ancestors, fan charts of ancestors, vital records of all individuals in a format suitable for importing to palm pilot databases (specifically DB which is also hosted here on SourceForge). All the reports are included in the kit.
Several reports can do error and sanity checking of data; such as deaths before births, extreme May-December marriages, etc.
See: What is GEDCOM?
[ Top of Page ]
[ Top of Page ]
Questions about LifeLines and suggestions for improvement may be directed to the LINES-L discussion list: http://www.rootsweb.com/~nozell/lines-l/.
There is a FAQ for the list at: http://www.rootsweb.com/~nozell/lines-l/FAQ/LINES-L.html.
Subjects that are allowed are usage questions, how to get LifeLines working, error messages, advice on how to enter the correct GEDCOM information, how to get a report script to work, etc.
Be sure to change the Reply To address to LINES-L@LISTSERV.NODAK.EDU so that you get an answer.
Please review this FAQ and review the documentation before posting a question.
The ll-userguide is the User Manual. The ll-reportmanual is the Report Writing Manual. Both are found in the documentation directory.
On Windows, the Documentation is found in C:\LifeLines\docs.
On Linux, the Documentation is located in /usr/share/doc/lifelines-version of lifelines (i.e. lifelines-3.0.49)/
Other useful information is found in the comments of the LifeLines configuration file, and in the comments of each report.
[ Top of Page ]
Lifelines was written by Tom Wetmore circa 1991-1994 and he has now placed it under an MIT-style license. Tom no longer works on LifeLines, but does occasionally participate on the LINES-L mailing list. His original website was http://www.bartonstreet.com/software/lines but is no longer valid. Historians can visit the wayback machine if they desire to see it.
Currently, LifeLines is maintained and enhanced by a team of dedicated volunteers on SourceForge.
[ Top of Page ]
[ Top of Page ]
Post it to the LINES-L list, and then, if you do not see a response saying that it is resolved in a week or so, post it to the SourceForge bug list.
If you have multiple items to report, rather than one large email to the list, please submit them individually via the SourceForge bug list.
Having small, concisely defined work items makes it easy for the volunteer programmers to sit down and knock off a couple of them in an hour or two some evening.
When submitting a bug report some items are always useful to include:
Operating System:
Version of LifeLines:
Process/Report/Documentation you used:
If you find a problem with a report, it is often helpful to contact the report author(s). Usually their name and email address is in the comments of the report.
[ Top of Page ]
[ Top of Page ]
If you are a programmer on the project, you have access to do this via CVS.
If you are not a programmer on the project: (This works for reports, documentation, and even coding changes.)
Post a new patch on the LifeLines SourceForge site, saying that it is a new version of 'X', and what is changed or fixed or improved, on the patch list, and then edit the patch and attach (upload) your file to it.
Go here
http://sourceforge.net/projects/lifelines
and click on Patches at the top
or go directly here
http://sourceforge.net/tracker/?group_id=852&atid=300852
Then post a note to the LINES-L list saying you have done that, and asking someone to check it in to CVS.
[ Top of Page ]
Any text editor will work with LifeLines, for example vim or emacs on Unix-like systems, or Notepad on Windows.
Vim and emacs are also available for Windows and many other operating systems.
You may also specify your favorite text editor.
If you use a text editor with a tabbed interface, e.g. NoteTab on Windows, or gedit or Bluefish on Unix-like systems, you will want to use an instance that does not require multiple tabs. This is because the text editor must be closed once the edits or new entries are finished to send a signal to LifeLines that there is something for it to do, i.e. save your changes.
vim: http://www.vim.org/
emacs: http://www.gnu.org/software/emacs/
NoteTab: http://www.notetab.com/
[ Top of Page ]
[ Top of Page ]
The LifeLines FAQ may be obtained from the LifeLines website:
http://lifelines.sourceforge.net/faq.html.
The LifeLines FAQ may also be obtained from the editor's website: http://kairoscomputers.com/~notlimaH/lifelinesFAQ.htm.
[ Top of Page ]
[ Top of Page ]
[ Top of Page ]
[ Top of Page ]
[ Top of Page ]
[ Top of Page ]
Please review the index.html file in the Reports directory. This will explain all of the reports included with LifeLines. If you need something not covered by the standard reports, you can write your own. See the ll-reportmanual in the docs directory. You can also look at the included reports. They are text files, so you can open them in any text editor.
If you need help writing a report, you can ask for help on the LINES-L discussion list.
One way to develop your own reports is to find a report script that does something similar to what you want to do, then copying in under a different name, then modifying it until its behavior approximates the desired behavior sufficiently.
[ Top of Page ]
GEDCOM is an acronym for GEnealogical Data COMmunication. It is a specially organized text file for organizing genealogy data. This is the format that LifeLines uses to import and export your information. It is also the way that data is added or edited using a text editor.
You can download a PDF of the GEDCOM 5.5 standard from: http://www.math.clemson.edu/~rsimms/genealogy/ll/gedcom55.pdf
LifeLines allows the user to get the full benefit of the GEDCOM specification in recording and retrieving data.
See the ll-userguide in the LifeLines docs directory for an explanation of adding the first person to an empty database, and other examples.
[ Top of Page ]
[ Top of Page ]
LifeLines programmers do not recommend using the BLOB (binary data encoded as text) in GEDCOMs.
A better, more flexible choice is OBJE in the GEDCOM standard (chapter 2). The other option is to just reference the file:
1 OBJE
2 FILE images/dum/SteveDum.jpg
2 FORM JPG
2 TITL Steve Dum
2 DATE May 1999
Reasons why adding encoded binary data to a GEDCOM file is NOT recommended:
According to the GEDCOM standard you cannot uuencode the binary data. It has to be in the GEDCOM blob format. I have only seen one example of it, the stuff in the tortue test and I haven't been able to decode it.
Now to confirm the stupidity of including binary data in a GEDCOM,
the 5.5.1 GEDCOM standard (draft release) dropped blob's.
So, on this item
1. GEDCOM 5.5 defines a unique to GEDCOM encoding standard.
2. We are not aware of any programs to encode/decode the data.
3. Actually using this would inflate GEDCOMs terribly.
4. They dropped this capability in the next draft of the standard.
We shouldn't recommend using it.
The GEDCOM standard also allows you to include embedded multimedia objects (each fragment of the encoded binary may be up to 32KB in size) (see the MULTIMEDIA_LINK reference in the GEDCOM 5.5 standard). In LifeLines though, you have to encode the binary image/sound/video as a text file yourself with an external program before including it in the INDI/FAM record.
The usefulness of embedded multimedia objects in LifeLines is probably quite limited because you need to decode the object (image) when running the report to give sensible output, which would not be trivial (need temporary files etc). GEDCOM uses its own encoding scheme. It's defined in Appendix E of the GEDCOM 5.5 standard. It's very similar to mime encoding but of course uses a different character mapping. All the more reason to keep the objects separate.
The following example of what an encoded multimedia object looks like
in a GEDCOM file that comes from the GEDCOM Torture Test Files at
http://www.geditcom.com/gedcom.html :
-----
0 @I9@ INDI
...
...
0 @M1@ OBJE
1 TITL Dummy Multimedia Object
1 FORM PICT
1 BLOB
2 CONT .HM.......k.1..F.jwA.Dzzzzw............A....1.........0U.66..E.8
2 CONT .......A..k.a6.A.......A..k.........../6....G.......0../..U.....
2 CONT .w1/m........HC0..../...zzzzzzzz..5zzk..AnA..U..W6U....2rRrRrRrR
2 CONT .Dw...............k.1.......1..A...5ykE/zzzx/.g//.Hxzk6/.Tzy/.k1
2 CONT /Dw/.Tvz.E5zzUE9/kHz.Tw2/DzzzEEA.kE2zk5yzk2/zzs21.U2/Dw/.Tw/.Tzy
2 CONT /.fy/.HzzkHzzzo21Ds00.E2.UE2.U62/.k./Ds0.UE0/Do0..E8/UE2.U62.U9w
2 CONT /.Tx/.20.jg2/jo2..9u/.0U.6A.zk
1 NOTE Here are some notes on this multimedia object.
2 CONT If decoded it should be an image of a flower.
1 REFN User Reference Number
2 TYPE User Reference Type
1 RIN 1
1 CHAN
2 DATE 14 Jan 2001
3 TIME 14:10:31
[ Top of Page ]
Reports should have a privacy option that can be enabled/disabled depending on usage so that private information is not inadvertently disseminated.
GEDCOM supports a restriction tag (RESN). It allows data to be signified as confidential, locked, or private. For the purposes of LifeLines and data privacy, use the 'confidential' value for the RESN tag as explained below.
The information protected should be names, dates, events and dates. Reports should have the option of altering the name, say John Smith -> Living Smith. GEDCOM output should add a 1 RESN privacy record to the individual.
This should be done in 3 situations:
1. Any INDI, FAM, or Event records marked with a RESN tag with value 'confidential'.
2. Any INDI presumed living - i.e. born in the last 110 years with no death date present.
3. Any Family information if the Husband or Wife is assumed living.
[ Top of Page ]
[ Top of Page ]
[ Top of Page ]
Currently Unix-like, Mac, and Windows operating systems are supported. The source code is available, so it can be ported to nearly any operating system for which a C compiler is available.
There is some Operating Specific information available, see Operating System Specific Notes on http://lifelines.sourceforge.net/.
[ Top of Page ]
LifeLines is written in C.
The configure script and makefiles are generated by Autoconf and Automake.
The report interpreter uses a bison script (yacc.y).
The LifeLines reports are written in the LifeLines report language, which is a custom language specific to the LifeLines program.
[ Top of Page ]
Currently English (default), Danish, Dutch, Esperanto, German, French, Polish, Swedish, and Kinyarwanda are supported. Italian and Spanish exist in a rough form, with month names. The internationalization method uses po files. Translations are always welcome! Contact the LINES-L@LISTSERV.NODAK.EDU discussion list if you would like to add a new translation file.
The Finnish command line option is for Finnish-appropriate collation (alphabetic order).
Kinyarwanda is a Bantu language, and is spoken in Rwanda at least. wikipedia has a brief article on it at http://en.wikipedia.org/wiki/Kinyarwanda_language
[ Top of Page ]
There is a developer's mailing list at: http://sourceforge.net/mailarchive/forum.php?forum_id=5417.
You can sign up here:
http://lists.sourceforge.net/lists/listinfo/lifelines-dev
[ Top of Page ]
Yes, please. Volunteers are welcome to help with development on the main program, or with development of nice report programs, or with documentation, or with support of users.
The easiest way to get involved and is to send email to the LINES-L list.
[ Top of Page ]
[ Top of Page ]
The gettext manual describes how to use emacs to do translation of po files. there is also a standalone editor poEdit on SourceForge specifically for translating po files. From the poEdit help file: "poEdit serves as a front-end to gettext. It allows you to edit catalog files in [a] comfortable way."
See The lifelines textual domain at the Translation Project for details. NOTE: You do not have to go through this organization to do a LifeLines translation.
Here is the current pot file with all of the messages that need translation. This is a text file with over 1000 messages currently.
The basic process is to add the translation for each message or label in the appropriate place. This results in the po file.
Once complete, the po file is processed to become a binary mo file. It can then be added to the list of LifeLines translations.
[ Top of Page ]
LifeLines is an Open Source project; the source code is available for anyone through online CVS (Concurrent Version System), or you may download it using a CVS client. Please see SourceForge for details on downloading source code.
Only developers can upload changes. You can submit a proposed change to one of the developers, or you can volunteer to be a developer.
NOTE: If you just want a Report or Documentation see How do I download reports/documentation from online CVS?.
[ Top of Page ]
Go to the SourcForge CVS page for LifeLines.
Click the link labelled: Browse CVS Repository.
Under the word File in the green highlight, click the link: lifelines/.
To get to Reports, click the link: reports/.
To get to Documentation, click the link: docs/.
You will then see a page with the following headers:
File Rev. Age Author Last log entry
Under file you will see the name of the report or documentation you are looking for.
Click the desired link. The most recent version of the report/document will be first. There are two links, one for viewing the file in your browser, and the other for downloading the file.
NOTE: For using a CVS program to do this see Can I see the source code?.
[ Top of Page ]
LifeLines is distributed under the MIT License.
On Windows, the license is located in C:\LifeLines.
On Linux, the license is located in /usr/share/doc/lifelines-3.0.49/LICENSE. Along with other documentation.
It is short, so is posted here:
The MIT License
Copyright (c)
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
[ Top of Page ]
Certain kinds of problems, such as the wrong sex for a HUSB and WIFE record in a Marriage record, would cause problems later. You should get an errs.log report detailing the line number and the INDI record with the problem. Correct these problems in your GEDCOM and then try again.
If you are not getting the errs.log, check your LifeLines configuration file to make sure you are looking in the right place for the errs.log, and that the errs.log is turned on. By default the import errors log file is off. If you activate it, the default name is errs.log, but you may specify a different name in the configuration file.
Look here Does LifeLines support non-traditional families?
If you try to import a GEDCOM with non-traditional families, i.e. something other than one man (HUSB) and one woman (WIFE) and their children, the import process will issue a warning message, but it will continue and import the file assuming there where no other errors.
[ Top of Page ]
According to the GEDCOM specification, the program is supposed to have control of the INDI, FAM, SOUR, and REPO ID numbers. The user can use numbers and/or letters in the REFN to be whatever ID number the user wants. However, if there are no REFN records in your GEDCOM, you will get the prompt asking if you want to keep the existing numbers.
If you load into a NEW database, and you have sequential numbering for INDI and FAM records without gaps (i.e. I1, I2, I3, F1, F2, I4, F3) this will not be a problem. However, if one INDI or FAM record is missing, or they are not sequential, LL will renumber them where the gap begins.
[ Top of Page ]
[ Top of Page ]
[ Top of Page ]
[ Top of Page ]
LifeLines settings can be stored in the LifeLines configuration file, or can be specified when the program is started with command line switches.
The command line switches can be specified in a shell script or batch file.
Some options can also be stored in a specific database.
See 'System and User Properties' in the ll-userguide.
[ Top of Page ]
LifeLines databases are stored in a directory under the LifeLines Databases directory. The only limitation to the total number of databases is available disk space.
Multiple databases can be open simultaneously, only limited by system resources. This will vary by specifics of hardware, operating system, and size of databases.
[ Top of Page ]
LifeLines can easily support databases of over 100,000 individuals with a total size of 30 megabytes.
The limit is 9,999,999 individuals or families. The internal keys for Individuals, families, sources, notes, etc., are kept as a 8 character string, one letter and at most 7 digits. There are some assumptions built into the hash tables that definitely favor small tables. The hash is hard wired to hash on 512 elements. So operations that build large tables will degrade to long linear searches. This can be avoided by switching to rbtrees (controlled by the LifeLines configuration file).
This could easily be 150 MB in size. However, the larger the file, the longer it will take to import and export data. It is recommended that several smaller databases be used than one huge one, to simplify the import and export process.
Also keep in mind the need for space for backups and reports. Reports for the entire database could be quite large.
One LifeLine's user conducted a test in November, 2005, by importing the same GEDCOM of 250,000 individuals multiple times, to get a total of 2,500,000 individuals. Once imported, this huge database was almost as fast to look up information as one of 250,000. The GEDCOM exported from this database was 700 MB. It is estimated that this database with 9,000,000 individuals would have a GEDCOM of about 2 GB. The LifeLines database is approximately the same size as the GEDCOM. This test took several days of processing to accomplish. So while it is possible, with the current database used, it is not practical. The upper practical limit of individuals is about 250,000 depending on one's patience for loading such a GEDCOM.
[ Top of Page ]
[ Top of Page ]
Yes. Linux/Unix and Windows on the same endianness, usually the same processor family, such as Intel/AMD, will work if you copy the LifeLines database, or have it on a shared drive. You can even transfer the file to another computer with the same endianness/type of processor and it should work. Be sure to test this before relying on it for important data.
For complete portability, export your file to GEDCOM.
[ Top of Page ]
LifeLines has the following directory structure:
On Unix-like systems LifeLines is located here:
/home/username/lifelines/
On Windows it is usually:
C:\LifeLines\
The following directory structure is on both Windows and Unix-like systems:
/Archives (GEDCOM files are exported here by default.)
/Databases (Each database is a directory in this directory.)
/docs (Documentation)
/Outputs (Reports are created here by default.)
/locale (Localization files for other languages.)
/tt (Codeset information.)
On Windows the reports directory is in the same location as all the others:
/Programs (name of the reports directory)
On Unix-like systems, the reports are installed to:
/usr/local/share/lifelines
Users on Unix-like systems will either need permissions to this directory to edit reports, or their own local copy of reports.
NOTE: These directories may be renamed to suit your personal preference, and then specified in your LifeLines configuration file(s).
[ Top of Page ]
The best way is to export to GEDCOM. This is a text file with specially organized data. This is the most accessible format for your data, because you can open it in a text editor, or import it into another genealogy program.
Another option is to compress (zip, gzip, etc.) the Databases directory or an individual database in the Databases directory.
Some may want a low-tech backup of their data on paper. Print these reports on high-quality acid-free paper for long-life and prevent fading. Reports that are good for getting all information on an entire branch of your tree are:
novel.ll - This creates a narrative. If you start with your end of line (eol) ancestor, it will give all descendants. You will need to edit to avoid duplicating the individuals that are on reports in each line. This would make a good gift to family, and maybe get them inclined to share information.
famgroup.ll - Family groups sheets.
famrep.ll - Exports family group sheets. Has an option to do all families of the starting ancestor. Use your eol ancestor to get all descendants. It includes footnotes with sources. You will need to edit to avoid duplicating the individuals that are on reports in each line. These are good for sending to family and fellow researchers, to verify and fill in the blanks.
Another possible repository is with your local library, genealogy society, historical society, a surname society, etc. This insures that your hard work to prepare an accurate, verified family history is not lost to the ages when you die. Make a provision for this in your will if your family does not have anyone to take up the torch. Future researchers will thank you.
[ Top of Page ]
If you exported your data to GEDCOM, then create a new database, and import the GEDCOM.
If you compressed a database, with zip for example, you will need to unzip it to the Databases directory.
[ Top of Page ]
Yes, as long as no more than one user has the database open for writing or updating.
There is a read-only command line option that allows this.
[ Top of Page ]
[ Top of Page ]
For the current command line options, invoke LifeLines from a command prompt
Unix-like systems:
llines -\? or llines --help or llines --h or llines -h
Will show the syntax options for the LifeLines command line.
lines [-acdfiklnortuwxzCFI][database]
Windows systems:
lines
The following may change, see the ll-userguide in the LifeLines docs directory.
The full command line interface to LifeLines is:
lines [-acdfiklnortuwxzCFI][database]
The following options are supported:
-C | Specify configuration file location (e.g. -C/home/bill/lifelines/.linesrc2 ) |
-F | Finnish option (only available if so compiled) |
-I | Specify a user property (e.g. -ILLEDITOR=gvim ) |
-a | log dynamic memory operation (for debugging) |
-c | supply cache values (eg, -ci400,4000f400,4000 sets direct indi & fam caches to 400, and indirect indi & fam caches to 4000) |
-d | debug mode (signal protection disabled for convenience with breakpoints) |
-f | force open the database - use only in emergency |
-i | open database with immutable access (no protection against other access -- for use on read-only media) |
-k | always show keys (normally keys are suppressed if REFN available) |
-l | lock (-ly) or unlock (-ln) a database for use with read only media (access to a locked database is treated as immutable) |
-n | do not use traditional family rules |
-o | Specify program output directory (eg, -o/tmp/mytests) |
-r | open database with read-only access (protect against other writer access) |
-t | trace function calls in report programs (for debugging) |
-u | specify window size (eg, -u120,34 speci?es 120 columns by 34 rows) |
-w | open database with writeable access (protect against other writer or reader access) |
-x | execute a single lifelines report program directly |
-z | Use normal ASCII characters for drawing lines in user interface rather than the vt100 special characters. |
[ Top of Page ]
[ Top of Page ]
There are almost 180 reports included with the distribution. They include Ancestry and Descendent Reports, pedigree charts, family group reports, individual reports, and error checking reports. The user is also free to write reports for their own needs.
On Unix-like systems, the reports are located here:
/usr/local/share/lifelines
On Windows systems the reports are located here:
C:\LifeLines\Reports
See also LLPROGRAMS in the LifeLines Configuration file.
[ Top of Page ]
[ Top of Page ]
1.) When you import your GEDCOM, LifeLines will alert you to problems that may prevent it from importing. Once these are corrected and you are able to import your GEDCOM you will know that there are no major technical issues with your GEDCOM.
2.) Once you import your GEDCOM, run the dbverify program to check for errors.
For example, the following command will generate a text file of all problems in your database.:
Unix/Linux:
dbverify -a "/home/username/LifeLines/Databases/databasename" > dbverifyLL.txt
Windows:
dbverify -a "C:\LifeLines\Databases\databasename" > dbverifyLL.txt
dbverify --help will give a list of all the command line options.
3.) Once the problems identified by dbverify, if any, have been resolved, there are several reports in the LifeLines distribution that are very helpful for finding problems.
verify.ll will look for age issues, such as children born before parents, or dying before birth. It also reports non-patronymic names, i.e. children that do not have the same surname as the father. Verify.ll can find many other issues, please see the comments in this report for specifics.
places.ll will generate a report of all the places in your database that can be sorted. This helps you make sure all spellings are correct, and that all places include the county.
zombies.ll will generate a report of all individuals over 100 years old without a death date.
partition.ll will generate a report of the separate "partitions" or non-connected lines in your database.
nonpatronymics.ll will show which children do not have the same surname as their father.
familycheck.ll checks to make sure that all INDI records are in a FAM and that all FAM records have INDIs.
eol.ll produces a report of all the "End of Line" AKA brick wall ancestors of a given individual.
dates.ll produces a report of all dates in the database to help find dates that are wrong or have an invalid format.
burial_index.ll generates a list of all burial records for requested geographic entity, such as a state or county.
alive.ll gives a list of individuals alive in a given year, to help determine what census to check, etc.
cont.ll lists individuals with possible problems with NOTE records.
[ Top of Page ]
1. Before you do anything else, save your data by exporting the GEDCOM make copies of everything, and work with a copy. Once you have fixed the problem, it is easy to delete a few extra copies of the data, but if something causes more corruption, you do not want to destroy your only copy of the data.
2. Run dbverify to see if it can repair your data.
The following command will generate a text file of all problems in your database.:
Unix/Linux:
dbverify -a "/home/username/LifeLines/Databases/databasename" > dbverifyLL.txt
Windows:
dbverify -a "C:\LifeLines\Databases\databasename" > dbverifyLL.txt
dbverify --help will give a list of all the command line options.
3. Read in the exported GEDCOM to a new database.
4. Resolve any import issues, export data again to new GEDCOM.
5. If you have a backup see if the exported GEDCOM matches the previous one.
[ Top of Page ]
LifeLines allows bending the GEDCOM 5.5 rules that there can be only one HUSB and one WIFE. This behavior requires a command line option, except that importing a GEDCOM with non-traditional families is allowed - you just get warnings.
Start LifeLines with the -n option.
On Unix/Linux/Mac:
lines -n database
On Windows:
c:\lifelines\lines -n database
[ Top of Page ]
On Unix-like systems the configuration file is .linesrc. On these Operating Systems, the dot as the first character in a filename indicates a hidden file. This file is in the users home directory, for example, /home/username/.linesrc.
To edit this file, using vim for example, you can open a command line and type vim /home/username/.linesrc.
Unix-like systems will look for the configuration file in three places.
1) system default location
2) in home directory
3) in current directory.
All 3 are read if they exist.
On Windows, the file is called lines.cfg and is in the LifeLines directory, for example: c:\LifeLines\lines.cfg.
See: Can I use multiple configuration files for different purposes?
[ Top of Page ]
[ Top of Page ]
From the main menu choose 's'. The options presented are to view the History or a Full search. The Full Search has three options:
Full name scan, enter the full name of the person you want to find.
Name Fragment, enter one name, or part of a name.
REFN scan, enter a user-defined REFN to search.
If more than one individual matches the criteria, you will get a list from which to choose the desired individual.
[ Top of Page ]
[ Top of Page ]
Yes, use the Tandem browse mode to bring up the two individuals or families. Certain specific conditions must be met for the merge to work. Please see the ll-userguide for details.
The bottom individual or family will be the one to "go away" after the merge.
[ Top of Page ]
Merging genealogy information is a complex task involving a great deal of human interaction to be accurate and successful - eg. names and places may have slightly different spellings or dates may be slightly different. LifeLines allows you to match and merge two individual records (see: Can I merge 2 individuals/families? ), but currently does not have any built-in functionality to automatically match large numbers of records and merge two databases.
However, several options exist:
1. Cut and paste information from one GEDCOM to LifeLines one record at a time. This is the least error-prone method, and avoids creating duplicate individuals or families. It also allows the user to indicate multiple opinions on names, dates, and places.
2. Export both databases to GEDCOM and use an external matching program (such as Steve Dum's Perl script).
3. The most difficult of all, import the GEDCOM into a COPY of your LifeLines database and merge each duplicate person/family one at a time.
[ Top of Page ]
[ Top of Page ]
[ Top of Page ]
[ Top of Page ]
[ Top of Page ]
[ Top of Page ]
If the output of a LifeLines report is not sorted as you'd like, there are several, freely available programs that you can use to sort the data. For example, the sort utility is included in both Windows and Unix-like systems.
Unix-like, and Windows systems have their version of the sort utility, with very similar syntax.
Unix-like systems:
sort -f originalfilename -o sortedfilename
sort
Windows:
sort originalfilename /O sortedfilename
The above examples keep the original filename and output the sorted information to a new file.
[ Top of Page ]
If you want to use a configuration file other than the default LifeLines configuration use the -C (NOTE: UPPERCASE!) command line option and the path to the configuration file.
For example, you can have the "every day" file use the default configuration, and then have a special configuration file for alternate record templates.
A configuration file can read in other configuration files. So you can have even more complex situations.
See: Where is the Configuration File?
[ Top of Page ]
There are multiple possibilities.
If your other genealogy program exports GEDCOM with a "_UID" tag that is a string of 50 plus characters, you can use grep or sed to strip those lines out:
grep -v '^! UID' oldfile.ged >newfile.ged
or just edit "old.ged" with vi, then (after ensuring that the cursor is at line 1 of the file) type
!Ggrep -v '^1 _UID'
sed '/^1 _UID/d' source.ged > destination.ged
DOS users will probably have to use double quotes instead of single quotes.
See the Sourceforge Project at: http://gnuwin32.sourceforge.net/
This project has command line tools for Windows ported from Unix.
Another option for shrinking your GEDCOM is to convert the line endings to Unix\Linux line endings. Windows line ending have two characters and Unix like Operating Systems have one character. On Unix like Operating Systems, use this command:
dos2unix MyGEDCOM.ged
The gnuwin32 project also has a Windows version of dos2unix, and its converse unix2dos. On Windows, you will want to use an editor that can cope with the one character line endings, or your lines will not appear to break at the proper place.
The last option, is one of prevention, and is time-consuming if you are not already doing this. Make sure to minimize duplicate information. Learn to use the source and repository tags to point facts back to sources, so you can use a pointer rather than the whole source citation. Make sure you do not have sources listed in NOTE records, and that NOTE records do not repeat identical information for multiple family members.
[ Top of Page ]
[ Top of Page ]
Yes, you can distribute your database on a CDROM.
Privacy Note: You may wish to be careful distributing data about living persons, or any private data, as genealogical data often finds its way into large online repositories, becoming essentially public knowledge. Sometimes unscrupulous people find data on the Internet and misrepresent it as their own research, and may even try to sell it as such.
The recipient of the CDROM will be able to use LifeLines to view the database if the recipient uses the same type of computer as you do, or at least one whose processor has the same endianness (see Endianness NOTE below).
If the recipient copies the database off the CDROM onto a local drive, it should work fine.
The recipient will only be able to run LifeLines directly against a LifeLines database on a CDROM if one of the following is true:
1) the receipient invokes LifeLines with the -i option (immutable, which works with readonly filesystems)
2) the sender prepared the database for access on a readonly medium, using the -ly (lock) argument (this is recommended)
Two other good ways to distribute the data on a CDROM are:
a) in HTML form, probably in multiiple HTML files; after all, most recipients will have a web browser
b) in GEDCOM form--this is useful for recipients who may want to import the data into another genealogy program
It might be best to include several, or all, of these formats, in your CDROM.
In addition, some genealogy programs (including LifeLines and others) are free and freely redistributable, so you might even include some genealogy programs on the CDROM, for recipients who have none.
The GRAMPS Project has developed two CDs, a Linux Live CD and a Linux Install CD based on the Ubuntu Linux distribution. It includes popular Linux related genealogy software, including LifeLines. Please see the GRAMPS Project for more information and support issues with these two CDs.
Endianness NOTE:
Big-endian computers can share databases with each other, and inclue SPARC, Power PC (PPC), and Mac.
Little-endian computers can share databases with each other, and include Intel (x86) and AMD.
[ Top of Page ]
[ Top of Page ]
If you use the USB drive on the same Operating System, yes, or have Wine to run a Windows version on a Unix-like system.
If you just have the database, you are only limited by the endianness/processor family.
For example, if you have Windows at work and at home, you can have your entire LifeLines directory structure and database on the USB drive.
With Unix-like systems, this is probably easier to accomplish with just the database directory on USB.
[ Top of Page ]
The benefit of one database is that you can easily get a report of any one person, family, or line in the database. LifeLines has a huge capacity that is more practical for most users.
Another advantage of a big database is that it facilitates determining relationships between arbitrary people in the database (see the cousins.ll, relate.ll, and relation.ll reports).
See: What is the maximum size of a LifeLines database?
The benefit of many smaller databases, is that they can be focused and take less effort to get reports on just that line. They are also smaller and tend to be more portable.
[ Top of Page ]
You can do this with the following report programs.
Please see the index.html file for a full description of the following GEDCOM related reports that are useful for sharing information.
anc2_ged
Make a GEDCOM file of the ancestors of a set of individuals.
desc_ged
Generate GEDCOM of descendents. for specified set of individuals for specified # of generations down from the top individuals.
descged
The output of this report is a GEDCOM file of the following: all descendents of a named individual and their spouses.
extract_gedcom
This program allows the user to select a group of individuals from a database and generate a GEDCOM file for them.
fam_ged
This program extracts a GEDCOM file of all male line descendents of a specified person, with their spouses and parents.
gedlist
Generates a GEDCOM file for the male line of the input individuals.
gedlod
Generate a GEDCOM file of a person's descent from an ancestor. the GEDCOM file will contain the following: all descendents of the ancestor who are ancestors of descendent, as well as the ancestor and descendent themselves.
gedn
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.
genancc1
This program is useful for extracting data when a person requests data about someone from your database.
genancc2
The output of this report is a GEDCOM file of the following: all ancestors, all spouses and all children of all ancestors and all descendents of a person, as well as the person him/herself and his/her spouses.
[ Top of Page ]
Begin with finding how you are connected to this person. Run the report relation.ll. This will generate a report that shows each intervening person between you and that person, even if by marriage. No other genealogy software can do this.
You could then export that branch from your database and compare to the one you received.
[ Top of Page ]
This is a large topic. The quick answer is to refer to the GEDCOM standard, open a GEDCOM in a text editor to see how the data is organized, and refer to the LifeLines ll-userguide.
The details of this topic are big enough for their own FAQ on LifeLines and GEDCOM. A link to this FAQ will appear here when there is something available. This FAQ will contain samples of GEDCOM for various data entry scenarios.
If you have a scenario you would like to see in this upcoming FAQ, please send it to the LINES-L@LISTSERV.NODAK.EDU. NOTE: You must sign up to post to this list. See Where do I get support? for more information.
[ Top of Page ]
To use special characters (that is, non-ASCII characters) in your LifeLines database, you must set the codeset in the database. This tells LifeLines what these characters mean.
The LifeLines developers recommend that you set the codeset to UTF-8, because that is the form of Unicode used widely on the Internet and on the World Wide Web.
There is a brief section on this topic in the usermanual, entitled "CODESET".
There is a configuration option (NewDbProps) which will set this for all new databases which you create (refer to this property in your configuration file).
To check the codeset information in your current database, go to Utilities and then the Character set options: u > c.
Encoding issues in reports and output GEDCOM is a more complex topic. The usermanual has a somewhat cryptic discussion of this topic in the section entitled "CODESET CONVERSION".
Translations of LifeLines (e.g., into Swedish), are separate from the codeset. These are controlled by locale, and may be overriden in the configuration file: see the ll-userguide for details.
[ Top of Page ]
In addition to the main LifeLines binary, llines on Unix-like systems and lines.exe on Windows, there are (NOTE: Add .exe for the Windows filenames.):
llexec - This program is for running a LifeLines Report of the user's choice at the command line. Executing the command "llexec -h" at a command prompt gives the same option as with "lines -h" on Windows or "llines -h" on Unix-like systems. See also: What are the command line options?
dbverify - This program is used to check and repair LifeLines databases. At a command prompt use the command "dbverify -h" to get a complete help listing and example of use.
btedit - This is for programmers or advanced users to work with the LifeLines database directly. When the command "btedit -h" is given at a command console, it gives a brief usage example:
usage: btedit
In addition, all LifeLines Reports are mini-programs or scripts, but they only work with LifeLines. With the exception of JLifeLines, and the perl script, lines2perl, which converts LifeLines Reports for use with the perl module Gedcom.pm. NOTE: lines2perl has fallen behind the current LifeLines implementation so any functions which have been added to the language since the creation of lines2perl are unknown.
For Windows users, Perl can be obtained from Activestate.
The GDBI - GEDCOM DataBase Interface, uses jLifeLines to access the functionality of LifeLines Reports.
On Unix-like systems there are man pages for llines, dbverify, and btedit.
[ Top of Page ]
This is virtually unlimited, but for new users it is limited to the existing reports in the LifeLines Programs (Reports) directory.
LifeLines can export data to a variety of formats: text, HTML, XML, RTF, PS, NROFF, LaTeX, and many others.
Some operating systems, such as Windows, will not include all the utilities that most Unix-like operating systems do, that make processing intermediate files into usable/printable files.
The LifeLines Report Language is dealt with in the ll-reportmanual in the LifeLines docs directory.
[ Top of Page ]
Reports can be run in a variety of ways, within the program the p option allows you to browse the list of available reports. The r option allows the user to enter the name of the desired report to be run.
When the -x option is used, the user can specify a specific report to be run from the commandline.
There is an additional utility, llexec, that is designed solely for running reports from the command line.
If the report doesn't ask any questions:
llexec data -x report
is all it takes.
If it asks questions, either
llexec data -x report
.. answer the questions..
or if you know the answers, you can do something like
echo 35 |llexec data -x grand
or even
llexec data -x grand <
EOF
Each report in the distribution includes comments on what it is for, and how to use it. In addition, there is an index.html file in the Programs/Reports directory that has a listing of each report and a brief description. There are currently over 150 reports.
Reports are actually mini programs that are just text files with special coding that tell LifeLines how to operate on the data.
For details of working with writing or modifying reports, see the ll-reportmanual, and look at the existing reports.
[ Top of Page ]
Reports are actually mini programs that allow the user to get information out of a database in a desired format. Over 150 reports are included in the distribution.
Refer to the ll-reportmanual for details on the LifeLines Report Language.
[ Top of Page ]
One simple option, if you just modify a few reports, is to re-name them then you can upgrade without fear of overwriting them. Be sure to change the line that begins with "@progname" so that your renamed report will show with its new name on the menu when you choose from the pick list to run a new report.
A more comprehensive and flexible option is to specify more than one directory in LLPROGRAMS in the Configuration File:
%llroot%:=/home/username/ll
LLPROGRAMS:=%llroot%/Programs:/usr/local/share/lifelines
Thus, /usr/local/share/lifelines has the report scripts from the LifeLines distribution; ~/ll/Programs has those that I write (or modify); mine are searched first. That is the usual intended use of a "directory path."
The only time I update /usr/local/share/lifelines is when I install a new revision level of LifeLines.
Note for Windows users: This method works and the above Configuration File variables would look like the information below. Observe the semi-colon (;) used to separate multiple directories in the LLPROGRAMS setting. NOTE: The default installation name of the reports directory is "Programs".
%llroot%:=C:\LifeLines
LLPROGRAMS:=%llroot%\Reports;%llroot%\Programs
[ Top of Page ]
Many of the reports, such as famtree.ll, and ps-anc.ll, or ps-circle.ll export in PostScript format. These are attractive reports and suitable for quality printing.
To work with Postscript data, you will need to download the free GhostScript program, http://www.ghostscript.com/. This allows you to print and/or convert Postscript files to PDF, that can be viewed in the Adobe Reader program,
http://www.adobe.com/products/acrobat/readstep2.html.
An additional program to simplify converting Postscript reports to PDF using the Send to menu instead of the GhostScript command line is MakePDF: http://www.lexacorp.com.pg/makepdf.html.
[ Top of Page ]
NROFF is a general purpose batch mode text formatting tool that is also used to format man pages on Unix-like operating systems.
See the Sourceforge Project at: http://gnuwin32.sourceforge.net/
This project has command line tools for Windows ported from Unix. For groff this is the best option.
To convert a basic groff report from LifeLines to PostScript use this:
groff -mm -Tps ^%outputdir%test >^%outputdir%testCLIP.ps
If you have a table to generate and want PostScript output, use this:
tbl report | groff -me>report.ps
Most of the reports that output in NROFF format also have an RTF version To work with NROFF data, you will need the Perl script man2html:
http://www.oac.uci.edu/indiv/ehood/man2html.html. This will require that you install Perl: http://www.activestate.com/Products/ActivePerl/.
Another option is to install Cygwin, http://www.cygwin.com/, which has an NROFF utility.
[ Top of Page ]
LaTeX/TeX, pronounced "tek", is a text file with specialized markup language for printed documents. Some of the reports that export to LaTeX/TeX format, do not have any other options at this time. To work with TeX and LaTeX format you will need to download TeX, http://www.miktex.org/. A minimal installation is about 25 MB, a large installation is 64 MB. and a full installation is 250 MB. A NoteTab library for ease of working with MikTeX is available here:
http://texlips.hypermart.net/index.html.
There is a stand-alone LaTeX/TeX to RTF converter: Please note that any LaTeX/TeX conversion still requires some knowledge of LaTeX and editing of the file to get the desired end results.
[ Top of Page ]
To convert a Postscript file to a PDF file, issue the following command: ps2pdf filename.ps This will create a file called "filename.pdf". NOTE: If you install Ghostscript on Windows the same command will work.
[ Top of Page ]
To convert an NROFF format file to Postscript or PDF use the following options: The following processes an nroff file and sends it to a Postscript file. A second command is required to convert the resulting Postscript file to PDF. tbl famrepme.txt | groff -me > test.ps The following processes an nroff file and sends it to a PDF file. This does it in one command. tbl famrepme.txt | groff -me > test.pdf NOTE: If you install Cygwin on Windows, a similar command will work.
[ Top of Page ]
1.) Tex to DVI ALSO: 2.) DVI File to PS 3.) TeX to PDF NOTE: Similar commands should work on Windows, but LaTeX is required.
[ Top of Page ]
There are several choices. PostScript, such as in the ps*.ll reports, i.e. ps-circle. There is some pre-ready PostScript code for use in LifeLines reports, in some of the reports. (Should this be in a "stub" file for easier access?)
Here is a good basic getting started
There are versions for Unix-like, Windows, and other systems.
[ Top of Page ]
Yes, the Windows version of LifeLines can be installed on Unix-like systems with wine. Since LifeLines is a console mode program, the command to start it is not "wine C:\LifeLines\lines.exe", but "wineconsole Lines.exe Databases/databasename". A bash script to launch it would look something like this: #!/bin/bash NOTE: The Windows version of LifeLines on Linux has about the same performance as the Windows version on Windows. The Linux version is much faster than the Windows version. Using the Windows version of LifeLines on a Unix-like operating system with wine is best for supporting Windows users, to better see what they are seeing if you do not have a Windows PC.
[ Top of Page ]
* Report debugging There is a built-in report debugger, for the cases when the user is designing a report, and has made a mistake. It is not very powerful, but it does allow the user to inspect the local variables at the point where the report issued an error, to help detect, for example, when a variable has an unexpected value. (Obviously this answer could use a nice sample to go with it.) * LifeLines executable debugging LifeLines itself is written in C, and can be debugged using conventional debuggers, such as gdb (the GNU debugger) when compiled with gcc (the GNU compiler). It traps signals and should offer to dump core if a failing signal is caught. There is also a commandline argument (-d) to make it not trap signals, for the purposes of running it under a debugger, when the signal trapping gets in the way of debugging.
[ Top of Page ]
87. I use a Unix-like system, how do I convert Postscript (ps) files to PDF?
88. I use a Unix-like system, how do I convert nroff files to Postscript (ps) and/or PDF?
89. I use a Unix-like system, how do I convert TeX files to DVI or Postscript (ps) and/or PDF?
tex myfamgroup.tex
latex Book.tex (ENTER/R/ENTER) NOTE: This works best.
dvips -f myfamgroup.dvi -o myfamgroup.ps Note: This works best.
pdftex myfamgroup.tex90. Is there a way to do graphs in reports?
91. Will the Windows version of LifeLines work on Unix-like systems with wine?
cd /home/username/.wine/drive_c/lifelines/
wineconsole Lines.exe Databases/databasename92. How do I use the LifeLines debugger options?