Familylines plugin

From Gramps
Revision as of 17:20, 8 February 2009 by Simanek (talk | contribs) (Generating graphs: Added SVG generation command. Added names for each command option and markup as a description list.)
Jump to: navigation, search
Example of a graph generated using FamilyLines.py, without thumbnail images.
Example of a graph generated using FamilyLines.py, with thumbnail images.

The FamilyLines.py plugin was created to generate easy-to-follow graphs. Note that FamilyLines does not display all of the people in the database -- instead, this plugin generates smaller family trees, with many options to try and restrict the number of people included.

A typical use of this plugin is to generate simplified graphs printed on large plotters.

Download and installation

The plugin was created by Stéphane Charette and tested with Gramps version 2.2.6-1 and 2.2.8-0. On Ubuntu 6.10 and 7.04, the plugin is installed by copying the file FamilyLines.py (download FamilyLines.py) to /usr/share/gramps/plugins/.

Using FamilyLines.py

The plugin installs itself in the same location as the Relationship Graph plugin: click on Reports, Code Generators, Family Lines Graph.

This plugin makes no attempt to write to the Gramps database. It only reads from the database. (Since this is not an official Gramps plugin, you should still ensure you have the necessary up-to-date backups!)

There are 5 tabs used to configure how the plugin works.

GraphViz Options

Familylines graphviz.png

This plugin uses GraphViz. GraphViz takes the .dot files and creates the final files, such as .gif, .png, .pdf, .ps, etc.

This first tab allows several GraphViz options to be set:

  • Width: the width, in inches, of the final image. Set to a large number if generating .png or .gif files.
  • Height: the height, in inches, of the final image. Set to a large number if generating .png or .gif files.
  • DPI: dots-per-inch. Typically between 75 and 120 if generating .png or .gif files, but 300 or 600 if generating files to be printed.
  • Row spacing: the whitespace to leave, in inches, between rows.
  • Columns spacing: the whitespace to leave, in inches, between columns
  • Graph direction: whether the tree grows from left-to-right, or right-to-left.
  • Ratio: GraphViz uses this to determine how to position items. Only trial-and-error will help you determine the best option to use. (When in doubt, compress tends to work well.)


People of Interest

Familylines people.png

The FamilyLines.py plugin works by starting with a list of "people of interest". This initial list of people is then used to find both ancestors and descendants.

  • People of interest: click on "+" and "-" to add/remove people of interest. When in doubt, try adding your grandparents as a starting place.
  • Follow parents to determine family lines: when selected, this causes FamilyLines.py to follow the parents to determine the full list of people of interest. You most likely want this selected.
  • Follow children to determine family lines: when selected, this causes FamilyLines.py to follow the children of the people of interest.
  • Try to remove extra people and families: when selected, this option causes FamilyLines.py to aggressively attempt to remove extra ancestors and families from the family tree.


Family Colours

Familylines family.png

Select the colour to use for people with a specific surname. Click on "+" or "-" to add a surname. Double-click on a surname to edit the colour.

Individuals

Familylines individuals.png
  • Males, Females, Unknown: the colour to use for people whose surname doesn't match any of the names on the "Family Colours" tab.
  • Families: the colour to use for families (weddings).
  • Limit the number of parents: if selected, then the number of ancestors will be limited by the amount shown. This can only be selected if "Follow parents" has also been selected on the "People of Interest" tab.
  • Limit the number of children: if selected, then the number of children will be limited by the amount shown. This can only be selected if "Follow children" has also been selected on the "People of Interest" tab.


Options

Familylines options.png
  • Include dates: date of birth, date of death, and marriage dates will be included in the graph when this is selected.
  • Include places: place of birth, place of death, and place of marriage will be included in the graph when this is selected.
  • Include the number of children: marriage text will include the total number of children when this is selected.
  • Include researcher and date: a label will be placed at the bottom of the graph when this is selected.
  • Include private records: people and events marked as private will be included in the graph when this is selected.


Generating graphs

Once FamilyLines.py produces the .dot output file (defaults to ./familylines.dot), the GraphViz package will be necessary to create the final output file. If GraphViz isn't already installed, you can download it from http://www.graphviz.org/.

Some common examples of commands used to generate graphs from the familylines.dot file are:

GIF
dot -v -Tgif -ofamilylines.gif familylines.dot
PNG
dot -v -Tpng -ofamilylines.png familylines.dot
PCL
dot -v -Tpcl -ofamilylines.pcl familylines.dot
PostScript
dot -v -Tps -ofamilylines.ps familylines.dot
SVG
dot -v -Tsvg -ofamilylines.svg familylines.dot